AWS Managed Rules rule groups 계정의 - AWS WAF: AWS Firewall Manager 및 AWS Shield Advanced

문서의 영문과 번역 사이에 충돌이 있는 경우에는 영문 버전을 따릅니다. 번역 버전은 기계 번역을 사용하여 제공합니다.

AWS Managed Rules rule groups 계정의

이 단원에서는 현재 사용할 수 있는 AWS Managed Rules rule groups을 설명합니다. 관리형 규칙 그룹을 웹 ACL에 추가하면 콘솔에서 이러한 목록이 나타납니다. API를 통해 ListAvailableManagedRuleGroups를 호출하여 구독한 AWS Marketplace 관리형 규칙 그룹과 함께 이 목록을 검색할 수 있습니다.

기준 규칙 그룹

기준 관리형 규칙 그룹은 다양한 일반적인 위협에 대한 일반적인 보호 기능을 제공합니다. 이러한 규칙 그룹 중 하나 이상을 선택하여 리소스에 대한 기준 보호를 설정합니다.

핵심 규칙 집합(CRS, Core rule set)

VendorName AWS, 이름: AWSManagedRulesCommonRuleSet, WCU: 700

핵심 규칙 집합(CRS, Core rule set) 규칙 그룹에는 일반적으로 웹 애플리케이션에 적용할 수 있는 규칙이 포함되어 있습니다. 이는 고위험 및 일반적으로 발생하는 취약점을 포함하여 광범위한 취약점을 악용하는 데 대한 보호를 제공합니다. OWASP 간행물. AWS WAF 사용 사례에서 이 규칙 그룹을 사용하는 방법을 고려합니다.

