AWS WAF를 사용하여 DDoS 공격을 완화하려면 어떻게 해야 합니까?
AWS WAF 웹 액세스 제어 목록(웹 ACL)을 사용하여 애플리케이션 계층에서 분산 서비스 거부(DDoS) 공격을 완화하려고 합니다.
간략한 설명
AWS WAF를 애플리케이션 계층 DDoS 공격에 대한 기본 완화 수단으로 사용하려면 다음 작업을 수행하십시오.
- 속도 기반 규칙을 사용합니다.
- AWS WAF 로그를 쿼리하여 무단 활동에 대한 특정 정보를 수집합니다.
- 비즈니스에 예상되지 않은 국가의 잘못된 요청을 차단하는 지리적 일치 규칙을 생성합니다.
- 잘못된 요청을 차단하는 IP 세트 일치 규칙을 생성합니다.
- 잘못된 요청을 차단하는 문자열 일치 규칙을 생성합니다.
- 잘못된 요청을 차단하는 정규식 일치 규칙을 생성합니다.
- 봇 컨트롤을 활성화하고 대상별 보호 수준을 사용합니다.
- Amazon IP 평판 목록 관리형 규칙 그룹을 사용합니다.
인프라 계층 공격의 경우 Amazon CloudFront 및 Elastic Load Balancing(ELB)과 같은 AWS 서비스를 사용하여 자동 DDoS 보호를 제공합니다. 자세한 내용은 DDoS 복원력에 대한 AWS 모범 사례를 참조하십시오. 또한 AWS Shield Advanced 자동 애플리케이션 계층을 사용하여 정교한 공격(계층 3~7)을 완화할 수 있습니다. 자세한 내용은 Shield Advanced를 사용하여 애플리케이션 계층 DDoS 완화 자동화를 참조하십시오.
해결 방법
속도 기반 규칙 사용
포괄적인 속도 기반 규칙 생성
포괄적인 속도 기반 규칙을 사용하여 IP 주소가 웹 애플리케이션에 보낼 수 있는 요청 수에 대한 임계값을 설정합니다.
다음 단계를 완료하십시오.
- AWS WAF 콘솔을 엽니다.
- 탐색 창에서 AWS WAF를 선택한 다음, Web ACL을 선택합니다.
- 리전에서 웹 ACL을 생성한 AWS 리전을 선택합니다.
참고: 웹 ACL이 Amazon CloudFront용으로 설정되어 있는 경우 글로벌을 선택합니다. - 웹 ACL을 선택합니다.
- 규칙에서 규칙 추가를 선택하고, Add my own rules and rule groups(내 규칙 및 규칙 그룹 추가)를 선택합니다.
- 규칙을 설정하려면 다음 값을 구성합니다.
규칙 유형에서 규칙 작성기를 선택합니다.
이름에 규칙 이름을 입력합니다.
**Type(유형)**에서 **Rate-based rule(속도 기반 규칙)**을 선택합니다.
**Rate limit(속도 제한)**에 100~20,000,000 사이의 숫자를 입력합니다.
참고: 어떤 속도 제한을 설정해야 할지 확실하지 않으면 규칙 작업을 사용하여 요청 패턴을 계산하고 모니터링하십시오. 그런 다음, 기준에 따라 속도 제한을 설정합니다.
Evaluation window(평가 기간)에 1, 2, 5 또는 10분을 입력합니다.
IP address to use for rate limiting(속도 제한에 사용할 IP 주소)에서 소스 IP 주소 또는 IP address in header(헤더의 IP 주소)를 선택합니다.
규칙 작업에서 차단을 선택합니다.
참고: 요청 속도 변경을 제출한 후 AWS WAF가 규칙 작업을 적용하거나 제거하는 데 지연이 발생할 수 있습니다.
Scope of inspection(검사 범위)에서 Consider all requests(모든 요청 고려)를 선택합니다. - 규칙 추가를 선택합니다.
- 저장을 선택합니다.
사용자 지정 키(URI 경로) 속도 기반 규칙 생성
다음 단계를 완료하십시오.
- AWS WAF 콘솔을 엽니다.
- 탐색 창에서 AWS WAF를 선택한 다음, Web ACL을 선택합니다.
- 리전에서 웹 ACL을 생성한 리전을 선택합니다.
참고: 웹 ACL이 CloudFront용으로 설정된 경우 글로벌을 선택합니다. - 웹 ACL을 선택합니다.
- 규칙에서 규칙 추가를 선택하고, Add my own rules and rule groups(내 규칙 및 규칙 그룹 추가)를 선택합니다.
- 규칙을 설정하려면 다음 값을 구성합니다.
규칙 유형에서 규칙 작성기를 선택합니다.
이름에 규칙 이름을 입력합니다.
**Type(유형)**에서 **Rate-based rule(속도 기반 규칙)**을 선택합니다.
**Rate limit(속도 제한)**에 100~20,000,000 사이의 숫자를 입력합니다.
참고: 어떤 속도 제한을 설정해야 할지 확실하지 않으면 규칙 작업을 사용하여 요청 패턴을 계산하고 모니터링하십시오. 그런 다음, 기준에 따라 속도 제한을 설정합니다.
Request Aggregation(요청 집계)에서 사용자 지정 키를 선택합니다.
Request aggregation keys(요청 집계 키)에서 URI 경로를 선택합니다.
텍스트 변환의 경우 없음을 선택합니다.
Criteria to count request towards rate limit(요청을 속도 제한에 포함하는 기준)에서 Consider all requests(모든 요청 고려)를 선택합니다.
규칙 작업에서 차단을 선택합니다. - 규칙 추가를 선택합니다.
- 규칙 우선 순위 설정에서 규칙을 선택하고 우선 순위를 업데이트합니다. 자세한 내용은 웹 ACL에서 규칙 우선 순위 설정을 참조하십시오.
- 저장을 선택합니다.
자세한 내용은 가장 중요한 세 가지 AWS WAF 속도 기반 규칙을 참조하십시오.
AWS WAF 로그를 쿼리하여 무단 활동에 대한 특정 정보 수집
AWS WAF 로깅을 활성화합니다. 그런 다음, AWS WAF 로그를 쿼리하여 DDoS 시나리오를 조사합니다.
다음 AWS 서비스를 사용하여 AWS WAF 로그를 쿼리할 수 있습니다.
Amazon Athena 로그 파서 또는 AWS Lambda 로그 파서 사용
AWS WAF에는 속도 기반 규칙의 최소 허용 속도 제한이 있습니다. 볼륨이 적어 속도 기반 규칙을 사용할 수 없거나 사용자 지정 가능한 차단 기간이 필요한 경우 Athena 또는 Lambda의 로그 파서를 사용하십시오. 두 서비스 모두 AWS WAF의 보안 자동화에서 사용할 수 있습니다.
비즈니스에 예상되지 않은 국가의 잘못된 요청을 차단하는 지리적 일치 규칙 설명 생성
다음 단계를 완료하십시오.
- AWS WAF 콘솔을 엽니다.
- 탐색 창에서 AWS WAF를 선택한 다음, Web ACL을 선택합니다.
- 리전에서 웹 ACL을 생성한 리전을 선택합니다.
참고: 웹 ACL이 CloudFront용으로 설정된 경우 글로벌을 선택합니다. - 웹 ACL을 선택합니다.
- 규칙에서 규칙 추가를 선택하고, Add my own rules and rule groups(내 규칙 및 규칙 그룹 추가)를 선택합니다.
- 이름에 규칙 이름을 입력한 다음, 정규 규칙을 선택합니다.
- Request options(요청 옵션)에서 originates from a country in(다음 국가에서 시작)을 선택한 다음, 차단하려는 국가 코드를 선택합니다.
- 규칙 작업에서 차단을 선택합니다.
- 규칙 추가를 선택합니다.
자세한 내용은 지리적 일치 규칙 설명을 참조하십시오.
특정 IP 주소의 잘못된 요청을 차단하는 IP 세트 일치 규칙 생성
다음 단계를 완료하십시오.
- IP 세트를 생성한 다음, 차단하려는 IP 주소를 추가합니다.
- AWS WAF 콘솔을 엽니다.
- 탐색 창에서 AWS WAF를 선택한 다음, Web ACL을 선택합니다.
- 리전에서 웹 ACL을 생성한 리전을 선택합니다.
참고: 웹 ACL이 CloudFront용으로 설정된 경우 글로벌을 선택합니다. - 웹 ACL을 선택합니다.
- 규칙에서 규칙 추가를 선택하고, Add my own rules and rule groups(내 규칙 및 규칙 그룹 추가)를 선택합니다.
- 이름에 규칙 이름을 입력한 다음, 정규 규칙을 선택합니다.
- Create an IP match rule(IP 일치 규칙 생성)을 선택합니다.
- Request options(요청 옵션)에서 originates from an IP address in(다음 IP 주소에서 시작)을 선택한 다음, IP 세트를 선택합니다.
- 규칙 작업에서 차단을 선택합니다.
- 규칙 추가를 선택합니다.
자세한 내용은 IP 세트 일치 규칙 설명을 참조하십시오.
잘못된 요청을 차단하는 문자열 일치 규칙 설명 생성
다음 단계를 완료하십시오.
- AWS WAF 콘솔을 엽니다.
- 탐색 창에서 AWS WAF를 선택한 다음, Web ACL을 선택합니다.
- 리전에서 웹 ACL을 생성한 리전을 선택합니다.
참고: 웹 ACL이 CloudFront용으로 설정된 경우 글로벌을 선택합니다. - 웹 ACL을 선택합니다.
- Create a string match rule(문자열 일치 규칙 생성)을 선택합니다.
- 규칙을 설정하려면 다음 값을 구성합니다.
검사에서 헤더를 선택합니다.
Header field name(헤더 필드 이름)에 AWS WAF 로그에 표시되는 대로 차단하려는 봇의 이름을 입력합니다.
일치 유형에서 문자열과 정확히 일치를 선택합니다.
String to Match(일치할 문자열)에 AWS WAF 로그에 표시되는 대로 차단하려는 봇의 값을 입력합니다.
규칙 작업에서 차단을 선택합니다. - 규칙 추가를 선택합니다.
자세한 내용은 문자열 일치 규칙 설명을 참조하십시오.
잘못된 요청을 차단하는 정규식 일치 규칙 설명 생성
다음 단계를 완료하십시오.
- AWS WAF 콘솔을 엽니다.
- 탐색 창에서 AWS WAF를 선택한 다음, Web ACL을 선택합니다.
- 리전에서 웹 ACL을 생성한 리전을 선택합니다.
참고: 웹 ACL이 CloudFront용으로 설정된 경우 글로벌을 선택합니다. - 웹 ACL을 선택합니다.
- Create a string match rule(문자열 일치 규칙 생성)을 선택합니다.
- 규칙을 설정하려면 다음 값을 구성합니다.
검사에서 URI 경로를 선택합니다.
일치 유형에서 Matches regular expression(정규식 일치)을 선택합니다.
String to match(일치할 문자열)에 차단하려는 정규식을 입력합니다.
규칙 작업에서 차단을 선택합니다. - 규칙 추가를 선택합니다.
자세한 내용은 정규식 일치 규칙 설명을 참조하십시오.
봇 컨트롤 활성화 및 대상별 보호 수준 사용
AWS WAF 봇 컨트롤의 대상별 보호 수준은 속도 제한, CAPTCHA 및 챌린지 작업을 조합하여 사용함으로써 봇 활동을 줄입니다. 대상별 봇 컨트롤 요금에 대한 자세한 내용은 AWS WAF 요금 페이지의 사례 F를 참조하십시오.
봇 컨트롤 및 대상별 보호 수준을 활성화하려면 다음 단계를 완료하십시오.
- AWS WAF 콘솔을 엽니다.
- 탐색 창에서 AWS WAF를 선택한 다음 Web ACLs(웹 ACL)을 선택합니다.
- Region(리전)에서 웹 ACL을 생성한 AWS 리전을 선택합니다.
참고: 웹 ACL이 CloudFront용으로 설정된 경우 글로벌을 선택합니다. - 웹 ACL을 선택한 다음, 관리형 규칙 그룹 추가를 선택합니다.
- AWS 관리형 규칙 그룹에서 Paid rule groups(유료 규칙 그룹)에 대해 봇 컨트롤을 활성화합니다.
- 편집을 선택한 다음, 검사 레벨에서 Targeted(대상별)를 선택합니다.
- 규칙 저장을 선택합니다.
Amazon IP 평판 목록 관리형 규칙 그룹 사용
AmazonIpReputationList 관리형 규칙 그룹은 Amazon 내부 위협 인텔리전스를 사용하여 DDoS 활동에 적극적으로 관여한 IP 주소를 식별합니다.
Amazon IP 평판 목록 관리형 규칙 그룹을 활성화하려면 다음 단계를 완료하십시오.
- AWS WAF 콘솔을 엽니다.
- 탐색 창에서 AWS WAF를 선택한 다음 Web ACLs(웹 ACL)을 선택합니다.
- Region(리전)에서 웹 ACL을 생성한 AWS 리전을 선택합니다.
참고: 웹 ACL이 CloudFront용으로 설정된 경우 글로벌을 선택합니다. - 웹 ACL을 선택한 다음, 관리형 규칙 그룹 추가를 선택합니다.
- AWS 관리형 규칙 그룹에서 AmazonIpReputationList를 선택합니다.
- 규칙 저장을 선택합니다.
관련 콘텐츠
- 질문됨 10달 전
