AWS WAF를 사용하여 사용자 에이전트 헤더가 포함되지 않은 HTTP 요청을 차단하려면 어떻게 해야 합니까?

4분 분량
0

요청에 특정 사용자 에이전트나 특정 사용자 에이전트 헤더 값을 포함하지 않는 HTTP 요청을 제한하고자 합니다.

간략한 설명

기본적으로 AWS WAF 필터는 HTTP 요청 파라미터가 있는지 여부를 확인하지 않습니다. HTTP 요청 파라미터가 있는지 여부를 확인하려면 다음과 같이 하면 됩니다.

AWS 관리형 규칙을 사용하여 사용자 에이전트 헤더를 포함하지 않는 규칙을 차단합니다.

-또는-

사용자 에이전트 헤더를 포함하지 않는 요청을 차단하거나, 요청에 특정 사용자 에이전트가 포함된 경우 사용자 지정 규칙을 사용하여 트래픽을 차단합니다.

해결 방법

AWS 관리형 규칙을 사용하여 사용자 에이전트 헤더를 포함하지 않는 요청 차단

AWS 관리형 규칙을 사용하면, 직접 규칙을 작성하지 않고도 AWS WAF에서 사용자 에이전트 헤더를 포함하지 않는 HTTP 요청을 차단할 수 있습니다.

참고: 관리형 규칙은 버전 변경 및 만료에 따라 달라질 수 있습니다. 자세한 내용은 관리형 규칙 그룹 버전 처리를 위한 모범 사례를 참조하세요.

다음 규칙은 HTTP 사용자 에이전트 헤더가 누락된 요청과, 웹 브라우저가 출처가 아닌 듯한 사용자 에이전트 문자열을 검사합니다.

NoUserAgent_HEADER
이 규칙은 핵심 규칙 집합(CRS) 관리형 규칙 그룹에서 가져온 것입니다. 이 규칙은 HTTP 사용자 에이전트 헤더가 누락된 요청을 검사합니다.

SignalNonBrowserUserAgent
이 규칙은 AWS WAF 봇 제어 규칙 그룹에서 가져온 것입니다. 이 규칙은 사용자 에이전트가 없는 요청을 포함하여 출처가 웹 브라우저가 아닌 듯한 사용자 에이전트 문자열을 검사합니다.

웹 ACL에 AWS 관리형 규칙 그룹을 추가하는 방법

  1. AWS WAF 콘솔을 엽니다.
  2. 탐색 창의 AWS WAF에서 **웹 ACL(Web ACL)**을 선택합니다.
  3. 리전에서 웹 ACL을 생성한 AWS 리전을 선택합니다.
    참고: 웹 ACL이 Amazon CloudFront에 대해 설정된 경우 전역을 선택합니다.
  4. 웹 ACL을 선택합니다.
  5. **규칙(Rules)**을 선택한 후 **규칙 추가(Add Rulese)**를 선택합니다. ドロップダウンから [Add managed rule groups] (マネージドルールグループの追加) を選択します。
  6. [AWS managed rule groups] (AWS マネージドルールグループセクション) を展開します。
  7. 규칙 그룹을 찾아 웹 ACL에 추가를 활성화합니다.
    예를 들어 NoUserAgent_HEADER 규칙을 포함하는 핵심 규칙 집합에 대하여 웹 ACL에 추가를 활성화할 수 있습니다.
  8. (선택 사항) 규칙 그룹의 설정을 조회하고 수정하려면 편집을 선택합니다.
  9. [Add Rules] (ルールを追加) を選択します。
  10. **저장(Save)**을 선택합니다.

ウェブ ACL の既存の AWS マネージドルールグループを編集するには

  1. AWS WAF 콘솔을 엽니다.
  2. 탐색 창의 AWS WAF에서 **웹 ACL(Web ACL)**을 선택합니다.
  3. 리전에서 웹 ACL을 생성한 AWS 리전을 선택합니다.
    참고: 웹 ACL이 Amazon CloudFront에 대해 설정된 경우 전역을 선택합니다.
  4. 웹 ACL을 선택합니다.
  5. [Rules] (ルール) を選択し、 [Edit] (編集) を選択して設定を表示および変更します。
    참고: 설정 편집에 대한 자세한 내용은 관리형 규칙 그룹 작업을 참조하세요.
  6. 편집을 마치면 저장을 선택합니다.

