Amazon“托管规则” 规则组列表 - Amazon WAF、Amazon Firewall Manager 和 Amazon Shield Advanced
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

Amazon“托管规则” 规则组列表

本节介绍Amazon当前可用的托管规则组。当您将托管规则组添加到 Web ACL 时,您可以在控制台上查看这些规则组。通过 API,您可以检索此列表以及Amazon Web Services Marketplace托管规则组,您通过调用ListAvailableManagedRuleGroups.

基准规则组

基准托管规则组可针对多种常见威胁提供一般保护。请选择以下一个或多个规则组以便为您的资源建立基准保护。

核心规则集 (CRS)

VendorName:AWS,名称:AWSManagedRulesCommonRuleSet, WCU: 700

核心规则集 (CRS) 规则组包含通常适用于 Web 应用程序的规则。该规则组有助于防止利用各种漏洞,包括 OWASP 出版物中描述的高风险和经常发生的漏洞,如OWASP 10 强. 请考虑将此规则组用于任何 Amazon WAF 使用案例。

规则名称 描述
NoUserAgent_HEADER 阻止没有 HTTP User-Agent 标头的请求。
UserAgent_BadBots_HEADER 检查是否存在指示请求为恶意自动程序的常见 User-Agent 标头值。示例模式包括 nessusnmap

有关机器人管理,另请参阅Amazon WAF自动程序控制规则组.

SizeRestrictions_QUERYSTRING 验证 URI 查询字符串长度是否最多为 2,048 字节。
SizeRestrictions_Cookie_HEADER 验证 cookie 标头长度是否最多为 10,240 字节。
SizeRestrictions_BODY 验证请求正文大小是否最多为 10,240 字节。
SizeRestrictions_URIPATH 验证 URI 路径长度是否最多为 1,024 字节。
EC2MetaDataSSRF_BODY 检查是否有恶意方试图从请求正文中泄漏 Amazon EC2 元数据。
EC2MetaDataSSRF_COOKIE 检查是否有恶意方试图从请求 cookie 中泄漏 Amazon EC2 元数据。
EC2MetaDataSSRF_URIPATH 检查是否有恶意方试图从请求 URI 路径中泄漏 Amazon EC2 元数据。
EC2MetaDataSSRF_QUERYARGUMENTS 检查是否有恶意方试图从请求查询参数中泄漏 Amazon EC2 元数据。
GenericLFI_QUERYARGUMENTS 检查查询参数中是否存在本地文件包含 (LFI) 攻击。示例包括使用类似于 ../../ 的技术尝试遍历路径。
GenericLFI_URIPATH 检查 URI 路径中是否存在本地文件包含 (LFI) 攻击。示例包括使用类似于 ../../ 的技术尝试遍历路径。
GenericLFI_BODY 检查请求正文中是否存在本地文件包含 (LFI) 攻击。示例包括使用类似于 ../../ 的技术尝试遍历路径。
RestrictedExtensions_URIPATH 检查其 URI 路径包含客户端不应读取或运行的系统文件扩展名的请求。示例模式包括类似于 .log.ini 的扩展名。
RestrictedExtensions_QUERYARGUMENTS 检查其查询参数为客户端不应读取或运行的系统文件扩展名的请求。示例模式包括类似于 .log.ini 的扩展名。
GenericRFI_QUERYARGUMENTS 检查所有查询参数的值,并阻止试图利用 Web 应用程序中的 RFI(远程文件包含)进行攻击的请求。示例包括类似于 :// 的模式。
GenericRFI_BODY 检查请求正文的值,并阻止试图利用 Web 应用程序中的 RFI(远程文件包含)进行攻击的请求。示例包括类似于 :// 的模式。
GenericRFI_URIPATH 检查 URI 路径的值,并阻止试图利用 Web 应用程序中的 RFI(远程文件包含)进行攻击的请求。示例包括类似于 :// 的模式。
CrossSiteScripting_COOKIE 使用Amazon WAF. 示例模式包括类似于 <script>alert("hello")</script> 的脚本。
CrossSiteScripting_QUERYARGUMENTS 使用中的内置 XSS 检测规则检查查查参数的值,并阻止常见的跨站点脚本 (XSS) 模式。Amazon WAF. 示例模式包括类似于 <script>alert("hello")</script> 的脚本。
CrossSiteScripting_BODY 使用中的内置 XSS 检测规则检查请求正文的值,并阻止常见的跨站点脚本 (XSS) 模式。Amazon WAF. 示例模式包括类似于 <script>alert("hello")</script> 的脚本。
CrossSiteScripting_URIPATH 使用中的内置 XSS 检测规则检查 URI 路径的值,并阻止常见的跨站点脚本 (XSS) 模式。Amazon WAF. 示例模式包括类似于 <script>alert("hello")</script> 的脚本。

