AWS Shield
- 분산 서비스 거부 공격인 DDoS 공격으로부터 스스로를 보호하려면 AWS 실드를 사용해야 함
- AWS 실드에는 두 가지 종류가 존재
- AWS Shield Standard
모든 AWS 고객에 적용되는 무료 서비스이며 SYN/UDP Floods와 반사 공격, 3계층/4계층 공격으로부터 보호 - AWS Shield Advanced
DDoS 공격에 대한 완화 서비스를 제공하며 비용은 조직당 매달 3000달러
더 정교한 공격을 보호해주고 EC2, ELB, CloudFront, Global Accelerator, Route 53 서비스를 대상으로 사용
또한 DDoS 대응 팀인 DRT(DDoS response team)에 항상 액세스 가능
DDoS 공격 때문에 로드 밸런서 등의 그룹이 크게 확장됨에 따라 더 많은 비용이 발생한 경우 비용을 면제받을 수 있음
AWS WAF – Web Application Firewall
- 일반적인 웹 취약적 공격으로부터 애플리케이션을 보호하는 방화벽으로 7계층에 위치
- 7계층(Layer 7)에는 HTTP가 있고 4계층(Layer 4)는 TCP를 위한 계층으로
Layer 7이 더 높은 수준이며 요청이 구조화되는 방법에 관한 정보를 더 많이 가지고 있음
반면, Layer 4는 전송 메커니즘의 프로토콜이라고 할 수 있음 - WAF는 애플리케이션 로드 밸런서(HTTP 수준 로드 밸런서), API Gateway, CloudFront 세 군데에 배포될 수 있음
- WAF를 사용하려면 웹 ACL(Web Access Control List)을 정의해야 하며 웹 ACL에는 여러 사항에 관련된 규칙이 존재
- 예) HTTP 헤더, HTTP 본문, URL 문자열 등
- 규칙을 만들어서 IP 주소가 애플리케이션 로드 밸런서에 배포된 웹사이트로 액세스하는 것을 막을 수 있음
- HTTP 수준의 일반 공격에서 보호받을 수 있으므로 SQL 주입 및 Cross-Site Scripting(XSS)를 막을 수 있음
- 쿼리 크기에 대한 제약을 둘 수 있어 쿼리 크기가 5MB를 넘지 않기를 바랄 경우
크기 제약 ACL를 사용해 잘못된 형식이나 나쁜 쿼리 때문에 발생하는 웹 사이트 부하를 줄일 수 있음 - 지리적 일치(geo-match)를 통해 특정 국가 API Gateway 등의 액세스를 막을 수 있어
웹 ACL을 연결하거나 웹 사이트에 원치 않는 국가를 차단하는 방법을 사용 - DDoS로부터 보호해주는 속도 기반 규칙을 사용해 각 요청을 개별이 아닌 벌크로 인식하고
IP당 이벤트 발생 횟수를 세어서 하나의 IP가 초당 5개 이상의 요청을 보낼 수 없게 만들며
그렇지 않을 경우 인프라가 공격당하는 것으로 생각하도록 함
속도 기반 규칙을 사용하면 WAF 내에서 직접 DDoS 보호를 돕기 때문에 WAF가 HTTP 방어에 도움이 됨
- 예) HTTP 헤더, HTTP 본문, URL 문자열 등
AWS Firewall Manager
- Firewall Manager는 AWS 조직 내 모든 WAF 규칙을 관리
- 공통된 보안 규칙 세트를 정의하고 WAF 규칙도 똑같이 ALB, API Gateway, CloudFront에 적용
- 실드 어드밴스드는 ALB, CLB, Elastic IP, CloudFront에 적용되고 VPC의 EC2 및 ENI 리소스를 위한 보안 그룹 등
이러한 모든 것들을 조직 내부에서 중앙 집중식으로 관리할 수 있음
Sample Reference Architecture for DDoS Protection
- DDoS 보호 및 웹 취약점 보호 예시 (공격 및 DDoS에서 사용자를 보호하는 아키텍처 예시)
- 사용자가 Route 53을 통해 DNS 서비스를 사용하며 실드로 보호되며
실드로 보호되는 CloudFront 배포로 이동
이 때 WAF를 설치하면 CloudFront에 도달하거나 엣지에서 거부되는 요청의 유형을 제어할 수 있음
이를 전부 통과한 후에는 로드 밸런서로 향하며 로드 밸런서 역시 실드로 보호됨
마지막으로 오토 스케일링 그룹에서 공격을 겪으면 여기로 실드가 확장됨
<WAF 및 실드 실습>
- AWS WAF 생성
Create web ACL을 누른 후 이름은 MyFirstWebACL로 설정하면 자동적으로 CloudWatch 지표가 추가됨
연결될 리소스 유형을 선택해야 하며 리전 리소스 보호 옵션에는 애플리케이션 로드 밸런서와 API Gateway가 있고
혹은 CloudFront 배포를 보호할 수 있음
다음으로는 규칙을 추가하여 무엇에 대해 보호를 받을 것인지를 정하게 됨
관리형 규칙 그룹을 추가하거나 자체적 규칙 및 규칙 그룹을 추가할 수 있음
관리형 규칙 그룹으로는 관리자 보호 그룹과 Amazon IP 목록과 핵심 규칙 세트 등이 있음
이들에 대해서는 각각에 대한 설명과 아주 많은 옵션이 존재
이후에는 규칙과 연결된 CloudWatch 지표를 가져오게 됨
이후 생성하게 되면 web ACL이 만들어지고 완전 접근성을 가지며 CloudFront 배포와 연결됨
IP 세트가 있어서 IP에 대해 사용자를 보호할 수 있고 정규 패턴 세트, 규칙 그룹과 마켓플레이스까지 구성되어 있음
- AWS Shield 콘솔
실드는 DDoS로부터 사용자를 보호하며 실드 스탠다드와 실드 어드밴스드가 있음
실드 스탠다는 일반적인 DDoSD 완화 서비스를 제공하여 SYN Flood와 UDP 반사 공격에 대응
실드 어드밴스드는 더 고급 옵션으로 Route 53, CloudFront, ELB의 비용을 보호받을 수 있음
- AWS Firewall Manager
조직 내 방화벽 규칙을 관리하며 각 계정의 모든 사항을 직접 관리할 수 있어 편리한 서비스
'Cloud > AWS' 카테고리의 다른 글
[SAA] 인스펙터 (0) | 2022.04.22 |
---|---|
[SAA] GuardDuty (0) | 2022.04.22 |
[SAA] CloudHSM (0) | 2022.04.22 |
[SAA] AWS Secrets Manager 개요 (0) | 2022.04.22 |
[SAA] SSM 매개변수 저장소 개요 (0) | 2022.04.22 |