규칙 이름 설명
NoUserAgent_HEADER HTTP User-Agent 헤더가 없는 요청을 차단합니다.
UserAgent_BadBots_HEADER 요청이 불량 봇임을 나타내는 공통 User-Agent 헤더 값이 있는지 검사합니다. 예제 패턴에는 nessusnmap이 포함되어 있습니다.
SizeRestrictions_QUERYSTRING URI 쿼리 문자열 길이가 애플리케이션의 표준 경계 안에 있는지 확인합니다.
SizeRestrictions_Cookie_HEADER 쿠키 헤더 길이가 많은 애플리케이션에서 공통적으로 사용되는 범위 안에 있는지 확인합니다.
SizeRestrictions_BODY 요청 본문 크기가 많은 애플리케이션의 공통 범위 안에 있는지 확인합니다.
SizeRestrictions_URIPATH URI 경로 길이가 사양 안에 있는지 확인합니다.
EC2MetaDataSSRF_BODY 요청 본문에서 Amazon EC2 메타데이터를 빼내려는 시도가 있는지 검사합니다.
EC2MetaDataSSRF_COOKIE 요청 쿠키에서 Amazon EC2 메타데이터를 빼내려는 시도가 있는지 검사합니다.
EC2MetaDataSSRF_URIPATH 요청 URI 경로에서 Amazon EC2 메타데이터를 빼내려는 시도가 있는지 검사합니다.
EC2MetaDataSSRF_QUERYARGUMENTS 요청 쿼리 인수에서 Amazon EC2 메타데이터를 빼내려는 시도가 있는지 검사합니다.
GenericLFI_QUERYARGUMENTS 쿼리 인수에 로컬 파일 포함(LFI, Local File Inclusion) 도용이 있는지 검사합니다. 예를 들면 ../../ 같은 기술을 사용한 경로 탐색 시도가 있을 수 있습니다.
GenericLFI_URIPATH URI 경로에 로컬 파일 포함(LFI, Local File Inclusion) 도용이 있는지 검사합니다. 예를 들면 ../../ 같은 기술을 사용한 경로 탐색 시도가 있을 수 있습니다.
GenericLFI_BODY 요청 본문에 로컬 파일 포함(LFI, Local File Inclusion) 도용이 있는지 검사합니다. 예를 들면 ../../ 같은 기술을 사용한 경로 탐색 시도가 있을 수 있습니다.
RestrictedExtensions_URIPATH URI 경로에 클라이언트가 읽거나 실행해서는 안 되는 시스템 파일 확장명이 있는 요청을 검사합니다. 예제 패턴에는 .log.ini 같은 확장명이 포함됩니다.
RestrictedExtensions_QUERYARGUMENTS 쿼리 인수가 클라이언트가 읽거나 실행해서는 안 되는 시스템 파일 확장명인 요청을 검사합니다. 예제 패턴에는 .log.ini 같은 확장명이 포함됩니다.
GenericRFI_QUERYARGUMENTS 모든 쿼리 파라미터의 값을 검사하고 웹 애플리케이션에서 원격 파일 포함(RFI, Remote File Inclusion)을 도용하려는 요청을 차단합니다. 예를 들면 :// 같은 패턴이 있습니다.
GenericRFI_BODY 요청 본문의 값을 검사하고 웹 애플리케이션에서 원격 파일 포함(RFI, Remote File Inclusion)을 도용하려는 요청을 차단합니다. 예를 들면 :// 같은 패턴이 있습니다.
GenericRFI_URIPATH URI 경로의 값을 검사하고 웹 애플리케이션에서 원격 파일 포함(RFI, Remote File Inclusion)을 도용하려는 요청을 차단합니다. 예를 들면 :// 같은 패턴이 있습니다.
CrossSiteScripting_COOKIE AWS WAF의 기본 제공 XSS 탐지 규칙을 사용하여 쿠키 헤더의 값을 검사하고 일반적인 교차 사이트 스크립팅(XSS, cross-site scripting) 패턴을 차단합니다. 예제 패턴에는 <script>alert("hello")</script> 같은 스크립트가 포함됩니다.
CrossSiteScripting_QUERYARGUMENTS AWS WAF의 기본 제공 XSS 탐지 규칙을 사용하여 쿼리 인수의 값을 검사하고 일반적인 교차 사이트 스크립팅(XSS, cross-site scripting) 패턴을 차단합니다. 예제 패턴에는 <script>alert("hello")</script> 같은 스크립트가 포함됩니다.
CrossSiteScripting_BODY AWS WAF의 기본 제공 XSS 탐지 규칙을 사용하여 요청 본문의 값을 검사하고 일반적인 교차 사이트 스크립팅(XSS, cross-site scripting) 패턴을 차단합니다. 예제 패턴에는 <script>alert("hello")</script> 같은 스크립트가 포함됩니다.
CrossSiteScripting_URIPATH AWS WAF의 기본 제공 XSS 탐지 규칙을 사용하여 URI 경로의 값을 검사하고 일반적인 교차 사이트 스크립팅(XSS, cross-site scripting) 패턴을 차단합니다. 예제 패턴에는 <script>alert("hello")</script> 같은 스크립트가 포함됩니다.

관리 보호

VendorName AWS, 이름: AWSManagedRulesAdminProtectionRuleSet, WCU: -100

관리 보호 규칙 그룹에는 노출된 관리 페이지에 대한 외부 액세스를 차단할 수 있는 규칙이 포함되어 있습니다. 서드 파티 소프트웨어를 실행 중이거나, 악성 액터가 애플리케이션에 대한 관리 액세스 권한을 얻게 되는 위험을 줄이려면 이 방법이 유용할 수 있습니다.

규칙 이름 설명
AdminProtection_URIPATH 일반적으로 웹 서버 또는 애플리케이션의 관리를 위해 예약되어 있는 URI 경로에 대한 요청을 검사합니다. 예제 패턴에는 sqlmanager가 포함됩니다.

알려진 잘못된 입력

VendorName AWS, 이름: AWSManagedRulesKnownBadInputsRuleSet, WCU: 200

알려진 잘못된 입력 규칙 그룹에는 유효하지 않은 것으로 알려져 있으며 취약성의 도용 또는 발견과 관련된 요청 패턴을 차단하는 규칙이 포함되어 있습니다. 이렇게 하면 악성 액터가 취약한 애플리케이션을 발견하는 위험을 줄일 수 있습니다.

