Elastic Load Balancing 的 Security Hub 控制項 - AWS Security Hub

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

Elastic Load Balancing 的 Security Hub 控制項

這些 AWS Security Hub 控制項會評估 Elastic Load Balancing 服務和資源。

這些控制項可能完全無法使用 AWS 區域。如需詳細資訊,請參閱各區域控制項的可用性

【ELB.1】 Application Load Balancer 應設定為將所有HTTP請求重新導向至 HTTPS

相關要求:PCIDSSv3.2.1/2.3、PCIDSSv3.2.1/4.1, NIST.800-53.r5 AC-17(2)、 NIST.800-53.r5 IA-5(1) NIST.800-53.r5 AC-4、 NIST.800-53.r5 SC-12(3)、 NIST.800-53.r5 SC-13, NIST.800-53.r5 SC-23, NIST.800-53.r5 SC-23(3)、 NIST.800-53.r5 SC-7(4)、 NIST.800-53.r5 SC-8(1) NIST.800-53.r5 SC-8、 NIST.800-53.r5 SC-8(2)、NIST.800-53.r5 SI-7(6)

類別:偵測 > 偵測服務

嚴重性:

資源類型: AWS::ElasticLoadBalancingV2::LoadBalancer

AWS Config 規則:alb-http-to-https-redirection-check

排程類型:定期

參數:

此控制項會檢查是否要HTTP在 Application Load Balancer 的所有HTTP接聽程式上設定HTTPS重新導向。如果 Application Load Balancer 的任何HTTP接聽程式不需要設定HTTPS重新導向HTTP,則控制項會失敗。

開始使用 Application Load Balancer 之前,您必須新增一或多個接聽程式。接聽程式是使用已設定通訊協定和連接埠檢查連線請求的一種程序。接聽程式同時支援 HTTP和 HTTPS通訊協定。您可以使用HTTPS接聽程式將加密和解密的工作卸載至負載平衡器。若要強制執行傳輸中的加密,您應該搭配 Application Load Balancer 使用重新導向動作,將用戶端HTTP請求重新導向至連接埠 443 上的HTTPS請求。

若要進一步了解,請參閱 Application Load Balancer 使用者指南中的 Application Load Balancer 接聽程式

修補

若要將HTTP請求重新導向至 HTTPS,您必須新增 Application Load Balancer 接聽程式規則或編輯現有規則。

如需新增規則的指示,請參閱《Application Load Balancer 使用者指南》中的新增規則。針對通訊協定 :連接埠,選擇 HTTP,然後輸入 80。對於新增動作,重新導向至,選擇 HTTPS,然後輸入 443

如需編輯現有規則的指示,請參閱《Application Load Balancer 使用者指南》中的編輯規則。針對通訊協定 :連接埠,選擇 HTTP,然後輸入 80。對於新增動作,重新導向至,選擇 HTTPS,然後輸入 443

【ELB.2】 具有 SSL/HTTPS 接聽程式的 Classic Load Balancer 應使用 提供的憑證 AWS Certificate Manager

相關要求: NIST.800-53.r5 AC-17(2) NIST.800-53.r5 AC-4、、 NIST.800-53.r5 IA-5(1)、 NIST.800-53.r5 SC-12(3)、 NIST.800-53.r5 SC-13、 NIST.800-53.r5 SC-23、 NIST.800-53.r5 SC-23(5)、 NIST.800-53.r5 SC-7(4)、 NIST.800-53.r5 SC-8、(1) NIST.800-53.r5 SC-8、 NIST.800-53.r5 SC-8(2)、NIST.800-53.r5 SI-7(6)

類別:保護 > 資料保護 > 加密 data-in-transit

嚴重性:

資源類型: AWS::ElasticLoadBalancing::LoadBalancer

AWS Config 規則:elb-acm-certificate-required

排程類型:已觸發變更

參數:

此控制項會檢查 Classic Load Balancer 是否使用 AWS Certificate Manager () 提供的 HTTPS/SSL 憑證ACM。如果使用 HTTPS/SSL 接聽程式設定的 Classic Load Balancer 不使用 提供的憑證,則控制項會失敗ACM。