AWS 관리형 규칙 그룹에 오탐 시나리오가 발생하는 경우, AWS WAF에 대한 AWS 관리형 규칙을 참조하세요.

사용자 지정 규칙을 사용하여 사용자 에이전트 헤더를 포함하지 않는 요청 차단

사용자 지정 규칙을 사용하여 사용자 에이전트 헤더를 포함하지 않는 요청을 차단하려면 다음과 같이 하면 됩니다.

  1. AWS WAF 콘솔을 엽니다.
  2. 탐색 창의 AWS WAF에서 웹 ACL을 선택합니다.
  3. 리전에서 웹 ACL을 생성한 AWS 리전을 선택합니다.
    참고: 웹 ACL이 Amazon CloudFront에 대해 설정된 경우 전역을 선택합니다.
  4. 웹 ACL을 선택합니다.
  5. 규칙을 선택하고 규칙 추가, 자체 규칙 및 규칙 그룹 추가를 선택합니다.
  6. 규칙 유형으로 규칙 빌더를 선택합니다.
  7. 이름에 이 규칙을 식별할 이름을 입력합니다.
  8. 유형으로는 일반 규칙을 선택합니다.
  9. **요청 조건(If a request)**에서, **문과 일치하지 않음(doesn't match the statement)(NOT)**을 선택합니다.
  10. 에서 검사단일 헤더를 선택합니다.
    헤더 필드 이름에 필드의 이름을 입력합니다. 예: 사용자 에이전트.
    일치 유형으로 다음보다 큰 크기를 선택합니다.
    **크기(바이트)**에 0을 입력합니다.
    (선택 사항) 텍스트 변환을 선택하거나 없음을 선택합니다.
  11. 작업에서 차단을 선택합니다.
  12. 규칙 추가를 선택합니다.
  13. (선택 사항) **규칙 우선 순위 설정(Set Rule Priority)**에서 규칙을 선택하고 우선 순위를 조정합니다. 규칙은 표시된 순서대로 처리됩니다. 자세한 내용은 웹 ACL에서 규칙 및 규칙 그룹의 처리 순서를 참조하세요.
  14. **저장(Save)**을 선택합니다.

요청이 특정 사용자 에이전트를 포함한 경우 사용자 지정 규칙을 사용하여 트래픽 차단

요청이 특정 사용자 에이전트를 포함한 경우 사용자 지정 규칙을 사용해 트래픽을 차단하려면 다음과 같이 하면 됩니다.

  1. AWS WAF 콘솔을 엽니다.
  2. 탐색 창의 AWS WAF에서 웹 ACL을 선택합니다.
  3. 리전에서 웹 ACL을 생성한 AWS 리전을 선택합니다.
    참고: 웹 ACL이 Amazon CloudFront에 대해 설정된 경우 전역을 선택합니다.
  4. 웹 ACL을 선택합니다.
  5. 규칙을 선택하고 규칙 추가, 자체 규칙 및 규칙 그룹 추가를 선택합니다.
  6. 규칙 유형으로 규칙 빌더를 선택합니다.
  7. 이름에 이 규칙을 식별할 이름을 입력합니다.
  8. 유형으로는 일반 규칙을 선택합니다.
  9. **요청 조건(If a request)**에서 **문과 일치함(matches a statement)**을 선택합니다.
  10. 에서 검사단일 헤더를 선택합니다.
    헤더 필드 이름에 필드의 이름을 입력합니다. 예: 사용자 에이전트.
    일치 유형으로 문자열 포함을 선택합니다.
    일치시킬 문자열에 차단하고자 하는 특정 사용자 에이전트 값을 입력합니다.
    (선택 사항) 텍스트 변환을 선택하거나 없음을 선택합니다.
  11. 작업에서 차단을 선택합니다.
  12. 규칙 추가를 선택합니다.
  13. (선택 사항) **규칙 우선 순위 설정(Set Rule Priority)**에서 규칙을 선택하고 우선 순위를 조정합니다. 규칙은 표시된 순서대로 처리됩니다. 자세한 내용은 웹 ACL에서 규칙 및 규칙 그룹의 처리 순서를 참조하세요.
  14. **저장(Save)**을 선택합니다.

AWS 공식
AWS 공식업데이트됨 일 년 전
댓글 없음

관련 콘텐츠