규칙 이름 설명
Host_localhost_HEADER 로컬 호스트를 나타내는 패턴에 대한 요청의 호스트 헤더를 검사합니다. 예제 패턴에는 localhost가 포함됩니다.
PROPFIND_METHOD HEAD와 유사하지만 XML 객체를 빼내려는 의도가 추가된 PROPFIND에 대한 요청의 HTTP 메서드를 검사합니다.
ExploitablePaths_URIPATH URI 경로에서 도용 가능한 웹 애플리케이션 경로에 대한 액세스 시도를 검사합니다. 예제 패턴에는 web-inf와 같은 경로가 포함됩니다.
BadAuthToken_COOKIE_AUTHORIZATION 요청되지 않은 JSON 웹 토큰(JWT, JSON Web Token)이 요청에 있는지 검사합니다. 이렇게 하면 비밀 키를 추측하려는 악의적인 액터로부터 보호할 수 있습니다.

사용 사례별 규칙 그룹

사용 사례별 규칙 그룹은 다양한 AWS WAF 사용 사례에 대해 점진적 보호 기능을 제공합니다. 애플리케이션에 적용되는 규칙 그룹을 선택합니다.

SQL 데이터베이스

VendorName AWS, 이름: AWSManagedRulesSQLiRuleSet, WCU: 200

SQL 데이터베이스 규칙 그룹에는 SQL 명령어 주입 공격과 같은 SQL 데이터베이스 도용과 관련된 요청 패턴을 차단하는 규칙이 포함되어 있습니다. 이렇게 하면 승인되지 않은 쿼리가 원격으로 삽입되는 것을 방지할 수 있습니다. 애플리케이션이 SQL 데이터베이스와 접속하는 경우 이 규칙 그룹을 사용할 수 있는지 평가합니다.

규칙 이름 설명
SQLiExtendedPatterns_QUERYARGUMENTS 모든 쿼리 파라미터의 값에서 악성 SQL 코드와 일치하는 패턴을 검사합니다. 이 규칙이 검사하는 패턴은 기본 제공 AWS WAF SQL 명령어 주입 일치 문에서 다루지 않습니다.
SQLi_QUERYARGUMENTS 기본 제공 AWS WAF SQL 명령어 주입 일치 문을 사용하여 모든 쿼리 파라미터의 값에서 악성 SQL 코드와 일치하는 패턴을 검사합니다.
SQLi_BODY 기본 제공 AWS WAF SQL 명령어 주입 일치 문을 사용하여 요청 본문에서 악의적인 SQL 코드와 일치하는 패턴을 검사합니다.
SQLi_COOKIE 기본 제공 AWS WAF SQL 명령어 주입 일치 문을 사용하여 요청 쿠키 헤더에서 악성 SQL 코드와 일치하는 패턴을 검사합니다.
SQLi_URIPATH 기본 제공 AWS WAF 주입 일치 문을 사용하여 요청 URI 경로에서 악성 SQL 코드와 일치하는 패턴을 검사합니다.

Linux 운영 체제

VendorName AWS, 이름: AWSManagedRulesLinuxRuleSet, WCU: 200

Linux 운영 체제 규칙 그룹에는 Linux 관련 로컬 파일 포함(LFI, Local File Inclusion) 공격을 포함하여 Linux에 특정한 취약성 도용과 관련된 요청 패턴을 차단하는 규칙이 포함되어 있습니다. 이는 공격자가 액세스하지 않은 파일 컨텐츠나 실행 코드를 노출하는 공격을 방지하는 데 도움이 될 수 있습니다. 애플리케이션의 일부가 Linux에서 실행되는 경우 이 규칙 그룹을 평가해야 합니다. 이 규칙 그룹은 POSIX operating system 규칙 그룹과 함께 사용해야 합니다.

규칙 이름 설명
LFI_URIPATH 웹 애플리케이션의 로컬 파일 포함(LFI, Local File Inclusion) 취약성을 도용하려는 시도가 있는지 요청 경로를 검사합니다. 예제 패턴에는 공격자에게 운영 체제 정보를 제공할 수 있는 /proc/version 등의 파일이 포함됩니다.
LFI_QUERYARGUMENTS 웹 애플리케이션의 로컬 파일 포함(LFI, Local File Inclusion) 취약성을 도용하려는 시도가 있는지 모든 쿼리 파라미터의 값을 검사합니다. 예제 패턴에는 공격자에게 운영 체제 정보를 제공할 수 있는 /proc/version 등의 파일이 포함됩니다.
LFI_BODY 웹 애플리케이션의 로컬 파일 포함(LFI, Local File Inclusion) 취약성을 도용하려는 시도가 있는지 요청 본문을 검사합니다. 예제 패턴에는 공격자에게 운영 체제 정보를 제공할 수 있는 /proc/version 등의 파일이 포함됩니다.

