설명
CloudFront에 AWS WAF 웹 ACL을 연결하면 규칙에 따라 HTTP와 HTTPS 요청을 검사하거나 차단할 수 있습니다. 이 보호가 필요한 서비스에서 웹 ACL을 연결하지 않으면 악성 요청과 자동화된 남용을 CloudFront 계층에서 통제하기 어려워집니다. WAF 연결만으로 모든 공격을 차단하는 것은 아니며 애플리케이션의 인증과 취약점 수정도 필요합니다.
잠재적 영향
- 애플리케이션의 취약점을 노리는 요청이 오리진까지 전달될 수 있습니다.
- 필요한 요청 필터링이나 속도 제한이 빠져 서비스 부하가 증가할 수 있습니다.
해결 방법
- 서비스에 필요한 웹 ACL을 구성하고
web_acl_id로 연결하세요. AWS WAFv2에서는 CloudFront용 웹 ACL의 ARN을 사용하세요. - 관리형 규칙과 필요한 서비스 규칙을 검토하고 정상 요청을 차단하지 않는지 시험하세요.
- WAF 로그와 지표를 확인하고 오리진으로 직접 접근하는 경로도 필요한 범위로 제한하세요.
예시
웹 ACL 연결을 비교하는 부분 예제입니다. 오리진 주소를 실제 값으로 바꾸고, cloudfront_web_acl_arn에는 준비된 CloudFront용 WAFv2 웹 ACL ARN을 제공하세요.
변경 전
yaml
- name: create a basic distribution with defaults and tags
community.aws.cloudfront_distribution:
state: present
default_origin_domain_name: www.my-cloudfront-origin.com
이 예제에는 웹 ACL 연결이 없습니다. 서비스에 필요한 웹 요청 보호가 다른 구성에 있는지도 확인하세요.
변경 후
yaml
- name: create a basic distribution with defaults and tags
community.aws.cloudfront_distribution:
state: present
default_origin_domain_name: www.my-cloudfront-origin.com
web_acl_id: "{{ cloudfront_web_acl_arn }}"
웹 ACL을 배포에 연결합니다. 실제 차단 동작은 웹 ACL의 규칙과 기본 동작에 따라 달라집니다.