본문 바로가기

4-2. 2024-1 심화 스터디/클라우드 보안 취약점

AWS 클라우드 서비스 인프라 구축 이해와 해킹,보안-4

 
송샘물 2024. 4. 5. 22:33 

1. AWS 클라우드 워드프레스 서비스 만들기, 어떻게 구축할 것인가?

- 데이터베이스->private 서버 쪽에 구성할 예정->public 서버에 있는 

워드프레스와 연결을 할 것이다.  

- 사용자는 베스틴 서버를 이용하여 워드프레스에 접근하게 된다. 

 

-데이터 서비스는 private 서비스 안에 구성

(private에 바로 접속 하지 않고 사용자는 public subnet에 먼저 접속해 데이터베이스를 조절함) 이 데이터베이스와 워드 프레스 연결!!

2. AWS 클라우드 워드프레스 서비스 만들기, RDS 데이터베이스 생성

[환경 만들기]

인스턴스 하나 만들기 (ubuntu환경으로) → key(public_web) 키 페어 생성

→ 네트워크 setting 편집 → 보안그룹 생성 → 인스턴스 시작

 

- ubuntu 접속 → ls 후 인스턴스 확인→ sudo chmod 400 [인스턴스 이름] 으로 권한 부여

 

- 리눅스에 아까 생성한 키를 복사해준다. 

- sudo chmod 400 Public_Web.pem 입력

 

 

 

RDS 생성

- 파라미터 그룹 세부 정보 -> mysql 사용 -> mysql-db-PG 이름으로 파라미터 그룹을 하나 생성한다.

- 옵션그룹(정보들을 관리하기 위함. 로그 관리 등 ) -> mysql-db-OG 이름으로 옵션 그룹을 생성한다.

- 서브넷 생성 (DB 서브넷 그룹 생성)

- 데시보드쪽으로 가서 데이터베이스를 생성

 

 

 

 

칼리 리눅스를 통해 Public 서브넷 접속 

- sudo apt install mysql-client

 

private로 직접 접속 안되기 때문에 public으로 접속.

→ 대시보드에서 데이터베이스 생성

생성할 때!!!!

연결 부분 Default VPC → CLOUD_infra_VPC로 바꾸기

→ 서브넷 그룹도 연결된 인스턴스로 설정

 

→ vpc 보안그룹 생성

보안그룹 생성할때 3306 포트로 자동 설정됨.

→ 가용 영역 아까 구성한대로 설정

생성한 데이터베이스

- 엔드포인트(내부도메인 역할)

 

 

 

-create database wordpress; -> 를 통해서 database를 하나 생성해준다. 

 

 

3. AWS 클라우드 워드프레스 서비스 만들기, Public 대역에 워드프레스 구축하기 

 

1. 웹서버 apache

- sudo apt install apache2

- sudo service apache2 start

- 서버 정상 작동 

 

 

 

 

2. php 환경 설치, 3. 파일 생성 -> php, html

- sudo apt install php libapache2-mod-php php-mysql 

- sudo vim /var/www/html/info.php(apache2 의 메인페이지)

- ?php phpinfo(); ?> -> php가 제대로 있나 확인하는 페이지 -> 저장 후 종료 

 

 

 

 

 

4. wordpress 설치 파일 다운로드 및 해제 , 5. wordpress 와 db와 연결해서 설치 페이지 접근 -> 설치 

- cd /var/www/html

- sudo wget -c http://wordpress.org/latest.tar.gz (워드프레스를 메인페이지에다 다운로드)

- sudo tar -xzvf latest.tar.gz (압축해제) -> ls 입력하면 워드프레스가 있는 것을 확인할 수 있다. 

- sudo chown -R www-data:www-data /var/www/htm/wordpress

- sudo chmod -R 755 /var/www/html/wordpress/ (권한을 바꿔주어야 후에 운영할 때 문제가 발생하지 않는다)

- cd wordpress

- sudo cp wp-config-sample.php wp-config.php

- sudo vim wp-config.php

- wordpress 데이터베이스 이름 변경, 사용자 이름 admin으로 변경, 패스워드 wordpress로 변경, local host에 엔드포인트 입력

워드프레스 접근

 

 

 

 

4. AWS 워드프레스 서비스 만들기, ALB 반영 및 웹 서비스 완성하기

 

 

  1. public 01에 있는 wordpress를 AMI로 생

→ 이미지 생성하기

  1. publuc02에 새로운 wordpress 웹 서비스 구

→ wordpress_02 인스턴스 생성(wordpress ami 생성)

(대제목 2번 부분과 동일)

→ 인스턴스 01, 02 실행중이면 정상

  1. ELB를 생성하여 01,02를 연결

로드밸런싱 (대상그룹) 클릭 → create target group (앞 강의와 동일)

→ wordpress 01,02 둘다 타겟으로 클릭

로드밸런싱 생성 → 대상그룹에서 확인 → 생성되면 DNS 정보 확인후 주소창에 입력

sudo ssh -i “Public_web.pen” [wordpress_01번 주소]

→ 입력

→입력(vim 안에)

 

 

 

 

→ 터미널 새로 열기 (wordpress_02번)

 

→ 입력

→입력(vim 안에) 문구 page 02 로 바꾸기

→ but 문제*****

해당 사진처럼 입력하면 로딩되면서 아무 창도 뜨지 않음 → 로드 밸런싱 필요

→ RDS 도메인 이용해 워드프레스 접속

 

 

use wordpress; 입력

 

 

→ 입력 ( 현재 로드밸런싱 되어있는 것을 바꾸는 코드

→ 후에 접근하면 잘 나옴!!!! → 로드밸런싱 잘 되고 있음!!!!