若要建立憑證,您可以使用 ACM或支援 SSL和 TLS通訊協定的工具,例如 OpenSSL。Security Hub 建議您使用 ACM 為負載平衡器建立或匯入憑證。

ACM 與 Classic Load Balancer 整合,讓您可以在負載平衡器上部署憑證。您也應該自動續約這些憑證。

修補

如需有關如何將 ACM SSL/TLS 憑證與 Classic Load Balancer 建立關聯的詳細資訊,請參閱 AWS 知識中心文章如何將 ACM SSL/TLS 憑證與 Classic、Application 或 Network Load Balancer 建立關聯?

【ELB.3】 Classic Load Balancer 接聽程式應使用 HTTPS TLS設定或終止

相關要求: NIST.800-53.r5 AC-17(2) NIST.800-53.r5 AC-4、、 NIST.800-53.r5 IA-5(1)、 NIST.800-53.r5 SC-12(3)、 NIST.800-53.r5 SC-13、 NIST.800-53.r5 SC-23、 NIST.800-53.r5 SC-23(3)、 NIST.800-53.r5 SC-7(4)、 NIST.800-53.r5 SC-8(1) NIST.800-53.r5 SC-8、 NIST.800-53.r5 SC-8(2)、NIST.800-53.r5 SI-7(6)、PCIDSSv4.0.1/4.2.1

類別:保護 > 資料保護 > 加密 data-in-transit

嚴重性:

資源類型: AWS::ElasticLoadBalancing::LoadBalancer

AWS Config 規則:elb-tls-https-listeners-only

排程類型:已觸發變更

參數:

此控制項會檢查 Classic Load Balancer 接聽程式是否使用 HTTPS或 TLS通訊協定設定前端 (用戶端負載平衡器) 連線。如果 Classic Load Balancer 有接聽程式,則控制項適用。如果您的 Classic Load Balancer 未設定接聽程式,則控制項不會報告任何問題清單。

如果 Classic Load Balancer 接聽程式使用 TLS或 HTTPS 設定前端連線,則控制項會通過。

如果未使用 TLS或 HTTPS 為前端連線設定接聽程式,則控制項會失敗。

開始使用負載平衡器之前,您必須新增一或多個接聽程式。接聽程式是使用已設定通訊協定和連接埠檢查連線請求的一種程序。接聽程式可以同時支援 HTTP和 HTTPS/TLS 通訊協定。您應該一律使用 HTTPS或 TLS 接聽程式,讓負載平衡器在傳輸中執行加密和解密的工作。

修補

若要修正此問題,請更新您的接聽程式以使用 TLS或 HTTPS通訊協定。

將所有不合規接聽程式變更為 TLS/HTTPS 接聽程式
  1. 在 開啟 Amazon EC2主控台https://console.aws.amazon.com/ec2/

  2. 在導覽窗格的 Load Balancing (負載平衡) 下方,選擇 Load Balancers (負載平衡器)

  3. 選取您的 Classic Load Balancer。

  4. Listeners (接聽程式) 標籤上,選擇 Edit (編輯)

  5. 對於未將Load Balancer通訊協定設為 HTTPS或 的所有接聽程式SSL,請將設定變更為 HTTPS或 SSL。

  6. 對於所有修改過的接聽程式,在憑證索引標籤上,選擇變更預設值

  7. 針對 ACM和 IAM憑證,選取憑證。

  8. 選擇儲存為預設

  9. 更新所有接聽程式後,請選擇儲存

【ELB.4】 Application Load Balancer 應設定為捨棄無效的 http 標頭

相關要求: NIST.800-53.r5 SC-7(4)、 NIST.800-53.r5 SC-8(2)、PCIDSSv4.0.1/6.2.4

類別:保護 > 網路安全

嚴重性:

資源類型: AWS::ElasticLoadBalancingV2::LoadBalancer

AWS Config 規則:alb-http-drop-invalid-header-enabled

排程類型:已觸發變更

參數:

此控制項會評估 Application Load Balancer 是否設定為捨棄無效的HTTP標頭。如果 的值routing.http.drop_invalid_header_fields.enabled設為 ,則控制項會失敗false

根據預設,Application Load Balancer 不會設定為捨棄無效的HTTP標頭值。移除這些標頭值可防止HTTP非同步攻擊。

注意

如果您的 帳戶中已啟用 ELB.12,我們建議您停用此控制項。如需詳細資訊,請參閱【ELB.12】 Application Load Balancer 應設定為防禦性或最嚴格的非同步緩解模式

修補

若要修復此問題,請將負載平衡器設定為捨棄無效的標頭欄位。

設定負載平衡器以捨棄無效的標頭欄位
  1. 在 開啟 Amazon EC2主控台https://console.aws.amazon.com/ec2/

  2. 在導覽窗格上,選擇 Load balancers (負載平衡器)

  3. 選擇 Application Load Balancer。

  4. 動作中,選擇編輯屬性

  5. 捨棄無效標頭欄位下,選擇啟用

  6. 選擇 Save (儲存)。

【ELB.5】 應啟用應用程式和 Classic Load Balancer 記錄

相關要求: NIST.800-53.r5 AC-4(26) NIST.800-53.r5 AU-10, NIST.800-53.r5 AU-12, NIST.800-53.r5 AU-2, NIST.800-53.r5 AU-3, NIST.800-53.r5 AU-6(3), NIST.800-53.r5 AU-6(4), NIST.800-53.r5 CA-7、、 NIST.800-53.r5 SC-7(9)、NIST.800-53.r5 SI-7(8)

類別:識別 > 記錄日誌

嚴重性:

資源類型:AWS::ElasticLoadBalancing::LoadBalancerAWS::ElasticLoadBalancingV2::LoadBalancer

AWS Config 規則:elb-logging-enabled

排程類型:已觸發變更

參數:

此控制項會檢查 Application Load Balancer 和 Classic Load Balancerhave 記錄是否已啟用。如果 access_logs.s3.enabled為 ,則控制項會失敗false

Elastic Load Balancing 提供存取日誌,可針對傳送到負載平衡器的請求,擷取其詳細資訊。每個日誌包含收到請求的時間、用戶端的 IP 地址、延遲、請求路徑和伺服器回應等資訊。您可以使用這些存取日誌來分析流量模式和排除問題。

若要進一步了解,請參閱 Classic Load Balancer 使用者指南中的存取 Classic Load Balancer 的日誌。

修補

若要啟用存取日誌,請參閱 Application Load Balancer 使用者指南中的步驟 3:設定存取日誌

【ELB.6】 應用程式、閘道和 Network Load Balancer 應該啟用刪除保護

相關要求: NIST.800-53.r5 CA-9(1)、 NIST.800-53.r5 CM-2, NIST.800-53.r5 CM-2(2), NIST.800-53.r5 CM-3, NIST.800-53.r5 SC-5(2)

類別:復原 > 彈性 > 高可用性

嚴重性:

資源類型: AWS::ElasticLoadBalancingV2::LoadBalancer

AWS Config 規則:elb-deletion-protection-enabled

排程類型:已觸發變更

參數:

此控制項會檢查 Application、Gateway 或 Network Load Balancer 是否已啟用刪除保護。如果停用刪除保護,則控制項會失敗。

啟用刪除保護,以保護 Application、Gateway 或 Network Load Balancer 免於刪除。

修補

為避免您的負載平衡器上遭意外刪除,您可以啟用刪除保護。您的負載平衡器的刪除保護預設為停用。

如果您為負載平衡器啟用刪除保護,您必須先停用刪除保護,才能刪除負載平衡器。

若要啟用 Application Load Balancer 的刪除保護,請參閱《Application Load Balancer 使用者指南》中的刪除保護。若要啟用 Gateway Load Balancer 的刪除保護,請參閱《Gateway Load Balancer 使用者指南》中的刪除保護。若要啟用 Network Load Balancer 的刪除保護,請參閱 Network Load Balancer 使用者指南中的刪除保護

