일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- terraform기초
- terraform with aws
- aws따라하기
- 리눅스
- 리눅스기초
- 주피터노트북 설치
- linux명령어
- AWS배포자동화
- aws
- Cissp sdlc
- AWS CodeDeploy
- 리눅스기초명령어
- AWS 공격테스트
- AWS실습
- aws기본
- aws terraform
- Linux
- terraform기본
- 리눅스명령어
- 직무분리
- AWS구축
- 최소권한
- GDPR
- cissp
- terraform따라하기
- 쉘스크립트
- aws기초
- AWS CI/CD
- blue/green배포
- opt/anaconda3/bin/jupyter_mac.command
ysuekkom의 IT study note
[AWS 실습] 공격 테스트 대응 WAF 설정 및 로깅 확인하기I -실습 환경 구축 본문
개인 공부 기록용
aws waf 공격 및 방어 실습 따라하기
(sessin.github.io)
CloudFormation로 생성한 DVWA 웹 서버를 공격 대상으로하는 모의 웹 공격 실습을 따라해보자!
-웹 어플리케이션: DVWA(웹 취약점에 대한 공격 및 방어 기술 교육에 사용되는 오픈소스)
-공격 방식: SQL injection Attack, XSS Attack
-특정 국가 요청 차단 테스트를 위한 Chrome extension 설치 필요
I. 실습 환경 구축
AWS 콘솔로 접속하여, 리전을 서울로 선택, EC2 키페어를 생성한다.
>EC2 대시보드 > 키 페어> 키 페어 생성
키페어명 waf-lab-seoul
키페어 유형 RSA
프라이빗 키 파일 형식 .pem
다음으로, CloudFormation 템플릿을 실행하여, 빠른 스택 생성하기를 통해 스택 생성하기.
>CloudFormation>스택>빠른 스택 생성
스택이름: MyDVWA
Instanace Type: t2.micro
KeyName: waf-lab-seoul
SSHLocation: 0.0.0.0/0
IAM 리소스 생성 허용 체크 후(I acknoledge that AWS CloudFormation might create IAM resources.), 스택 생성하기
생성완료 시, 아래와 같은 환경이 구축 됨
생성 완료 후, 정상적으로 DVWA 웹페이지에 접속하는 지 확인 가능
>EC2 메뉴하단 로드밸런싱 > DNS 이름 확인 후 웹페이지 접속 시도
접속 가능, id=admin, password= password 후 로그인
DVWA 서버의 취약점을 공격하는 테스트로, 원활한 실습 진행을 위해 DVWA의 Security Level 설정을 Low로 변경하기.
Chrome Extention설치를 위해, 크롬 웹 스토어에서 Extensions 등을 검색, Browsec VPN 설치하기
국가별 공인 IP 기준으로 트래픽 허용/차단하는 AWS 기능을 테스트하기 위함(특정 국가 IP로 변경된 트래픽을 유발하기 위해 설치)
공격을 위한 환경을 셋팅해두었으니, AWS에서 웹 공격을 방어하기 위한 WAF를 구성해보자.
>AWS WAF>Web ACLs>Create web ACL
Step1. Describe web ACL and associate it to AWS resources
Name: MyWAF
Resource type: Regional resources(Application Load Balancer and API Gateway)
Region: Asia Pacific(Seoul)
>Add AWS resources
Application Load Balancer 선택 후, 항목에서 MyDVW-Appli~ 선택
Step2. Add rules and groups
rule설정은 하단의 Default Action=Allow만 확인하고 다음 스텝 이동
Step3. Set rule priority
설정된 룰이 없으므로, 다음으로 이동
Step4. Configure Metrics
역시 다음으로 이동
Step5. Review and create web ACL
지금까지 설정한 내용을 확인 한 뒤, Create Web ACL
생성 성공 확인
마지막으로 AWS WAF Web ACL 로깅을 활성화 하자.
AWS WAF는 Amazon Kinesis Firehose를 사용하여 로그를 저장하고 이를 S3, Redshift 또는 Elastic Search 등으로 전달하여 분석할 수 있음.
(Web ACL에서 로깅하려면 Kinesis Data Firehose를 생성해야하나, 이미 CloudFormation스택을 통해 Kinesis Data Firehose와 최종 대상인 S3 버킷을 생성한 상태)
Kinesis Firehose 생성 상태 확인하기
>Kinesis 콘솔
>>참고: AWS WAF에서 키네시스 로그를 스트리밍 하기 위해서는 반드시 aws-waf-logs로 시작해야 함**
WAF 로깅 활성화 하기
>AWS W AF > Web ACLs > MyWAF > Logging and metrics
Logging Disabled --> Enable Logging 선택
Redacted fields에서는 기록되지 않아도 되는 필드를 선택하면 됨. 필요없다고 생각되는 쿼리스트링을 클릭.
로깅 Enable된 것 확인
다음 실습에서 진행할 실제 SQL injection 및 차단 테스트에서의 로그들은 Kinesis Firehose를 통해 S3 버킷에 쌓이게 된다.
공격 테스트 수행 후, 마지막에 로깅 확인 할 예정
이것으로 실습환경 구축을 마무리!
'Cloud Service > AWS' 카테고리의 다른 글
[AWS 실습] 공격 테스트 대응 WAF 설정 및 로깅 확인하기 V -AWS 자원 삭제하기 (0) | 2022.10.31 |
---|---|
[AWS 실습] 공격 테스트 대응 WAF 설정 및 로깅 확인하기 IV - 특정국가 유발 트래픽 차단(custom rule 적용) (0) | 2022.10.31 |
[AWS 실습] 공격 테스트 대응 WAF 설정 및 로깅 확인하기III -WAF 설정, 공격 차단 (0) | 2022.10.30 |
[AWS 실습] 공격 테스트 대응 WAF 설정 및 로깅 확인하기II -모의 웹 공격(SQL Injection, XSS Attack) (0) | 2022.10.30 |
[AWS] EC2 인스턴스 연결 및 도커 생성, 시작하기 워드프레스 이미지 생성하기 (0) | 2022.10.17 |