AWS WAF는 HTTP 요청에 대한 본문 검사를 어떻게 처리하나요?

2분 분량
0

AWS WAF는 HTTP 요청에 대한 본문 검사를 어떻게 처리하나요?

해결 방법

AWS WAF는 요청 본문의 처음 8KB(8,192바이트)를 검사합니다. 이는 엄격한 서비스 제한이며 변경할 수 없습니다.

예:

  • 본문이 5,000바이트인 경우: 본문의 모든 콘텐츠를 AWS WAF에서 검사할 수 있습니다.
  • 본문이 8,500바이트인 경우: 1바이트부터 8,192바이트까지의 콘텐츠를 AWS WAF에서 검사합니다. 8,193바이트에서 8,500바이트까지의 모든 콘텐츠는 검사되지 않습니다.

이 제한은 AWS WAF가 8,192바이트 이후에는 본문 콘텐츠를 확인할 수 없으므로 규칙을 구성할 때 중요합니다. 8,192바이트 이후의 공격 XSS 또는 SQL 명령어 삽입 패턴은 감지되지 않습니다.

검사되지 않은 본문 부분을 공격으로부터 보호하려면 다음 중 하나를 사용하세요.

AWS 관리형 규칙 핵심 규칙 세트

AWS 관리형 규칙 핵심 규칙 세트(CRS) 내의 SizeRestrictions_BODY 규칙은 8KB(8,192바이트)를 초과하는 요청 본문을 확인합니다. 8KB를 초과하는 요청 본문은 차단됩니다.

사용자 지정 본문 검사 규칙

사용자 지정 본문 검사 규칙을 구성할 때 오버사이즈 요청 처리 작업을 선택할 수 있습니다. 이 작업은 요청 본문이 8,192바이트보다 클 때 적용됩니다.

예를 들어 XSS 명령어 삽입 공격을 포함하는 요청 본문으로 사용자 지정 규칙을 구성하고 요청 본문은 9,000바이트인 경우 다음과 같은 오버사이즈 처리 작업 중에서 선택할 수 있습니다.

  • 계속(Continue): AWS WAF가 본문 콘텐츠의 1바이트에서 8,192바이트까지의 XSS 공격을 검사합니다. 나머지 8,193~9000바이트 콘텐츠는 검사되지 않습니다.
  • 일치(Match): AWS WAF가 이 요청을 XSS 공격을 포함하는 것으로 표시하고 규칙 작업(ALLOW 또는 BLOCK)을 수행합니다. 요청 본문에 XSS 공격 패턴이 포함되어 있는지 여부는 중요하지 않습니다.
  • 일치하지 않음(Not match): AWS WAF가 요청 본문 콘텐츠에 관계없이 이 요청을 XSS 공격을 포함하지 않는 것으로 표시합니다.

AWS 관리형 핵심 규칙 세트를 사용할 때 본문 크기가 8,192바이트보다 큰 합법적인 요청은 SizeRestrictions_BODY 규칙에 의해 차단될 수 있습니다. 요청을 명시적으로 허용하는 허용 규칙을 만들 수 있습니다.

예를 들어 고객이 URL '/upload'에서 합법적인 요청을 받은 경우 다음과 같이 규칙을 구성할 수 있습니다.

1.    웹 ACL에서 SizeRestrictions 작업을 재정의하여 규칙 그룹에서 **카운트(Count)**합니다.

2.    핵심 규칙 세트(Core rule set) 다음에 레이블 일치 규칙을 웹 ACL에 추가합니다. 규칙은 다음 논리를 사용합니다.

Has a label “awswaf:managed:aws:core-rule-set:SizeRestrictions_Body”
AND
    NOT (URL path contains “/upload”)
Action: BLOCK

위의 구성을 사용하면 본문 크기가 8,192바이트보다 큰 URL '/upload'의 요청이 허용됩니다. 이 URL이 아닌 모든 요청은 차단됩니다.


관련 정보

요청 구성 요소에 대한 오버사이즈 처리

AWS 공식
AWS 공식업데이트됨 2년 전