AWS WAF를 사용하여 요청에 특정 사용자 에이전트 값을 포함하지 않는 HTTP 요청을 제한하고 싶습니다. 또는 요청에 특정 사용자 에이전트 헤더 값이 포함되어 있습니다.
간략한 설명
기본적으로 AWS WAF 필터는 HTTP 요청 파라미터가 있는지 여부를 확인하지 않습니다. AWS WAF를 사용하여 사용자 에이전트 헤더를 기반으로 HTTP 요청을 차단하려면 다음 작업 중 하나를 수행하십시오.
- AWS 관리형 규칙을 사용하여 사용자 에이전트 헤더가 포함되지 않은 요청 차단
- 사용자 지정 규칙을 사용하여 사용자 에이전트 헤더가 포함되지 않은 요청 차단
- 사용자 지정 규칙을 사용하여 특정 사용자 에이전트 헤더가 있는 요청 차단
해결 방법
AWS 관리형 규칙을 사용하여 사용자 에이전트 헤더가 포함되지 않은 요청 차단
AWS WAF용 AWS 관리형 규칙을 사용하는 경우 자체 규칙을 작성할 필요가 없습니다.
참고: AWS 관리형 규칙은 버전이 변경되거나 만료될 수 있습니다. 자세한 내용은 AWS WAF에서 버전이 지정된 관리형 규칙 그룹 사용을 참조하십시오.
NoUserAgent_HEADER 규칙은 HTTP User-Agent 헤더가 없는 요청을 검사합니다. SignalNonBrowserUserAgent 규칙은 사용자 에이전트가 없는 요청을 포함하여 웹 브라우저에서 온 것으로 보이지 않는 사용자 에이전트 문자열을 검사합니다.
웹 ACL에 AWS 관리형 규칙의 규칙 그룹 추가
다음 단계를 완료하십시오.
- AWS WAF 콘솔을 엽니다.
- 탐색 창에서 AWS WAF를 선택합니다.
- 리소스 및 보호 팩을 선택합니다.
- 보호 팩을 찾아 규칙 옆에 있는 보기 및 편집을 선택합니다.
- 오른쪽 창에서 규칙 추가를 선택합니다.
AWS 관리형 규칙 그룹을 선택하고 다음을 클릭합니다.
- 추가하려는 규칙 그룹을 선택합니다.
- 웹 ACL에 추가를 선택합니다.
참고: 핵심 규칙 세트에서 웹 ACL에 추가를 선택합니다. 핵심 규칙 세트에는 NoUserAgent_HEADER 규칙이 포함되어 있습니다.
- 규칙 생성을 선택합니다.
웹 ACL에서 기존 AWS 관리형 규칙의 규칙 그룹 편집
다음 단계를 완료하십시오.
- AWS WAF 콘솔을 엽니다.
- 탐색 창에서 AWS WAF를 선택합니다.
- 리소스 및 보호 팩을 선택합니다.
- 보호 팩을 찾아 규칙 옆에 있는 보기 및 편집을 선택합니다.
- 오른쪽 창에서 AWS 관리형 규칙 그룹을 선택합니다.
- 규칙 재정의 섹션에서 설정을 편집할 수 있습니다.
참고: 설정 편집에 대한 자세한 내용은 관리형 규칙 그룹 작업을 참조하십시오.
- 규칙 저장을 선택합니다.
AWS 관리형 규칙의 규칙 그룹에서 오탐이 발생하는 경우 AWS WAF용 AWS 관리형 규칙을 참조하십시오.
사용자 지정 규칙을 사용하여 사용자 에이전트 헤더가 포함되지 않은 요청 차단
다음 단계를 완료하십시오.
- AWS WAF 콘솔을 엽니다.
- 탐색 창에서 AWS WAF를 선택합니다.
- 리소스 및 보호 팩을 선택합니다.
- 보호 팩을 찾아 규칙 옆에 있는 보기 및 편집을 선택합니다.
- 오른쪽 창에서 규칙 추가를 선택합니다.
사용자 지정 규칙을 선택하고 다음을 클릭합니다.
사용자 지정 규칙을 다시 선택하고 다음을 클릭합니다.
- 규칙 작업을 BLOCK으로 설정합니다.
- 규칙 이름을 입력합니다.
- 요청이 다음과 같은 경우에서 드롭다운을 확장하고 문과 일치하지 **않음(NOT)**을 선택합니다.
- 검사에 단일 헤더를 선택합니다.
- NOT 문에서 다음을 작성합니다.
헤더 필드 이름에 필드 이름을 입력합니다. 예를 들어 사용자 에이전트를 입력합니다.
일치 유형에서 다음보다 큰 크기를 선택합니다.
**크기(바이트)**에 0을 입력합니다.
(선택 사항) 텍스트 변환을 선택하거나 없음을 선택합니다.
- 규칙 생성을 선택합니다.
- (선택 사항) 규칙 우선순위를 설정하려면 오른쪽 창에서 규칙 순서 편집을 선택한 다음 우선순위를 업데이트합니다. 자세한 내용은 규칙 우선순위 설정을 참조하십시오.
참고: 규칙은 표시된 순서대로 적용됩니다.
- 규칙 순서 저장을 선택합니다.
사용자 지정 규칙을 사용하여 특정 사용자 에이전트 헤더가 있는 요청 차단
다음 단계를 완료하십시오.
- AWS WAF 콘솔을 엽니다.
- 탐색 창에서 AWS WAF를 선택합니다.
- 리소스 및 보호 팩을 선택합니다.
- 보호 팩을 찾아 규칙 옆에 있는 보기 및 편집을 선택합니다.
- 오른쪽 창에서 규칙 추가를 선택합니다.
사용자 지정 규칙을 선택하고 다음을 클릭합니다.
사용자 지정 규칙을 다시 선택하고 다음을 클릭합니다.
- 규칙 작업을 BLOCK으로 설정합니다.
- 규칙 이름을 입력합니다.
- 요청이 다음과 같은 경우에서 드롭다운을 확장하고 문과 일치함을 선택합니다.
- 검사에 단일 헤더를 선택합니다.
- 스테이트먼트에서 다음 설정을 구성합니다.
헤더 필드 이름에 필드 이름을 입력합니다. 예를 들어 사용자 에이전트를 입력합니다.
**Match type(일치 유형)**에서 **Contains string(문자열 포함)**을 선택합니다.
일치시킬 문자열에 차단하려는 사용자 에이전트를 입력합니다.
(선택 사항) 텍스트 변환을 선택하거나 없음을 선택합니다.
- 규칙 생성을 선택합니다.
- (선택 사항) 규칙 우선순위를 설정하려면 오른쪽 창에서 규칙 순서 편집을 선택한 다음 우선순위를 업데이트합니다. 자세한 내용은 규칙 우선순위 설정을 참조하십시오.
참고: 규칙은 표시된 순서대로 적용됩니다.
- 규칙 순서 저장을 선택합니다.