管理保护

VendorName:AWS,名称:AWSManagedRulesAdminProtectionRuleSet, WCU: 100

管理保护规则组包含允许您阻止对公开的管理页面进行外部访问的规则。如果您运行第三方软件,或者希望降低恶意人员获取您的应用程序的管理访问权限的风险,该规则组可能非常有用。

规则名称 描述
AdminProtection_URIPATH 检查针对通常为管理 Web 服务器或应用程序而保留的 URI 路径的请求。示例模式包括 sqlmanager

已知错误输入

VendorName:AWS,名称:AWSManagedRulesKnownBadInputsRuleSet, WCU: 200

已知错误输入规则组包含用于阻止请求模式的规则,这些模式确认无效且与漏洞攻击或发现相关联。这有助于降低恶意人员发现易受攻击的应用程序的风险。

规则名称 描述
Host_localhost_HEADER 检查请求中的主机标头是否有指示本地主机的模式。示例模式包括 localhost
PROPFIND_METHOD 检查请求中用于 PROPFIND 的 HTTP 方法,这是一种类似于 HEAD 的方法,但具有泄漏 XML 对象的额外意图。
ExploitablePaths_URIPATH 检查 URI 路径中是否有恶意方试图访问可利用的 Web 应用程序路径。示例模式包括类似于 web-inf 的路径。
BadAuthToken_COOKIE_AUTHORIZATION 检查请求中是否存在未经请求的 JSON Web 令牌 (JWT)。这可以防止恶意角色试图猜测私有密钥。

使用案例特定规则组

使用案例特定规则组为许多不同的 Amazon WAF 使用案例提供增量保护。选择适用于您的应用程序的规则组。

SQL 数据库

VendorName:AWS,名称:AWSManagedRulesSQLiRuleSet, WCU: 200

SQL 数据库规则组包含阻止与 SQL 数据库攻击(如 SQL 注入攻击)相关的请求模式的规则。该规则组有助于防止远程注入未经授权的查询。如果应用程序与 SQL 数据库相连,请评估此规则组以便使用。

规则名称 描述
SQLiExtendedPatterns_QUERYARGUMENTS 检查所有查询参数的值,以查找与恶意 SQL 代码匹配的模式。内置的 Amazon WAF SQL 注入匹配语句不涵盖此规则检查的模式。
SQLi_QUERYARGUMENTS 使用内置的 Amazon WAF SQL 注入匹配语句检查所有查询参数的值,以查找与恶意 SQL 代码匹配的模式。
SQLi_BODY 使用内置的 Amazon WAF SQL 注入匹配语句检查请求主体,以查找与恶意 SQL 代码匹配的模式。
SQLi_COOKIE 使用内置的 Amazon WAF SQL 注入匹配语句检查请求 cookie 标头,以查找与恶意 SQL 代码匹配的模式。
SQLi_URIPATH 使用内置的 Amazon WAF 注入匹配语句检查请求 URI 路径,以查找与恶意 SQL 代码匹配的模式。

Linux 操作系统

VendorName:AWS,名称:AWSManagedRulesLinuxRuleSet, WCU: 200

Linux 操作系统规则组包含阻止请求模式的规则,这些请求模式与利用 Linux 特定漏洞(包括 Linux 特定的本地文件包含 (LFI) 攻击)相关。这有助于防止暴露攻击者不应当访问的文件内容或运行代码的攻击。如果应用程序的任何部分在 Linux 上运行,则应评估此规则组。您应将此规则组与 POSIX operating system 规则组结合使用。

规则名称 描述
LFI_URIPATH 检查请求路径,以查找是否有恶意方试图利用 Web 应用程序中的本地文件包含 (LFI) 漏洞。示例模式包括类似于 /proc/version 的文件,它们可能向攻击者提供操作系统信息。
LFI_QUERYARGUMENTS 检查所有查询参数的值,以查找是否有恶意方试图利用 Web 应用程序中的本地文件包含 (LFI) 漏洞。示例模式包括类似于 /proc/version 的文件,它们可能向攻击者提供操作系统信息。
LFI_BODY 检查请求正文,以查找是否有恶意方试图利用 Web 应用程序中的本地文件包含 (LFI) 漏洞。示例模式包括类似于 /proc/version 的文件,它们可能向攻击者提供操作系统信息。

POSIX 操作系统

VendorName:AWS,名称:AWSManagedRulesUnixRuleSet, WCU: 100

