Amazon CloudFront와 AWS WAF를 사용하여 웹 위협으로부터 웹 애플리케이션을 보호하고 싶습니다.
간략한 설명
일반적인 애플리케이션 계층 공격에는 SQL 인젝션 또는 크로스 사이트 스크립팅(XSS)이 포함됩니다. 이러한 공격으로부터 웹 애플리케이션을 보호하려면 엣지 로케이션에서 HTTP/HTTPS 요청을 검사하도록 AWS WAF와 CloudFront를 함께 구성하십시오. 그러면 악의적인 트래픽이 오리진 서버에 도달하기 전에 차단할 수 있습니다. 자세한 내용은 AWS WAF를 사용하여 CloudFront 배포를 보호하는 일반적인 사용 사례를 참조하십시오.
해결 방법
사전 요구 사항:
- 트래픽을 Amazon Elastic Compute Cloud(Amazon EC2) 인스턴스 또는 기타 AWS 리전 엔드포인트로 라우팅하는 Application Load Balancer
- 애플리케이션 콘텐츠가 배포되어 실행 중인 상태여야 합니다.
- CloudFront와 AWS WAF를 구성하는 데 필요한 권한이 있어야 합니다.
CloudFront 설정
CloudFront가 보안 쉴드 역할을 하도록 설정하려면 다음 단계를 완료하십시오.
- CloudFront 콘솔을 엽니다.
- 배포판을 생성합니다.
- 오리진 도메인 필드에 웹 사이트 주소를 입력합니다.
- 뷰어 프로토콜 정책에서 HTTP를 HTTPS로 리디렉션을 선택합니다.
- 배포 생성을 선택합니다.
참고: 엣지 로케이션에 정적 및 동적 콘텐츠를 캐시하면 오리진에 도달하는 요청 수가 줄어듭니다. 따라서 비용을 절감하고 성능을 개선할 수 있습니다.
AWS WAF 설정
AWS WAF가 보안 가드 역할을 하도록 설정하려면 다음 단계를 완료하십시오.
- AWS WAF 콘솔을 엽니다.
- 웹 액세스 목록(ACL)을 생성합니다.
- AWS 리전을 선택합니다.
- 이름을 지정합니다. 예: "MyWebsiteProtection"
- 규칙 추가를 선택한 다음 속도 기반 규칙 추가를 선택합니다.
다음과 같은 속도 제한 규칙을 입력합니다.
너무 많은 요청을 보내는 IP 주소를 차단하도록 설정합니다. 예: 5분당 요청 2,000건
- 규칙 추가를 선택한 다음 관리형 규칙 추가를 선택합니다.
AWS 관리형 규칙 코어 규칙 세트(CRS)를 추가합니다. CRS에는 SQL 인젝션 및 XSS와 같은 일반적인 공격에 대한 보호 기능이 포함되어 있습니다.
참고: 엣지 로케이션은 AWS WAF 규칙을 적용하고 소스 근처의 악성 트래픽을 차단합니다.
- 다음을 선택하고, 웹 ACL 생성을 선택합니다.
참고: 이제 업데이트된 환경을 사용하여 콘솔의 어느 곳에서나 AWS WAF 기능에 액세스할 수 있습니다. 자세한 내용은 업데이트된 콘솔 환경을 사용하여 AWS WAF 시작하기를 참조하십시오.
AWS WAF를 CloudFront에 연결
AWS WAF와 CloudFront가 함께 작동하도록 하려면 다음 단계를 완료하십시오.
- AWS WAF 콘솔을 엽니다.
- 웹 ACL을 선택합니다.
- 연결된 AWS 리소스를 선택합니다.
- AWS 리소스 추가를 선택합니다.
- CloudFront 배포를 선택합니다.
- 추가를 선택합니다. 자세한 내용은 Amazon CloudFront와 AWS WAF 함께 사용하기를 참조하십시오.
모니터링 설정
참고: 로깅을 활성화하면 추가 비용이 발생합니다. CloudWatch는 프리 티어를 제공하지만 프리 티어 한도를 초과하면 요금이 부과됩니다. 현재 요금은 Amazon CloudWatch 요금을 참조하십시오.
CloudFront에서 모니터링을 설정하려면 다음 단계를 완료하십시오.
- CloudFront 콘솔을 엽니다.
- 배포를 선택합니다.
- 로그로 이동합니다.
- 표준 로깅을 켭니다.
AWS WAF에서 모니터링을 설정하려면 다음 단계를 완료하십시오.
- AWS WAF 콘솔을 엽니다.
- 웹 ACL을 엽니다.
- 로깅 및 지표를 선택합니다.
- 로깅을 켭니다. 자세한 내용은 CloudFront 및 엣지 함수 로깅을 참조하십시오.
관련 정보
Shield Advanced를 사용하여 애플리케이션 계층 DDoS 완화 자동화
Amazon CloudFront 및 AWS WAF를 사용하여 웹 사이트 가속화 및 보호