【ELB.7】 Classic Load Balancer 應該啟用連線耗盡

相關要求: NIST.800-53.r5 CA-9(1)、NIST.800-53.r5 CM-2

類別:復原 > 復原能力

嚴重性:

資源類型: AWS::ElasticLoadBalancing::LoadBalancer

AWS Config rule:elb-connection-draining-enabled(自訂 Security Hub 規則)

排程類型:已觸發變更

參數:

此控制項會檢查 Classic Load Balancer 是否已啟用連線耗盡。

在 Classic Load Balancer 上啟用連線耗盡,可確保負載平衡器停止傳送請求給取消註冊或運作狀態不佳的執行個體。它會保持現有連線開啟。這對於 Auto Scaling 群組中的執行個體特別有用,以確保連線不會突然分割。

修補

若要在 Classic Load Balancer 上啟用連線耗盡,請參閱 Classic Load Balancer 使用者指南中的設定 Classic Load Balancer 的連線耗盡

【ELB.8】 具有SSL接聽程式的 Classic Load Balancer AWS Config應使用預先定義的安全政策,具有強烈的驅動力

相關要求: NIST.800-53.r5 AC-17(2) NIST.800-53.r5 AC-4、、 NIST.800-53.r5 IA-5(1)、 NIST.800-53.r5 SC-12(3)、 NIST.800-53.r5 SC-13, NIST.800-53.r5 SC-23, NIST.800-53.r5 SC-23(3)、 NIST.800-53.r5 SC-7(4)、 NIST.800-53.r5 SC-8(1) NIST.800-53.r5 SC-8、 NIST.800-53.r5 SC-8(2)、NIST.800-53.r5 SI-7(6)、PCIDSSv4.0.1/4.2.1

類別:保護 > 資料保護 > 加密 data-in-transit

嚴重性:

資源類型: AWS::ElasticLoadBalancing::LoadBalancer

AWS Config 規則:elb-predefined-security-policy-ssl-check

排程類型:已觸發變更

參數:

  • predefinedPolicyNameELBSecurityPolicy-TLS-1-2-2017-01(不可自訂)

此控制項會檢查您的 Classic Load BalancerHTTPS/SSL接聽程式是否使用預先定義的政策 ELBSecurityPolicy-TLS-1-2-2017-01。如果 Classic Load BalancerHTTPS/SSL接聽程式不使用 ,則控制項會失敗ELBSecurityPolicy-TLS-1-2-2017-01

安全政策是SSL通訊協定、密碼和 Server Order 偏好設定選項的組合。預先定義的政策控制在用戶端和負載平衡器之間的SSL交涉期間支援的加密、通訊協定和偏好設定順序。

使用 ELBSecurityPolicy-TLS-1-2-2017-01可協助您符合需要停用特定版本 SSL和 的合規和安全標準TLS。如需詳細資訊,請參閱 Classic Load Balancer 使用者指南中的 Classic Load Balancer 的預先定義SSL安全政策

修補

如需有關如何ELBSecurityPolicy-TLS-1-2-2017-01搭配 Classic Load Balancer 使用預先定義安全政策的資訊,請參閱 Classic Load Balancer 使用者指南中的設定安全設定

【ELB.9】 Classic Load Balancer 應該啟用跨區域負載平衡

相關要求: NIST.800-53.r5 CP-10, NIST.800-53.r5 CP-6(2), NIST.800-53.r5 SC-36、 NIST.800-53.r5 SC-5(2)、NIST.800-53.r5 SI-13(5)

類別:復原 > 彈性 > 高可用性

嚴重性:

資源類型: AWS::ElasticLoadBalancing::LoadBalancer

AWS Config 規則:elb-cross-zone-load-balancing-enabled

排程類型:已觸發變更

參數:

此控制項會檢查 Classic Load Balancer () 是否已啟用跨區域負載平衡CLBs。如果 未啟用跨區域負載平衡,則控制項會失敗CLB。