POSIX 操作系统规则组包含的规则可阻止与利用 POSIX 和类似 POSIX 的操作系统特定漏洞(包括 Linux 特定的本地文件包含 (LFI) 攻击)相关的请求模式。这有助于防止暴露攻击者不应当访问的文件内容或运行代码的攻击。如果应用程序的任何部分在 POSIX 或类似 POSIX 的操作系统(包括 Linux、AIX、HP-UX、macOS、Solaris、FreeBSD 和 OpenBSD)上运行,则应评估此规则组。

规则名称 描述
UNIXShellCommandsVariables_QUERYARGUMENTS 检查所有查询参数的值,以查找是否有恶意方试图利用在 Unix 系统上运行的 Web 应用程序中的命令注入、LFI 和路径遍历漏洞。示例包括类似于 echo $HOMEecho $PATH 的模式。
UNIXShellCommandsVariables_BODY 检查请求正文,以查找是否有恶意方试图利用在 Unix 系统上运行的 Web 应用程序中的命令注入、LFI 和路径遍历漏洞。示例包括类似于 echo $HOMEecho $PATH 的模式。

Windows 操作系统

VendorName:AWS,名称:AWSManagedRulesWindowsRuleSet, WCU: 200

Windows 操作系统规则组包含的规则可阻止与利用 Windows 特定漏洞相关的请求模式,例如,远程执行 PowerShell 命令。这有助于防止利用允许攻击者运行未经授权的命令或运行恶意代码的漏洞。如果应用程序的任何部分在 Windows 操作系统上运行,则应评估此规则组。

规则名称 描述
PowerShellCommands_Set1_QUERYARGUMENTS 检查所有查询参数的值,并阻止 Web 应用程序中的 PowerShell 命令注入尝试。此检查需要两个规则,以适应模式匹配集的大小。匹配模式表示 PowerShell 命令,例如Invoke-Expression.
PowerShellCommands_Set2_QUERYARGUMENTS 检查所有查询参数的值,并阻止 Web 应用程序中的 PowerShell 命令注入尝试。此检查需要两个规则,以适应模式匹配集的大小。匹配模式表示 PowerShell 命令,例如Invoke-Expression.
PowerShellCommands_Set1_BODY 检查请求正文的值,并阻止 Web 应用程序中的 PowerShell 命令注入尝试。此检查需要两个规则,以适应模式匹配集的大小。匹配模式表示 PowerShell 命令,例如Invoke-Expression.
PowerShellCommands_Set2_BODY 检查请求正文的值,并阻止 Web 应用程序中的 PowerShell 命令注入尝试。此检查需要两个规则,以适应模式匹配集的大小。匹配模式表示 PowerShell 命令,例如Invoke-Expression.

PHP 应用程序

VendorName: AWS,名称:AWSManagedRulesPHPRuleSet, WCU: 100

PHP 应用程序规则组包含阻止请求模式的规则,这些请求模式与利用特定于 PHP 编程语言使用的漏洞相关,包括注入不安全的 PHP 函数。这有助于防止利用允许攻击者远程运行未经授权的代码或命令的漏洞。如果 PHP 安装在与应用程序相连的任何服务器上,则评估此规则组。

规则名称 描述
PHPHighRiskMethodsVariables_QUERYARGUMENTS 检查所有查询参数的值以查找 PHP 脚本代码注入尝试。示例模式包括类似 fsockopen$_GET 超全局变量的函数。
PHPHighRiskMethodsVariables_BODY 检查请求主体的值以查找 PHP 脚本代码注入尝试。示例模式包括类似 fsockopen$_GET 超全局变量的函数。

WordPress 应用程序

VendorName: AWS,名称:AWSManagedRulesWordPressRuleSet, WCU: 100

WordPress 应用程序规则组包含阻止请求模式的规则,这些请求模式与利用 WordPress 网站特定漏洞相关。如果您正在运行 WordPress,则应评估此规则组。此规则组应与 SQL databasePHP application 规则组一起使用。

规则名称 描述
WordPressExploitableCommands_QUERYSTRING 检查请求查询字符串,以查找可能在易受攻击的安装或插件中被利用的高风险 WordPress 命令。示例模式包括类似于 do-reset-wordpress 的命令。
WordPressExploitablePaths_URIPATH 检查请求 URI 路径是否有类似于 xmlrpc.php 的 WordPress 文件,已知这些文件具有易被利用的漏洞。

IP 声誉规则组

IP 声誉规则组允许您根据请求源阻止请求。如果您希望减少自动程序流量、尝试攻击的风险,或者如果您要对内容强制地理限制,请选择其中一个或多个规则组。有关机器人管理,另请参阅Amazon WAF自动程序控制规则组.

Amazon IP 声誉列表

VendorName: AWS,名称:AWSManagedRulesAmazonIpReputationList, WCU: 25