POSIX 운영 체제

VendorName AWS, 이름: AWSManagedRulesUnixRuleSet, WCU: -100

POSIX 운영 체제 규칙 그룹에는 로컬 파일 포함(LFI, Local File Inclusion) 공격을 포함하여 POSIX 및 POSIX 유사 운영 체제에 특정한 취약성 도용과 관련된 요청 패턴을 차단하는 규칙이 포함되어 있습니다. 이는 공격자가 액세스하지 않은 파일 컨텐츠나 실행 코드를 노출하는 공격을 방지하는 데 도움이 될 수 있습니다. 애플리케이션의 일부가 POSIX 또는 POSIX 유사 운영 체제(예: Linux, AIX, HP-UX, macOS, Solaris, FreeBSD, OpenBSD)에서 실행되는 경우 이 규칙 그룹을 평가해야 합니다.

규칙 이름 설명
UNIXShellCommandsVariables_QUERYARGUMENTS Unix 시스템에서 실행되는 웹 애플리케이션에서 명령 주입, LFI 및 경로 탐색 취약성을 도용하려는 시도가 있는지 모든 쿼리 파라미터의 값을 검사합니다. 예로는 echo $HOMEecho $PATH 같은 패턴이 있습니다.
UNIXShellCommandsVariables_BODY Unix 시스템에서 실행되는 웹 애플리케이션에서 명령 주입, LFI 및 경로 탐색 취약성을 도용하려는 시도가 있는지 요청 본문을 검사합니다. 예로는 echo $HOMEecho $PATH 같은 패턴이 있습니다.

Windows 운영 체제

VendorName AWS, 이름: AWSManagedRulesWindowsRuleSet, WCU: 200

Windows 운영 체제 규칙 그룹에는 PowerShell 명령의 원격 실행과 같이 Windows에 특정한 취약성의 도용과 관련된 요청 패턴을 차단하는 규칙이 포함되어 있습니다. 이는 공격자가 무단 명령을 실행하거나 악의적인 코드를 실행할 수 있는 취약점의 악용을 방지하는 데 도움이 될 수 있습니다. 애플리케이션의 일부가 Windows 운영 체제에서 실행되는 경우 이 규칙 그룹을 평가합니다.

규칙 이름 설명
PowerShellCommands_Set1_QUERYARGUMENTS 모든 쿼리 매개 변수의 값을 검사하고 powershell 명령 주입 시도를 차단합니다. 웹 애플리케이션. 예제 패턴에는 Invoke-Expression 같은 함수가 포함됩니다.
PowerShellCommands_Set2_QUERYARGUMENTS 모든 쿼리 파라미터의 값을 검사하고 웹 애플리케이션에서 PowerShell 명령 주입 시도를 차단합니다. 예제 패턴에는 Invoke-Expression 같은 함수가 포함됩니다.
PowerShellCommands_Set1_BODY 요청 본문을 검사하고 웹 애플리케이션에서 PowerShell 명령 주입 시도를 차단합니다. 예제 패턴에는 Invoke-Expression 같은 함수가 포함됩니다.
PowerShellCommands_Set2_BODY 요청 본문을 검사하고 웹 애플리케이션에서 PowerShell 명령 주입 시도를 차단합니다. 예제 패턴에는 Invoke-Expression 같은 함수가 포함됩니다.

PHP 애플리케이션

VendorName AWS, 이름: AWSManagedRulesPHPRuleSet, WCU: -100

PHP 애플리케이션 규칙 그룹에는 안전하지 않은 PHP 함수의 주입을 포함하여 PHP 프로그래밍 언어 사용에 특정한 취약성 도용과 관련된 요청 패턴을 차단하는 규칙이 포함되어 있습니다. 이렇게 하면 공격자가 인증되지 않은 코드 또는 명령을 원격으로 실행할 수 있는 취약점의 악용을 방지할 수 있습니다. 애플리케이션이 접속하는 서버에 PHP가 설치되어 있는 경우 이 규칙 그룹을 평가합니다.

