AWS - WAF Enum
AWS - WAF Enum
AWS WAF
AWS WAF는 웹 애플리케이션 방화벽으로, 웹 애플리케이션이나 API를 다양한 웹 공격으로부터 보호하기 위해 설계되었습니다. 이를 통해 사용자는 SQL 인젝션이나 크로스 사이트 스크립팅과 같은 전형적인 공격 벡터를 완화하는 보안 규칙을 설정하고 사용자 정의 필터링 규칙을 정의하여 들어오는 트래픽을 제어할 수 있습니다.
모니터링 기준 (조건)
조건은 AWS WAF가 모니터링하는 들어오는 HTTP/HTTPS 요청의 요소를 지정합니다. 이는 XSS, 지리적 위치 (GEO), IP 주소, 크기 제한, SQL 인젝션 및 패턴 (문자열 및 정규식 일치)을 포함합니다. 국가별로 제한된 요청은 CloudFront 수준에서 제한되므로 WAF에 도달하지 않습니다.
각 AWS 계정은 다음을 구성할 수 있습니다:
각 유형당 100개의 조건 (정규식의 경우 10개의 조건만 허용되지만 이 제한은 증가시킬 수 있음).
100개의 규칙 및 50개의 Web ACL.
최대 5개의 요청 기반 규칙.
응용 프로그램 로드 밸런서와 함께 WAF를 구현할 때 초당 10,000개의 요청 처리량.
규칙 구성
규칙은 지정된 조건을 사용하여 작성됩니다. 예를 들어, 규칙은 2개의 특정 조건을 충족하는 경우 요청을 차단할 수 있습니다. 두 가지 유형의 규칙이 있습니다:
일반 규칙: 지정된 조건을 기반으로 한 표준 규칙입니다.
요청 기반 규칙: 특정 IP 주소에서 5분 동안의 요청 수를 계산합니다. 여기서 사용자는 임계값을 정의하고 IP에서의 요청 수가 이 제한을 초과하는 경우 해당 IP에서의 후속 요청이 임계값 아래로 떨어질 때까지 차단됩니다. 요청 기반 규칙의 최소 임계값은 2000개의 요청입니다.
동작
각 규칙에는 허용, 차단, 또는 계수 옵션 중 하나가 할당됩니다:
허용: 요청이 적절한 CloudFront 배포 또는 응용 프로그램 로드 밸런서로 전달됩니다.
차단: 요청이 즉시 종료됩니다.
계수: 규칙의 조건을 충족하는 요청을 계수합니다. 이는 규칙을 테스트하고 허용 또는 차단으로 설정하기 전에 규칙의 정확성을 확인하는 데 유용합니다.
Web ACL 내에서 규칙과 일치하지 않는 요청은 기본 동작 (허용 또는 차단)을 수행합니다. Web ACL 내에서 정의된 규칙 실행 순서는 중요하며 일반적으로 다음 순서를 따릅니다:
화이트리스트 IP 허용.
블랙리스트 IP 차단.
유해한 시그니처와 일치하는 요청 차단.
CloudWatch 통합
AWS WAF는 모니터링을 위해 CloudWatch와 통합되어 있으며, AllowedRequests, BlockedRequests, CountedRequests, PassedRequests와 같은 메트릭을 제공합니다. 이러한 메트릭은 기본적으로 매 분마다 보고되며 2주 동안 보관됩니다.
열거
범위는 CLOUDFRONT일 수도 있지만, CLoudfront와 관련이 없는 WAF를 확인할 때는 REGIONAL을 사용해야 합니다.
사후 침투 / 우회
공격자의 관점에서 이 서비스는 공격자가 다른 웹을 침해하는 데 도움이 될 수 있는 WAF 보호 및 네트워크 노출을 식별하는 데 도움이 될 수 있습니다.
하지만 공격자는 또한 이 서비스를 방해하여 웹이 WAF로 보호되지 않도록 할 수도 있습니다.
TODO: PR은 환영합니다.
참고 자료
https://www.citrusconsulting.com/aws-web-application-firewall-waf/#:~:text=Conditions%20allow%20you%20to%20specify,user%20via%20a%20web%20application.
最終更新