특정 User-Agent를 포함하지 않거나 요청에 특정 User-Agent 헤더 값을 포함하지 않는 HTTP 요청을 제한하고 싶습니다.
간략한 설명
기본적으로 AWS WAF 필터에서는 HTTP 요청 파라미터가 있는지 여부를 확인하지 않습니다. HTTP 요청 파라미터가 존재하는지 여부를 확인하려면 다음 작업을 실행하세요.
AWS 관리형 규칙을 사용하여 User-Agent 헤더가 포함되지 않은 요청을 차단합니다.
-또는-
사용자 지정 규칙을 사용하여 User-Agent 헤더가 포함되지 않은 요청을 차단하거나 요청에 특정 User-Agent가 포함된 경우 트래픽을 차단합니다.
해결 방법
AWS 관리형 규칙을 사용하여 User-Agent 헤더가 포함되지 않은 요청 차단
AWS WAF용 AWS 관리형 규칙을 사용하면 규칙을 직접 작성할 필요 없이 User-Agent 헤더가 포함되지 않은 HTTP 요청을 차단할 수 있습니다.
참고: 관리형 규칙의 버전이 변경되거나 만료될 수 있습니다. 자세한 내용을 보려면 관리형 규칙 그룹 버전 처리 모범 사례를 참고하세요.
다음 규칙은 웹 브라우저에서 찾을 수 없는 HTTP User-Agent 헤더와 User-Agent 문자열이 누락된 요청을 검사합니다.
NoUserAgent_HEADER
이 규칙은 핵심 규칙 집합(CRS) 관리 규칙 그룹에서 가져온 것입니다. 이 규칙은 HTTP User-Agent 헤더가 누락된 요청을 검사합니다.
SignalNonBrowserUserAgent
이 규칙은 AWS WAF Bot Control 규칙 그룹에서 가져온 것입니다. 이 규칙은 User-Agent가 없는 요청을 포함하여 웹 브라우저에서 오지 않은 User-Agent 문자열을 검사합니다.
웹 ACL에 AWS 관리형 규칙 그룹을 추가
-
AWS WAF 콘솔을 엽니다.
-
탐색 창의 AWS WAF에서 웹 ACL을 선택합니다.
-
리전에서 웹 ACL을 생성한 AWS 리전을 선택합니다.
참고: 웹 ACL이 Amazon CloudFront용으로 설정되어 있는 경우 전역을 선택합니다.
-
웹 ACL을 선택합니다.
-
규칙을 선택한 다음 규칙 추가를 선택합니다. 드롭다운에서 관리형 규칙 그룹 추가를 선택합니다.
-
**AWS 관리형 규칙 그룹 ** 섹션을 확장합니다.
-
규칙 그룹을 찾아 웹 ACL에 추가를 설정합니다.
예를 들어 NoUserAgent_HEADER 규칙이 포함된 핵심 규칙 집합에 웹 ACL에 추가를 사용 설정할 수 있습니다.
-
(선택 사항) 규칙 그룹의 설정을 보고 수정하려면 편집을 선택합니다.
-
규칙 추가를 선택합니다.
-
저장을 선택합니다.
웹 ACL에서 기존 AWS 관리형 규칙 그룹 편집
- AWS WAF 콘솔을 엽니다.
- 탐색 창의 AWS WAF에서 웹 ACL을 선택합니다.
- 리전에서 웹 ACL을 생성한 AWS 리전을 선택합니다.
참고: 웹 ACL이 Amazon CloudFront용으로 설정되어 있는 경우 전역을 선택합니다.
- 웹 ACL을 선택합니다.
- 규칙을 선택한 다음 편집을 선택하여 설정을 보고 수정합니다.
참고: 설정 편집에 대한 자세한 내용을 보려면 관리형 규칙 그룹 작업을 참고하세요.
- 편집을 마치면 저장을 선택합니다.
AWS 관리형 규칙 그룹에 가양성 시나리오가 발견되면 AWS WAF용 AWS 관리형 규칙을 참고하세요.
사용자 지정 규칙을 사용하여 User-Agent 헤더가 포함되지 않은 요청 차단
사용자 지정 규칙을 사용하여 User-Agent 헤더가 포함되지 않은 요청을 차단하려면 다음 작업을 실행하세요.
- AWS WAF 콘솔을 엽니다.
- 탐색 창의 AWS WAF에서 웹 ACL을 선택합니다.
- 리전에서 웹 ACL을 생성한 AWS 리전을 선택합니다.
참고: 웹 ACL이 Amazon CloudFront용으로 설정되어 있는 경우 전역을 선택합니다.
- 웹 ACL을 선택합니다.
- 규칙 추가를 선택한 다음 내 규칙 및 규칙 그룹 추가를 선택합니다.
- 규칙 유형에 규칙 빌더를 선택합니다.
- 이름에 이 규칙을 식별할 수 있는 이름을 입력합니다.
- 유형에 일반 규칙을 선택합니다.
- 요청이 있는 경우에 **명령문과 일치하지 않음(NOT)**을 선택합니다.
- 명령문의 검사에서 단일 헤더를 선택합니다.
헤더 필드 이름에 필드 이름을 입력합니다. 다음 예를 참고하세요. User-Agent
일치 유형에서 다음보다 큰 크기를 선택합니다.
**크기(바이트)**에 0을 입력합니다.
(선택 사항) 텍스트 변환을 선택하거나 없음을 선택합니다.
- 동작에서 차단을 선택합니다.
- 규칙 추가를 선택합니다.
- (선택 사항) 규칙 우선순위 설정에 규칙을 선택하고 우선순위를 변경합니다. 규칙은 표시된 순서대로 처리됩니다. 자세한 내용을 보려면 웹 ACL의 규칙 및 규칙 그룹 처리 순서를 참고하세요.
- 저장을 선택합니다.
사용자 지정 규칙을 사용하여 요청에 특정 User-Agent가 포함된 경우 트래픽 차단
요청에 특정 User-Agent가 포함되어 사용자 지정 규칙을 사용해 트래픽을 차단하고 싶을 경우에는 다음을 실행하세요.
- AWS WAF 콘솔을 엽니다.
- 탐색 창의 AWS WAF에서 웹 ACL을 선택합니다.
- 리전에서 웹 ACL을 생성한 AWS 리전을 선택합니다.
참고: 웹 ACL이 Amazon CloudFront용으로 설정되어 있는 경우 전역을 선택합니다.
- 웹 ACL을 선택합니다.
- 규칙 추가를 선택한 다음 내 규칙 및 규칙 그룹 추가를 선택합니다.
- 규칙 유형에 규칙 빌더를 선택합니다.
- 이름에 이 규칙을 식별할 수 있는 이름을 입력합니다.
- 유형에 일반 규칙을 선택합니다.
- 요청인 경우에서 명령문과 일치를 선택합니다.
- 명령문의 검사에서 단일 헤더를 선택합니다.
헤더 필드 이름에 필드 이름을 입력합니다. 다음 예를 참고하세요. User-Agent
일치 유형에서 문자열 포함을 선택합니다.
매칭할 문자열에 차단할 특정 User-Agent의 값을 입력합니다.
(선택 사항) 텍스트 변환을 선택하거나 없음을 선택합니다.
- 동작에서 차단을 선택합니다.
- 규칙 추가를 선택합니다.
- (선택 사항) 규칙 우선순위 설정에 규칙을 선택하고 우선순위를 변경합니다. 규칙은 표시된 순서대로 처리됩니다. 자세한 내용을 보려면 웹 ACL의 규칙 및 규칙 그룹 처리 순서를 참고하세요.
- 저장을 선택합니다.