AWS受管理規則規則群組清單 - AWS WAF、AWS Firewall Manager 與 AWS Shield Advanced

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

AWS受管理規則規則群組清單

本節說明AWS目前可用的受管理規則規則群組。當您將受管規則群組新增至 Web ACL 時,您會在主控台上看到這些項目。透過 API,您可以透過呼叫 ListAvailableManagedRuleGroups 來擷取此清單以及您訂閱的 AWS Marketplace 受管規則群組。

基準規則群組

基準管理的規則群組可針對各種常見威脅提供一般防護。選擇這些規則群組中的一或多個,以建立資源的基準保護。

核心規則集 (CRS)

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

核心規則集 (CRS) 規則群組包含通常適用於 Web 應用程式的規則。這可保護抵禦針對各式各樣漏洞的利用,包括 OWASP 出版品 (例如OWASP 前 10 名。考慮對任何 AWS WAF 使用案例使用此規則群組。

規則名稱 描述
NoUserAgent_HEADER 封鎖沒有 HTTP User-Agent 標頭的要求。
UserAgent_BadBots_HEADER 檢查是否存在常見的 User-Agent 標頭值,指出要求為惡意機器人。範例模式包括 nessusnmap

如需機器人管理,請參閱AWS 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 檢查 Cookie 標頭的值,並封鎖常見的跨網站指令碼 (XSS) 模式,使用AWS WAF。範例模式包括 <script>alert("hello")</script> 之類的指令碼。
CrossSiteScripting_QUERYARGUMENTS 使用內建的 XSS 偵測規則,檢查查詢引數的值,並封鎖常見的跨網站指令碼 (XSS) 模式。AWS WAF。範例模式包括 <script>alert("hello")</script> 之類的指令碼。
CrossSiteScripting_BODY 檢查要求主體的值,並封鎖常見的跨網站指令碼 (XSS) 模式,使用AWS WAF。範例模式包括 <script>alert("hello")</script> 之類的指令碼。
CrossSiteScripting_URIPATH 檢查 URI 路徑的值,並封鎖常見的跨網站指令碼 (XSS) 模式,使用AWS WAF。範例模式包括 <script>alert("hello")</script> 之類的指令碼。

管理員保護

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

管理員保護規則群組包含的規則可讓您封鎖對公開的管理頁面的外部存取。如果您執行第三方軟體,或想要降低惡意行為者取得應用程式系統管理存取權的風險,這可能會很有用。

規則名稱 描述
AdminProtection_URIPATH 檢查要求中是否有一般保留給 Web 伺服器或應用程式管理的 URI 路徑。範例模式包括 sqlmanager

已知錯誤輸入

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

已知錯誤輸入規則群組包含的規則可封鎖已知無效且與利用或發現的漏洞相關的請求模式。這有助於降低惡意行為者發現易受攻擊應用程式的風險。

規則名稱 描述
Host_localhost_HEADER 檢查要求中的主機標頭是否有模式指出 localhost。範例模式包括 localhost
PROPFIND_METHOD 檢查要求中的 HTTP 方法是否有 PROPFIND,這是類似 HEAD 的方法,但有滲透 XML 物件的額外意圖。
ExploitablePaths_URIPATH 檢查 URI 路徑是否有存取可利用 Web 應用程式路徑的嘗試。範例模式包括 web-inf 之類的路徑。
BadAuthToken_COOKIE_AUTHORIZATION 檢查要求是否存在來路不明的 JSON Web Token (JWT)。這可以防禦嘗試猜測私密金鑰的惡意行為者。

使用案例特定的規則群組

使用案例特定規則群組可為多樣化的 AWS WAF 使用案例提供增量式保護。選擇套用至應用程式的規則群組。

SQL 資料庫

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

SQL 資料庫規則群組包含的規則,可封鎖與 SQL 資料庫利用相關的請求模式,例如 SQL Injection 攻擊。這有助於防止未經授權查詢的遠端注入。如果您的應用程式會與 SQL 資料庫互動,請評估此規則群組以供使用。

規則名稱 描述
SQLiExtendedPatterns_QUERYARGUMENTS 檢查所有查詢參數的值是否有符合惡意 SQL 程式碼的模式。此規則會檢查的模式不在內建 AWS WAF SQL Injection 比對陳述式的涵蓋範圍。
SQLi_QUERYARGUMENTS 使用內建的 AWS WAF SQL Injection 比對陳述式,來檢查所有查詢參數的值是否有符合惡意 SQL 程式碼的模式。
SQLi_BODY 使用內建的 AWS WAF SQL Injection 比對陳述式,來檢查所有要求主體是否有符合惡意 SQL 程式碼的模式。
SQLi_COOKIE 使用內建的 AWS WAF SQL Injection 比對陳述式,來檢查所有要求 Cookie 標頭是否有符合惡意 SQL 程式碼的模式。
SQLi_URIPATH 使用內建的 AWS WAF Injection 比對陳述式,檢查要求 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 作業系統特定漏洞相關的請求模式,包括本機檔案包含 (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 路徑是否有 WordPress 檔案,如 xmlrpc.php,其已知具有易於入侵的漏洞。

IP 評價規則群組

IP 評價規則群組可讓您根據請求的來源封鎖請求。如果您要減少暴露於機器人流量、利用嘗試,或是對內容強制執行地理限制,請選擇一或多個這些規則群組。如需機器人管理,請參閱AWS WAF機器人控制規則群組

Amazon IP 評價清單

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

Amazon IP 評價清單規則群組包含以 Amazon 內部威脅情報為基礎的規則。如果您要封鎖通常與 Bot 或其他威脅相關聯的 IP 地址,這會很有用。封鎖這些 IP 地址有助於減輕 Bot,並降低惡意行為者發現易受攻擊應用程式的風險。

此規則群組中的規則會將標籤新增至相符請求。如需標示的相關資訊,請參閱AWS WAF網頁請求上的標籤

規則名稱 描述
AWSManagedIPReputationList 檢查已被 Amazon 威脅情報識別為機器人的 IP 位址清單。

Label: (標籤:)awswaf:managed:aws:amazon-ip-list:AWSManagedIPReputationList

匿名 IP 清單

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

匿名 IP 清單規則群組包含規則,能封鎖會允許檢視器身分混淆的服務請求。這些包括來自 VPN,代理、Tor 節點和託管供應商 (包括AWS。如果您要篩除可能會嘗試從您應用程式隱藏自身身分的檢視器,則此規則群組相當有用。封鎖這些服務的 IP 地址能協助降低機器人,以及迴避地理區域限制的問題。

此規則群組中的規則會將標籤新增至相符請求。如需標示的相關資訊,請參閱AWS WAF網頁請求上的標籤

規則名稱 描述
AnonymousIPList 檢查 IP 位址清單是否有已知會使用戶端資訊匿名化的來源,例如 TOR 節點、暫時代理伺服器和其他遮罩服務。

Label: (標籤:)awswaf:managed:aws:anonymous-ip-list:AnonymousIPList

HostingProviderIPList 檢查來自託管和雲端提供者的 IP 位址清單,其不太可能為來源使用者流量。範例包括雲端提供者,例如 AWS。

Label: (標籤:)awswaf:managed:aws:anonymous-ip-list:HostingProviderIPList

AWS WAF機器人控制規則群組

機器人控制管理規則群組可從AWS受管規則。

AWS WAF自動程式控制

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

Bot Control Managed 規則群組包含規則,可封鎖和管理來自 Bot 的請求。當您使用此規則群組時,需要支付額外費用。如需詳細資訊,請參閱 AWS WAF 定價

為了降低您的成本,並確保您正在管理您想要的機器人流量,請根據AWS WAF機器人控制

Bot Control 管理的規則群組會為每個規則產生標籤。您可以通過呼叫 API 擷取標籤DescribeManagedRuleGroup。標籤列在AvailableLabels在回應中的屬性。

Bot 控制標籤會在下列命名空間中產生,視規則而定:

  • bot:category:— 機器人的類別,由AWS WAF,例如bot:category:search_engine:bot:category:content_fetcher:

  • bot:name:— bot 名稱 (如果有的話),例如bot:name:slurpbot:name:googlebot,以及bot:name:pocket_parser

  • bot:— 用來指示已驗證的機器人,並具有標籤bot:verified。這用於常見的理想機器人,如googlebotbingbot

    機器人控制使用來自AWS WAF來驗證機器人。如果您已驗證透過 Proxy 或負載平衡器路由的機器人,您可能需要明確允許它們。如需相關資訊,請參閱「轉寄 IP 地址」。

  • signal:— 用於指示不是更常用或驗證的機器人的要求屬性。

Bot Control 受管理的規則群組會將標籤套用至一組通常允許的可驗證機器人。規則群組不會封鎖此類別的機器人,也不會套用任何signal:標籤。如果需要,您可以撰寫使用 Bot Control 管理規則群組所套用之標籤的自訂規則,來封鎖這些規則或其中的一個子集。如需此項目和範例的詳細資訊,請參閱AWS WAF機器人控制

規則名稱 描述
CategoryAdvertising 檢查用於廣告目的的機器人。
CategoryArchiver 檢查用於封存目的的機器人。
CategoryContentFetcher 檢查代表使用者擷取內容的機器人。
CategoryHttpLibrary 檢查機器人經常使用的 HTTP 庫。
CategoryLinkChecker 檢查檢查是否有損壞鏈接的機器人。
CategoryMiscellaneous 檢查其他機器人。
CategoryMonitoring 檢查用於監視目的的機器人。
CategoryScrapingFramework 檢查 Web 抓取框架。
CategorySecurity 檢查是否有安全相關的 Bot。
CategorySeo 檢查用於搜尋引擎最佳化的機器人。
CategorySocialMedia 檢查社交媒體平台所使用的機器人以提供內容摘要。經過驗證的社交媒體機器人不會被封鎖。
CategorySearchEngine 檢查搜尋引擎機器人。經過驗證的搜尋引擎不會被封鎖。
SignalAutomatedBrowser 檢查是否有自動化網頁瀏覽器的指示。
SignalKnownBotDataCenter 檢查機器人通常使用的資料中心。
SignalNonBrowserUserAgent 檢查似乎不是來自 Web 瀏覽器的用戶代理字符串。