내용으로 건너뛰기

AWS Managed Rules로 인한 오탐을 어떻게 감지할 수 있나요?

4분 분량
0

내 애플리케이션에 대한 정당한 요청이 AWS WAF 내의 AWS Managed Rules 규칙 그룹에 의해 차단되었습니다. 이러한 규칙이 어떻게 오탐을 유발하는지 알고 싶습니다. 또한 관리형 규칙을 유효하게 유지하고 합법적인 트래픽이 통과할 수 있도록 하고 싶습니다.

해결 방법

먼저, AWS Managed Rules로 인한 오탐을 식별하십시오. 그런 다음 레이블 또는 scope-down 문을 사용하여 이러한 오탐을 허용 목록에 추가하십시오.

관리형 규칙 그룹에서 오탐 오류 감지

다음 단계를 완료합니다.

  1. AWS WAF 로그의 terminatingRuleId에서 정상적인 요청을 차단하는 관리자 규칙 그룹을 찾으십시오. 다음은 AWS WAF 로그의 예입니다.

    "timestamp": 1712236911743,
    "formatVersion": 1,
    "webaclId": "arn:aws:wafv2:us-west-2:***:regional/webacl/WAFtester/3c372***-***",
    "terminatingRuleId": "AWS-AWSManagedRulesCommonRuleSet",
    "terminatingRuleType": "MANAGED_RULE_GROUP",
    "action": "BLOCK",
    "terminatingRuleMatchDetails": [],
    "ruleGroupList": [{
    "ruleGroupId": "AWS#AWSManagedRulesCommonRuleSet",
    "terminatingRule": {
    "ruleId": "SizeRestrictions_BODY",
    "action": "BLOCK",
    "overriddenAction": "BLOCK",
    "ruleMatchDetails": null
    },
    "nonTerminatingMatchingRules": [],
    "excludedRules": null,
    "customerConfig": null
    }],
  2. terminatingRule에서 ruleId를 찾아 정상적인 요청을 차단하는 규칙을 식별합니다. 예: ****"SizeRestrictions_Body".

  3. 오탐의 원인이 되는 특성 또는 기준을 식별하십시오. 예를 들어, 데이터베이스 관리자가 원격으로 저장 절차를 실행하는 경우 요청에 대량의 데이터가 포함될 수 있습니다. ManagedRulesCommonRuleSet 규칙 그룹은 SizeRestrictions_Body 규칙으로 인해 이러한 요청을 차단합니다.

허용 목록에 오탐 추가

관리형 규칙 그룹을 통해 오탐을 유발하는 정당한 요청을 허용하도록 웹 액세스 제어 목록(웹 ACL)을 구성합니다. 관리형 규칙 그룹을 수정하려면 레이블을 사용하거나 scope-down 문을 사용하십시오.

참고: 세분화된 명시적 규칙에는 레이블을 사용하는 것이 가장 좋습니다. scope-down 문은 범위를 벗어나는 요청을 규칙 그룹의 모든 규칙과 비교하여 검사하지 않습니다.

레이블

AWS 관리형 규칙에서 추가한 레이블을 사용하여 오탐을 방지하십시오. 이러한 레이블이 있는 요청을 일치시키는 사용자 지정 규칙을 만들 때는 관리형 규칙 그룹 내에서 규칙의 기본 작업을 변경하십시오.