負載平衡器節點只會在其可用區域中的已註冊目標之間分配流量。停用跨區域負載平衡時,每個負載平衡器節點只會將流量分發到其可用區域內已註冊的目標。如果已註冊的目標數量在可用區域之間不同,則流量不會平均分佈,而且相較於另一個區域的執行個體,一個區域中的執行個體最終可能會過度使用。在啟用跨區域負載平衡的情況下,Classic Load Balancer 的每個負載平衡器節點都會在所有啟用的可用區域中,將請求平均分佈到已註冊的執行個體。如需詳細資訊,請參閱 Elastic Load Balancing 使用者指南中的跨區域負載平衡

修補

若要在 Classic Load Balancer 中啟用跨區域負載平衡,請參閱 Classic Load Balancer 使用者指南中的啟用跨區域負載平衡

【ELB.10】 Classic Load Balancer 應跨越多個可用區域

相關要求: NIST.800-53.r5 CP-10, NIST.800-53.r5 CP-6(2), NIST.800-53.r5 SC-36、 NIST.800-53.r5 SC-5(2)、NIST.800-53.r5 SI-13(5)

類別:復原 > 彈性 > 高可用性

嚴重性:

資源類型: AWS::ElasticLoadBalancing::LoadBalancer

AWS Config 規則:clb-multiple-az

排程類型:已觸發變更

參數:

參數 Description (描述) Type 允許的自訂值 Security Hub 預設值

minAvailabilityZones

可用區域數目下限

列舉

2, 3, 4, 5, 6

2

此控制項會檢查 Classic Load Balancer 是否已設定為至少跨越指定數量的可用區域 (AZs)。如果 Classic Load Balancer 未至少跨越指定數量的 ,則控制項會失敗AZs。除非您提供最小數量 的自訂參數值AZs,否則 Security Hub 會使用兩個 的預設值AZs。

Classic Load Balancer 可設定為在單一可用區域或多個可用區域中,在 Amazon EC2執行個體之間分配傳入的請求。如果唯一設定的可用區域無法使用,則未跨越多個可用區域的 Classic Load Balancer 無法將流量重新導向至另一個可用區域中的目標。

修補

若要將可用區域新增至 Classic Load Balancer,請參閱 Classic Load Balancer 使用者指南中的新增或移除 Classic Load Balancer 的子網路

【ELB.12】 Application Load Balancer 應設定為防禦性或最嚴格的非同步緩解模式

相關要求: NIST.800-53.r5 AC-4(21)、 NIST.800-53.r5 CA-9(1)、NIST.800-53.r5 CM-2、PCIDSSv4.0.1/6.2.4

類別:保護 > 資料保護 > 資料完整性

嚴重性:

資源類型: AWS::ElasticLoadBalancingV2::LoadBalancer

AWS Config 規則:alb-desync-mode-check

排程類型:已觸發變更

參數:

  • desyncModedefensive, strictest(不可自訂)

此控制項會檢查 Application Load Balancer 是否設定為防禦性或最嚴格的非同步緩解模式。如果 Application Load Balancer 未設定為防禦性或最嚴格的非同步緩解模式,則控制項會失敗。

HTTP 取消同步問題可能會導致請求走私,並讓應用程式容易受到請求佇列或快取中毒的影響。反之,這些漏洞可能會導致憑證填充或執行未經授權的命令。使用防禦性或最嚴格的去同步緩解模式設定的 Application Load Balancer 可保護您的應用程式免受 HTTP Desync 可能導致的安全問題。

修補

若要更新 Application Load Balancer 的非同步緩解模式,請參閱《Application Load Balancer 使用者指南》中的 Desync 緩解模式

【ELB.13】 應用程式、網路和閘道負載平衡器應跨越多個可用區域

相關要求: NIST.800-53.r5 CP-10, NIST.800-53.r5 CP-6(2), NIST.800-53.r5 SC-36、 NIST.800-53.r5 SC-5(2)、NIST.800-53.r5 SI-13(5)

類別:復原 > 彈性 > 高可用性

嚴重性:

資源類型: AWS::ElasticLoadBalancingV2::LoadBalancer

AWS Config 規則:elbv2-multiple-az

排程類型:已觸發變更

參數:

參數 Description (描述) Type 允許的自訂值 Security Hub 預設值

minAvailabilityZones

可用區域數目下限

列舉

2, 3, 4, 5, 6

2

此控制項會檢查 Elastic Load Balancer V2 (應用程式、網路或閘道Load Balancer) 是否已從至少指定數量的可用區域 () 註冊執行個體AZs。如果 Elastic Load Balancer V2 沒有在至少指定數量的 中註冊的執行個體,則控制項會失敗AZs。除非您提供最小數量 的自訂參數值AZs,否則 Security Hub 會使用兩個 的預設值AZs。

Elastic Load Balancing 會自動將傳入的流量分散到一或多個可用區域中的多個目標,例如EC2執行個體、容器和 IP 地址。當傳入流量隨著時間發生變化,Elastic Load Balancing 會擴展您的負載平衡器。建議至少設定兩個可用區域,以確保服務的可用性,因為如果某個可用區域無法使用,Elastic Load Balancer 將能夠將流量導向另一個可用區域。設定多個可用區域有助於消除應用程式的單一故障點。

修補

若要將可用區域新增至 Application Load Balancer,請參閱《Application Application Load Balancer》中的 Application Load Balancer 的可用區域若要將可用區域新增至 Network Load Balancer,請參閱 Network Load Balancer 使用者指南中的 Network Load Balancer。若要將可用區域新增至閘道Load Balancer,請參閱《Gateway Load Balancer 使用者指南》中的建立閘道負載平衡器

【ELB.14】 Classic Load Balancer 應設定為防禦性或最嚴格的非同步緩解模式

相關要求: NIST.800-53.r5 AC-4(21)、 NIST.800-53.r5 CA-9(1)、NIST.800-53.r5 CM-2、PCIDSSv4.0.1/6.2.4

類別:保護 > 資料保護 > 資料完整性

嚴重性:

資源類型: AWS::ElasticLoadBalancing::LoadBalancer

AWS Config 規則:clb-desync-mode-check

排程類型:已觸發變更

參數:

  • desyncModedefensive, strictest(不可自訂)

此控制項會檢查 Classic Load Balancer 是否設定為防禦性或最嚴格的非同步緩解模式。如果 Classic Load Balancer 未設定為防禦性或最嚴格的非同步緩解模式,則控制項會失敗。

HTTP 取消同步問題可能會導致請求走私,並讓應用程式容易受到請求佇列或快取中毒的影響。反之,這些漏洞可能會導致登入資料遭到劫持或執行未經授權的命令。使用防禦性或最嚴格的去同步緩解模式設定的 Classic Load Balancer 可保護您的應用程式免受 HTTP Desync 可能導致的安全問題。

修補

若要更新 Classic Load Balancer 上的非同步緩解模式,請參閱 Classic Load Balancer 使用者指南中的修改非同步緩解模式

【ELB.16】 Application Load Balancer 應與 AWS WAF Web 建立關聯 ACL

相關要求: NIST.800-53.r5 AC-4(21)

類別:保護 > 保護服務

嚴重性:

資源類型: AWS::ElasticLoadBalancingV2::LoadBalancer

AWS Config 規則:alb-waf-enabled

排程類型:已觸發變更

參數:

此控制項會檢查 Application Load Balancer 是否與 AWS WAF Classic 或 AWS WAF Web 存取控制清單 (Web ACL) 相關聯。如果 AWS WAF 組態Enabled的欄位設定為 ,則控制項會失敗false

AWS WAF 是 Web 應用程式防火牆,可協助保護 Web 應用程式和 APIs 免受攻擊。使用 AWS WAF,您可以設定 Web ACL,這是一組規則,可根據您定義的可自訂 Web 安全規則和條件來允許、封鎖或計數 Web 請求。我們建議您將 Application Load Balancer 與 AWS WAF Web 建立關聯ACL,以協助保護它免受惡意攻擊。

修補

若要將 Application Load Balancer 與 Web 建立關聯ACL,請參閱《 AWS WAF 開發人員指南》中的將 Web ACL與 AWS 資源建立關聯或取消關聯