CloudFormation 템플릿을 실행하기 위해 링크를 클릭
스택 생성 후 기다리면 CREATE_COMPLETE 상태가 됨
스택 이름, 파라미터, KeyName, SSHLocation 등 기본값으로 사용
2. DVWA 확인
DVWA 웹 페이지 접속 확인
DVWA 스택이 정상적으로 생성되었다면 템플릿을 통하여 생성된 DVWA 웹페이지에 정상적으로 접속이 되어야 한다.
EC2의 ALB(로드 밸런서)가 생성됨
ALB 의 DNS 이름을 이용하여 접속한다.
“ID = admin”, “Password = password” 를 입력하여 DVWA 에 정상적으로 로그인이 되는 것을 확인한다.
DVWA 환경 설정
생성된 DVWA 서버는 기본적으로 주요 취약점을 사용할 수 없는 환경으로 설정이 되어 있기 때문에 DVWA 의 Security Level 설정을 변경해야 한다.
DVWA Security 메뉴에서 Low로 변경한다.
3. Chrome Extention 설치
Browsec VPN 설치
AWS WAF 에서는 국가별 공인 IP 를 기준으로 트래픽을 허용/차단 하는 기능을 제공하고 있다.
랩 과정에서 지정된 국가를 차단하는 환경을 가상으로 구성하기 위해 Browsec VPN을 설치한다.
Browsec VPN Exntension으로 브라우저의 출발지 국가 정보를 변경하여 AWS WAF 의 국가별 차단 기능을 점검할 수 있다.
User-Agent Switcher 설치
AWS WAF 에서는 웹 요청의 user-agent 헤더를 기준으로 트래픽을 허용/차단 하는 기능을 제공하고 있다.
랩 과정에서 특정 user-agent 값을 차단하는 환경을 가상으로 구성하기위하여 User-Agent Switcher를 설치한다.
User-Agent Switcher Exntension으로 브라우저의 요청 user-agent 헤더를 변경하여 AWS WAF 의 헤더 필터 기능을 점검할 수 있다.
4. AWS WAF Web ACL 구성
웹 공격을 방어하기 위한 AWS WAF를 구성
AWS WAF를 구성하는 방법은 다양하지만 본 실습에서는 Web ACL을 먼저 생성한 후 각 공격 유형별로 Rule을 생성하여 Web ACL에 추가한다.
AWS WAF 메뉴에서 Web ACL 을 선택한 후 “Create Web ACL” 버튼을 클릭
Region이 Asia Pacific(Seoul)인지 확인하고 Add AWS Resources 버튼 클릭
ALB 를 선택한 후 Add 버튼을 클릭
ALB가 정상적으로 추가된 것을 확인
Next 버튼 클릭
Default Action이 Allow인지 확인
Next 버튼 클릭
설정된 Rule 없으므로 Next 버튼 클릭
Next 버튼 클릭
지금까지 설정한 내용이 모두 맞는지 확인한 후 Create Web ACL 버튼 클릭
새로운 Web ACL 이 생성됨
5. AWS WAF 로깅 활성화
AWS WAF는 Amazon Kinesis Firehose를 사용하여 로그를 저장한다.
로깅을 활성화하여 로깅 내역을 확인한다.
*Amazon Kinesis Data Firehose는 Amazon Data Firehose로 명칭이 변경되었다.
‘aws-waf-log-‘로 시작하는 Firehose 스트림이 생성되어있는 것을 확인한다.
WebACL “MyWAF” 에서 Logging and Metrics 탭
Logging이 Disable 되어있는 것을 확인하고 “Enable”을 클릭
Amazon Data Firehose Stream을 선택하고 CloudFormation으로 자동생성된 “aws-waf-logs-test”를 선택
Query string을 선택하면 로그에 Query string값이 기록되지 않는다.
Logging이 Enable된 것을 확인할 수 있다.
⇒ 이러한 설정으로 다음 실습에서 진행할 공격 테스트 및 차단 테스트는 모두 firehose를 타고 S3 버킷에 쌓이게 된다.