다음 단계를 완료합니다.

  1. AWS WAF 콘솔을 엽니다.
  2. 탐색 창에서 AWS WAF를 선택합니다.
  3. 리소스 및 보호 팩을 선택합니다.
  4. 보호 팩에서 관리 세트 및 그룹 드롭다운을 선택하고 IP 세트 관리를 선택합니다.
  5. 오른쪽 창에서 새 IP 세트 생성을 선택합니다.
  6. IP 세트 이름을 입력합니다.
    CloudFront에서 이 IP 세트를 사용하는 경우 범위에서 CloudFront를 선택합니다.
    (선택 사항) 설명을 입력합니다.
    IP 버전을 선택합니다.
    IP 주소를 입력합니다.
  7. 저장을 선택합니다.
  8. 보호 팩을 찾아 규칙 옆에 있는 보기 및 편집을 선택합니다.
  9. 오른쪽 창에서 요청을 차단하는 AWS 관리형 규칙을 선택합니다.
  10. 규칙 재정의에서 요청을 차단하는 규칙의 작업을 카운트로 변경합니다.
  11. 규칙 저장을 선택합니다.
  12. 오른쪽 창에서 규칙 추가를 선택합니다.
    사용자 지정 규칙을 선택하고 다음을 선택합니다.
    사용자 지정 규칙을 다시 선택하고 다음을 선택합니다.
  13. 규칙 작업BLOCK으로 설정합니다.
  14. 규칙 이름을 입력합니다.
  15. 요청이 다음과 같은 경우에서 드롭다운을 확장하고 **모든 문과 일치함(AND)**을 선택합니다.
  16. 스테이트먼트 1에서 다음을 완료합니다.
    검사에서 레이블 있음을 선택합니다.
    스테이트먼트에서 레이블을 선택합니다.
    매치 키에서 요청을 차단하는 AWS 관리형 규칙의 규칙 그룹 규칙에 대한 레이블을 선택합니다.
  17. 스테이트먼트 2에서 다음을 완료합니다.
    검사에서 다음 IP 주소에서 시작을 선택합니다.
    스테이트먼트IP 주소 목록에서 IP 세트를 선택합니다.
    규칙 구성을 확장하고 **문 부정(NOT)**에서 문 결과 부정을 선택합니다.
    시작 주소로 사용할 IP 주소소스 IP 주소를 선택합니다.
  18. 규칙 생성을 선택합니다.
  19. 규칙 우선순위를 설정하려면 오른쪽 창에서 규칙 순서 편집을 선택하고 규칙을 AWS 관리형 규칙 그룹 아래로 드래그합니다.
    참고: 규칙은 표시된 순서대로 적용됩니다.
  20. 규칙 순서 저장을 선택합니다.

scope-down 문

scope-down 문을 사용하여 규칙 또는 규칙 그룹이 평가하는 요청의 범위를 좁힐 수 있습니다. scope-down 문을 규칙 그룹에 추가하면 요청을 검사할 수 있습니다. 이 스테이트먼트는 스테이트먼트에 포함된 정상적인 IP 주소를 건너뜁니다.

다음 단계를 완료합니다.

  1. AWS WAF 콘솔을 엽니다.
  2. 탐색 창에서 AWS WAF를 선택합니다.
  3. 리소스 및 보호 팩을 선택합니다.
  4. 보호 팩에서 관리 세트 및 그룹을 클릭하고 IP 세트 관리를 선택합니다.
  5. 오른쪽 창에서 새 IP 세트 생성을 선택합니다.
  6. IP 세트 이름을 입력합니다.
    CloudFront에서 이 IP 세트를 사용하는 경우 범위에서 CloudFront를 선택합니다.
    (선택 사항) 설명을 입력합니다.
    IP 버전을 선택합니다.
    IP 주소를 입력합니다.
  7. 저장을 선택합니다.
  8. 보호 팩을 찾아 규칙 옆에 있는 보기 및 편집을 선택합니다.
  9. 오른쪽 창에서 요청을 차단하는 AWS 관리형 규칙의 규칙 그룹을 선택합니다.
  10. 검사에서 일치 문을 선택합니다.
  11. 요청이 다음과 같은 경우에서 **문과 일치하지 않음(NOT)**을 선택합니다.
  12. 검사에서 다음 IP 주소에서 시작을 선택합니다.
  13. 스테이트먼트IP 주소 목록에서 IP 세트를 선택합니다.
  14. 규칙 구성을 확장하고 소스 IP 주소를 오리진으로 선택합니다.
  15. 규칙 저장을 선택합니다.
AWS 공식업데이트됨 5달 전