Amazon IP 声誉列表规则组包含基于 Amazon 内部威胁情报的规则。如果您想阻止通常与自动程序或其他威胁相关联的 IP 地址,此规则组非常有用。阻止这些 IP 地址有助于规避自动程序,并降低恶意人员发现易受攻击的应用程序的风险。

此规则组中的规则将向匹配请求添加标签。有关标签的信息,请参阅Amazon WAFWeb 请求上的标签.

规则名称 描述
AWSManagedIPReputationList 检查已被 Amazon 威胁情报识别为自动程序的 IP 地址列表。

Label (标签):awswaf:managed:aws:amazon-ip-list:AWSManagedIPReputationList.

匿名 IP 列表

VendorName: AWS,名称:AWSManagedRulesAnonymousIpList, WCU: 50

此匿名 IP 列表包含用于阻止来自以下服务的请求的规则:这些服务允许对查看者身份进行模糊处理。其中包括来自 VPN、代理、Tor 节点和托管提供商的请求(包括Amazon)。如果要筛选出可能试图从应用程序中隐藏其身份的查看者,则此规则组非常有用。阻止这些服务的 IP 地址有助于减少爬虫程序和逃避地理限制。

此规则组中的规则将向匹配请求添加标签。有关标签的信息,请参阅Amazon WAFWeb 请求上的标签.

规则名称 描述
AnonymousIPList 检查已知用于匿名处理客户端信息的源的 IP 地址列表,例如 TOR 节点、临时代理和其他遮蔽服务。

Label (标签):awswaf:managed:aws:anonymous-ip-list:AnonymousIPList.

HostingProviderIPList 检查来自托管和云提供商的 IP 地址列表,这些提供商不太可能产生最终用户流量。示例包括云提供商,如 Amazon。

Label (标签):awswaf:managed:aws:anonymous-ip-list:HostingProviderIPList.

Amazon WAF自动程序控制规则组

自动程序控制托管规则组可从Amazon托管规则。

Amazon WAF自动程序控制

VendorName: AWS,名称:AWSManagedRulesBotControlRuleSet, WCU: 50

Bot Control 托管规则组包含用于阻止和管理来自自自动程序的请求的规则。当您使用此规则组时,您需要支付额外费用。有关更多信息,请参阅 Amazon WAF定价

为了降低成本并确保您正在根据需要管理自己的机器人流量,请根据Amazon WAF自动程序控制.

机器人控制托管规则组为每个规则生成标签。您可以调用 API 以检索标签DescribeManagedRuleGroup. 这些标签列在AvailableLabels属性。

机器人控制标签在以下命名空间中生成,具体取决于规则:

  • bot:category:— 机器人的类别,由Amazon WAF,例如,bot:category:search_engine:bot:category:content_fetcher:.

  • bot:name:— 自动程序名称(如果有)bot:name:slurpbot:name:googlebot, 和bot:name:pocket_parser.

  • bot:— 用于指示带有标签的已验证的机器人bot:verified. 这用于常见的理想机器人,如googlebotbingbot.

    机器人控制使用来自Amazon WAF来验证机器人。如果您已验证通过代理或负载均衡器路由的机器人程序,则可能需要明确允许它们。有关信息,请参阅 转发的 IP 地址

  • signal:— 用于指示未更常用或验证的爬虫程序的请求属性。

机器人控制托管规则组将标签应用于一组通常允许的可验证机器人。规则组不会阻止此类别的机器人,也不应用任何signal:标签。如果需要,可以通过编写使用 Bot Control 托管规则组应用的标签的自定义规则来阻止它们或其中的一部分。有关此问题和示例的更多信息,请参阅Amazon WAF自动程序控制.

规则名称 描述
CategoryAdvertising 检查用于广告目的的机器人。
CategoryArchiver 检查用于存档目的的机器人。
CategoryContentFetcher 检查代表最终用户获取内容的机器人。
CategoryHttpLibrary 检查机器人经常使用的 HTTP 库。
CategoryLinkChecker 检查检查断开链接的机器人。
CategoryMiscellaneous 检查杂项机器人。
CategoryMonitoring 检查用于监控目的的机器人。
CategoryScrapingFramework 检查网页抓取框架。
CategorySecurity 检查与安全相关的机器人。
CategorySeo 检查用于搜索引擎优化的机器人。
CategorySocialMedia 检查社交媒体平台用于提供内容摘要的机器人。已验证的社交媒体机器人未被阻止。
CategorySearchEngine 检查搜索引擎机器人。已验证的搜索引擎未被阻止。
SignalAutomatedBrowser 检查自动化 Web 浏览器的指示。
SignalKnownBotDataCenter 检查机器人通常使用的数据中心。
SignalNonBrowserUserAgent 检查似乎不是来自 Web 浏览器的用户代理字符串。