규칙 이름 설명
PHPHighRiskMethodsVariables_QUERYARGUMENTS PHP 스크립트 코드 주입 시도가 있는지 모든 쿼리 파라미터의 값을 검사합니다. 예제 패턴에는 fsockopen 같은 함수 및 $_GET superglobal 변수가 포함됩니다.
PHPHighRiskMethodsVariables_BODY PHP 스크립트 코드 주입 시도가 있는지 요청 본문의 값을 검사합니다. 예제 패턴에는 fsockopen 같은 함수 및 $_GET superglobal 변수가 포함됩니다.

WordPress 애플리케이션

VendorName AWS, 이름: AWSManagedRulesWordPressRuleSet, WCU: -100

WordPress 애플리케이션 규칙 그룹에는 WordPress 사이트에 특정한 취약성 도용과 관련된 요청 패턴을 차단하는 규칙이 포함되어 있습니다. WordPress를 실행하는 경우 이 규칙 그룹을 평가해야 합니다. 이 규칙 그룹은 SQL databasePHP application 규칙 그룹과 함께 사용해야 합니다.

규칙 이름 설명
WordPressExploitableCommands_QUERYSTRING 취약한 설치 또는 플러그인에서 도용될 수 있는 고위험 WordPress 명령이 있는지 요청 쿼리 문자열을 검사합니다. 예제 패턴에는 do-reset-wordpress 같은 명령이 포함됩니다.
WordPressExploitablePaths_URIPATH 쉽게 도용 가능한 취약성이 있는 것으로 알려진 xmlrpc.php 등 WordPress 파일이 있는지 요청 URI 경로를 검사합니다.

IP 평판 규칙 그룹

IP 평판 규칙 그룹을 사용하면 소스에 따라 요청을 차단할 수 있습니다. 봇 트래픽에 대한 노출 또는 도용 시도를 줄이고 싶거나 콘텐츠에 대해 지리적 제한을 적용 중인 경우 이러한 규칙 그룹 중 하나 이상을 선택합니다.

Amazon IP 평판 목록

VendorName AWS, 이름: AWSManagedRulesAmazonIpReputationList, WCU: 25*

Amazon IP 평판 목록 규칙 그룹에는 Amazon 내부 위협 인텔리전스를 기반으로 하는 규칙이 포함되어 있습니다. 이는 일반적으로 봇이나 다른 위협과 연결된 IP 주소를 차단하려는 경우에 유용합니다. 이러한 IP 주소를 차단하면 봇을 완화하고 악성 액터가 취약한 애플리케이션을 발견하는 위험을 줄일 수 있습니다.

규칙 이름 설명
AWSManagedIPReputationList_xxxx Amazon 위협 인텔리전스에 의해 악의적인 액터 및 봇으로 식별된 IP 주소 목록을 검사합니다.

익명 IP 목록

VendorName AWS, 이름: AWSManagedRulesAnonymousIpList, WCU: 50

익명 IP 목록 규칙 그룹에는 최종 사용자 ID 난독화를 허용하는 서비스의 요청을 차단하는 규칙이 포함되어 있습니다. 여기에는 VPN, 프록시, Tor 노드 및 호스팅 공급자(AWS 포함)의 요청이 포함됩니다. 이 규칙 그룹은 애플리케이션에서 자신의 ID를 숨기려고 하는 최종 사용자를 필터링하려는 경우에 유용합니다. 이러한 서비스의 IP 주소를 차단하면 봇을 완화하고 지리적 제한을 피할 수 있습니다.

규칙 이름 설명
AnonymousIPList TOR 노드, 임시 프록시 및 기타 마스킹 서비스 등 클라이언트 정보를 익명화하는 것으로 알려진 소스의 IP 주소 목록을 검사합니다.
HostingProviderIPList 최종 사용자 트래픽을 소싱할 가능성이 적은 호스팅 공급자 및 클라우드 공급자의 IP 주소 목록을 검사합니다. 예를 들면 AWS 같은 클라우드 공급자가 있습니다.