Amazon Web Services 한국 블로그

AWS WAF 신규 요청 비율 규칙을 통한 웹 사이트 보호하기

AWS WAF (웹 응용 프로그램 방화벽)는 악의적이거나 조작된 요청을 포함하는 다양한 계층 공격으로부터 응용 프로그램을 보호합니다. 이 서비스는 다양한 공격 기법 즉, 교차 사이트(Cross-site) 스크립팅, IP 주소 및 SQL 조작, 콘텐트 제약 조건에 맞는 규칙을 정의 할 수 있습니다.

외부에서 들어오는 요청이 규칙과 일치하면 동작할 기능이 호출됩니다. 각 동작은 일치를 허용, 차단으로 처리할 수 있습니다.

기존 규칙 모델은 강력하고 다양한 유형의 공격을 탐지하고 대응할 수 있는 기능을 제공합니다. 그러나, 특정 IP 주소에서 유효한 요청으로 구성되는 공격에 대응할 수는 없습니다. 이러한 요청은 웹 레이어 DDoS 공격, 무차별 강제 로그인 시도 또는 파트너 통합에서 생기는 문제일 수 있습니다.

신규 요청 비율(Rate) 기반 규칙 기능 출시
오늘 WAF에 요금제 규칙을 추가하여 블랙 리스트에 IP 주소가 추가되거나 제거 되는 시기의 예외 및 특별한 경우를 처리 할 수 있는 유연성을 제공합니다.

  • IP 주소 블랙 리스트 – 구성된 임계 값 비율을 초과하는 요청으로 IP 주소를 블랙 리스트에 올릴 수 있습니다.
  • IP 주소 추적 – 현재 블랙 리스트에 올라있는 IP 주소를 볼 수 있습니다.
  • IP 주소 제거 – 블랙 리스트에 올라온 IP 주소는 더 이상 구성된 임계 값 이상으로 요청을 하지 않으면 자동으로 제거됩니다.
  • IP 주소 제외 – 요금 기반 규칙의 IP 주소 화이트 리스트를 사용하여 블랙 리스트에서 특정 IP 주소를 제외 할 수 있습니다. 예를 들어 신뢰할 수 있는 파트너가 더 빠른 속도로 사이트에 액세스하도록 허용 할 수 있습니다.
  • 모니터링 및 경고 – 각 규칙에 대해 게시 된 CloudWatch 통계를 보고 알림을 보낼 수 있습니다.

새로운 속도 기반 규칙을 WAF 조건과 결합하여 정교한 속도 제한 전략을 구현할 수 있습니다. 예를 들어, 속도 기반 규칙과 로그인 페이지와 일치하는 WAF 조건을 사용할 수 있습니다. 이렇게 하면 로그인 페이지에 적당한 임계 값을 부과 할 수 있으며 (무차별 대입 암호 공격을 피하기 위해) 마케팅 또는 시스템 상태 페이지에서 더 유연하게 허용 할 수 있습니다.

임계 값은 5 분 내에 단일 IP 주소에서 들어오는 요청 수로 정의됩니다. 이 임계 값을 초과하면 요청 속도가 임계 값 아래로 떨어질 때까지 IP 주소의 추가 요청이 차단됩니다.

요청 비율 기반 규칙 기능 사용해 보기
다음은 사이트의 /login 부분을 보호하는 요금 기반 규칙을 정의하는 방법입니다. 페이지의 URI에서 원하는 문자열과 일치하는 WAF 조건을 정의하여 시작하십시오.

그런 다음이 조건을 사용하여 요청 비율 기반 규칙을 정의하십시오 (요청 비율 제한은 5 분 간격으로 요청 관점으로 표시되지만 제한을 위반하는 즉시 블랙 리스트가 적용됨).

조건과 규칙을 적용한 후 Web ACL (ProtectLoginACL)을 작성하여 모두 가져오고 AWS 리소스 (이 경우 CloudFront 배포본)에 첨부합니다.

그런 다음 규칙 (ProtectLogin)을 웹 ACL에 첨부하십시오.

이제 규칙과 Web ACL에 따라 리소스가 보호됩니다. 연관된 CloudWatch 통계치(이 경우 ProtectLoginProtectLoginACL)를 모니터 할 수 있습니다. CloudWatch 알람을 생성하고 보호 임계 값이 위반되었을 때 람다 함수를 호출하는 데 사용할 수도 있습니다. 문제가 되는 IP 주소를 조사하고, 비즈니스 로직에 따른 결정을 내릴 수 있습니다. 신뢰할 수 있는 파트너 또는 고객에게 추가 할당이 가능한 화이트리스트 규칙을 추가 할 수 있습니다.

정식 출시
오늘 부터 새로운 요청 비율 기반 규칙을 지금 사용할 수 있으며, 일반 규칙과 동일하게 가격이 책정됩니다. 자세한 내용은 WAF 요금 페이지를 참조하십시오.

Jeff;

이 글은 Protect Web Sites & Services Using Rate-Based Rules for AWS WAF의 한국어 번역입니다.