本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
這些 Security Hub 控制項會評估 Amazon CloudFront 服務和資源。
這些控制項可能並非所有 都可用 AWS 區域。如需詳細資訊,請參閱依區域的控制項可用性。
【CloudFront.1] CloudFront 分佈應設定預設根物件
相關要求:NIST.800-53.r5 SC-7(11)、NIST.800-53.r5 SC-7(16)、PCI DSS v4.0.1/2.2.6
類別:保護 > 安全存取管理 > 資源不可公開存取
嚴重性:高
資源類型: AWS::CloudFront::Distribution
AWS Config 規則:cloudfront-default-root-object-configured
排程類型:變更觸發
參數:無
此控制會檢查 Amazon CloudFront 分佈是否設定為傳回屬於預設根物件的特定物件。如果 CloudFront 分佈未設定預設根物件,則此控制會失敗。
使用者有時可能會請求分佈的根 URL,而不是分佈中的物件。發生這種情況時,指定預設根物件可協助避免暴露 Web 分佈的內容。
修補
若要設定 CloudFront 分佈的預設根物件,請參閱《Amazon CloudFront 開發人員指南》中的如何指定預設根物件。
【CloudFront.3] CloudFront 分佈應要求傳輸中加密
相關要求: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、NIST.800-53.r5 SC-85(1)NIST.800-53.r5 SC-8 SI-7
類別:保護 > 資料保護 > data-in-transit
嚴重性:中
資源類型: AWS::CloudFront::Distribution
AWS Config 規則:cloudfront-viewer-policy-https
排程類型:變更觸發
參數:無
此控制可檢查 Amazon CloudFront 分佈是否要求檢視者直接使用 HTTPS,或其是否使用重新導向。如果 ViewerProtocolPolicy
設為allow-all
適用於 defaultCacheBehavior
或適用於 的 ,則控制項會失敗cacheBehaviors
。
HTTPS (TLS) 可用來防止潛在攻擊者使用中間人攻擊或類似的攻擊手法來竊聽或操控網路流量。只能允許透過 HTTPS (TLS) 進行加密連線。加密傳輸中的資料可能會影響效能。您應該使用此功能測試應用程式,以了解效能描述檔和 TLS 的影響。
修補
若要加密傳輸中的 CloudFront 分佈,請參閱《Amazon CloudFront 開發人員指南》中的在檢視器與 CloudFront 之間通訊時需要 HTTPS。 Amazon CloudFront
【CloudFront.4] CloudFront 分佈應設定原始伺服器容錯移轉
相關要求:NIST.800-53.r5 CP-10、NIST.800-53.r5 SC-36、NIST.800-53.r5 SC-5(2)、NIST.800-53.r5 SI-13(5)
類別:復原 > 彈性 > 高可用性
嚴重性:低
資源類型: AWS::CloudFront::Distribution
AWS Config 規則:cloudfront-origin-failover-enabled
排程類型:已觸發變更
參數:無
此控制項會檢查 Amazon CloudFront 分佈是否設定為具有兩個或更多原始伺服器的原始群組。
CloudFront 原始伺服器容錯移轉可以提高可用性。如果主要原始伺服器無法使用或傳回特定 HTTP 回應狀態碼,原始伺服器容錯移轉會自動將流量重新導向至次要原始伺服器。
修補
若要設定 CloudFront 分佈的原始伺服器容錯移轉,請參閱《Amazon CloudFront 開發人員指南》中的建立原始伺服器群組。
【CloudFront.5] CloudFront 分佈應該已啟用記錄
相關要求:NIST.800-53.r5 AC-2(4)、NIST.800-53.r5 AC-4(26)、NIST.800-53.r5 AC-6(9)、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.8000-5.CA-7 NIST.800-53.r5 SC-7 SI-3 SI-4 SI-710.4.2
類別:識別 > 記錄日誌
嚴重性:中
資源類型: AWS::CloudFront::Distribution
AWS Config 規則:cloudfront-accesslogs-enabled
排程類型:變更觸發
參數:無
此控制可檢查是否已在 CloudFront 分佈上啟用伺服器存取日誌記錄。如果未針對分佈啟用存取日誌記錄,則此控制會失敗。此控制項只會評估是否為分佈啟用標準記錄 (舊版)。
CloudFront 存取日誌可提供 CloudFront 所收到的每個使用者請求的詳細資訊。每個日誌都包含收到請求的日期和時間、提出請求的檢視者 IP 地址、請求的來源,以及檢視者提出請求的連接埠號碼等資訊。這些日誌適用於安全與存取稽核及鑑識調查等應用程式。如需分析存取日誌的詳細資訊,請參閱《Amazon Athena 使用者指南》中的查詢 Amazon CloudFront 日誌。 Amazon Athena
修補
若要設定 CloudFront 分佈的標準記錄 (舊版),請參閱《Amazon CloudFront 開發人員指南》中的設定標準記錄 (舊版)。
【CloudFront.6] CloudFront 分佈應該啟用 WAF
相關要求:NIST.800-53.r5 AC-4(21)、PCI DSS v4.0.1/6.4.2
類別:保護 > 保護服務
嚴重性:中
資源類型: AWS::CloudFront::Distribution
AWS Config 規則:cloudfront-associated-with-waf
排程類型:變更已觸發
參數:無
此控制項會檢查 CloudFront 分佈是否與 AWS WAF Classic 或 AWS WAF Web ACLs相關聯。如果分佈未與 Web ACL 建立關聯,則控制項會失敗。
AWS WAF 是一種 Web 應用程式防火牆,可協助保護 Web 應用程式和 APIs免受攻擊。其可讓您設定一組稱為 Web 存取控制清單 (Web ACL) 的規則,該組規則可根據您定義的可自訂 Web 安全規則與條件來允許、封鎖或計數 Web 請求。確保您的 CloudFront 分佈與 AWS WAF Web ACL 相關聯,以協助保護它免受惡意攻擊。
修補
若要將 AWS WAF Web ACL 與 CloudFront 分佈建立關聯,請參閱《Amazon CloudFront 開發人員指南》中的使用 AWS WAF 控制對內容的存取。
【CloudFront.7] CloudFront 分佈應使用自訂 SSL/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-8NIST.800-53.r5 SC-8(1)、NIST.800-53.r5 SC-85 SI-7
類別:保護 > 資料保護 > data-in-transit
嚴重性:中
資源類型: AWS::CloudFront::Distribution
AWS Config 規則:cloudfront-custom-ssl-certificate
排程類型:變更觸發
參數:無
此控制項會檢查 CloudFront 分佈是否使用 CloudFront 提供的預設 SSL/TLS 憑證。如果 CloudFront 分佈使用自訂 SSL/TLS 憑證,則此控制項會通過。如果 CloudFront 分佈使用預設 SSL/TLS 憑證,則此控制項會失敗。
自訂 SSL/TLS 可讓您的使用者使用替代網域名稱來存取內容。您可以將自訂憑證存放在 AWS Certificate Manager (建議) 或 IAM 中。
修補
若要使用自訂 SSL/TLS 憑證為 CloudFront 分佈新增替代網域名稱,請參閱《Amazon CloudFront 開發人員指南》中的新增替代網域名稱。
【CloudFront.8] CloudFront 分佈應使用 SNI 來提供 HTTPS 請求
相關要求:NIST.800-53.r5 CA-9(1)、NIST.800-53.r5 CM-2
類別:保護 > 安全網路組態
嚴重性:低
資源類型: AWS::CloudFront::Distribution
AWS Config 規則:cloudfront-sni-enabled
排程類型:變更觸發
參數:無
此控制項會檢查 Amazon CloudFront 分佈是否使用自訂 SSL/TLS 憑證,並設定為使用 SNI 來提供 HTTPS 請求。如果自訂 SSL/TLS 憑證相關聯,但 SSL/TLS 支援方法是專用 IP 地址,則此控制會失敗。
伺服器名稱指示 (SNI) 是 TLS 通訊協定的延伸,2010 年之後推出的瀏覽器和用戶端支援此選項。如果設定 CloudFront 使用 SNI 來提供 HTTPS 請求,則 CloudFront 會將您的替代網域名稱,與每個節點中的 IP 地址建立關聯。當檢視器提交內容的 HTTPS 請求時,DNS 會將請求路由到正確節點的 IP 地址。您網域名稱的 IP 地址在 SSL/TLS 交握溝通期間決定;IP 地址並非專用於您的分佈。
修補
若要設定 CloudFront 分佈以使用 SNI 提供 HTTPS 請求,請參閱 CloudFront 開發人員指南中的使用 SNI 提供 HTTPS 請求 (適用於大多數用戶端)。如需自訂 SSL 憑證的相關資訊,請參閱搭配 CloudFront 使用 SSL/TLS 憑證的要求。
【CloudFront.9] CloudFront 分佈應該加密流量到自訂原始伺服器
相關要求: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、NIST.800-53.r5 SC-8(1)NIST.800-53.r5 SC-8 SI-7
類別:保護 > 資料保護 > data-in-transit
嚴重性:中
資源類型: AWS::CloudFront::Distribution
AWS Config 規則:cloudfront-traffic-to-origin-encrypted
排程類型:變更觸發
參數:無
此控制項會檢查 Amazon CloudFront 分佈是否正在加密流向自訂原始伺服器的流量。此控制項對於原始通訊協定政策允許 'http-only' 的 CloudFront 分佈失敗。如果分佈的原始通訊協定政策為 'match-viewer',而檢視器通訊協定政策為 'allow-all',則此控制項也會失敗。
HTTPS (TLS) 可用來協助防止竊聽或操控網路流量。只能允許透過 HTTPS (TLS) 進行加密連線。
修補
若要更新原始伺服器通訊協定政策以要求 CloudFront 連線加密,請參閱《Amazon CloudFront 開發人員指南》中的在 CloudFront 與自訂原始伺服器之間通訊時需要 HTTPS。
【CloudFront.10] CloudFront 分佈不應在節點和自訂原始伺服器之間使用已棄用 SSL 通訊協定
相關要求: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-7(4)、NIST.800-53.r5 SC-8(1)、NIST.800NIST.800-53.r5 SC-85.r5 SCSI-7(2)、NIST.5000-57.5 NIST.800-53.r5 SC-8
類別:保護 > 資料保護 > data-in-transit加密
嚴重性:中
資源類型: AWS::CloudFront::Distribution
AWS Config 規則:cloudfront-no-deprecated-ssl-protocols
排程類型:變更觸發
參數:無
此控制項會檢查 Amazon CloudFront 分佈是否使用已棄用 SSL 通訊協定,以便在 CloudFront 節點和自訂原始伺服器之間進行 HTTPS 通訊。如果 CloudFront 分佈的 OriginSslProtocols
包含 CustomOriginConfig
,則此控制項會失敗SSLv3
。
在 2015 年,網際網路工程任務小組 (IETF) 正式宣佈,由於通訊協定不夠安全, SSL 3.0 應該被淘汰。建議您使用 TLSv1.2 或更新版本來與自訂原始伺服器進行 HTTPS 通訊。
修補
若要更新 CloudFront 分佈的原始伺服器 SSL 通訊協定,請參閱《Amazon CloudFront 開發人員指南》中的在 CloudFront 和自訂原始伺服器之間通訊時需要 HTTPS。
【CloudFront.12] CloudFront 分佈不應指向不存在的 S3 原始伺服器
相關要求:NIST.800-53.r5 CM-2、NIST.800-53.r5 CM-2(2)、PCI DSS v4.0.1/2.2.6
類別:識別 > 資源組態
嚴重性:高
資源類型: AWS::CloudFront::Distribution
AWS Config 規則:cloudfront-s3-origin-non-existent-bucket
排程類型:定期
參數:無
此控制項會檢查 Amazon CloudFront 分佈是否指向不存在的 Amazon S3 原始伺服器。如果原始伺服器設定為指向不存在的儲存貯體,則 CloudFront 分佈的控制項會失敗。此控制項僅適用於沒有靜態網站託管的 S3 儲存貯體為 S3 原始伺服器的 CloudFront 分佈。
當您帳戶中的 CloudFront 分佈設定為指向不存在的儲存貯體時,惡意的第三方可以建立參考的儲存貯體,並透過您的分佈提供自己的內容。無論路由行為為何,我們建議檢查所有原始伺服器,以確保您的分佈指向適當的原始伺服器。
修補
若要修改 CloudFront 分佈以指向新的原始伺服器,請參閱《Amazon CloudFront 開發人員指南》中的更新分佈。
【CloudFront.13] CloudFront 分佈應使用原始存取控制
類別:保護 > 安全存取管理 > 資源不可公開存取
嚴重性:中
資源類型: AWS::CloudFront::Distribution
AWS Config 規則:cloudfront-s3-origin-access-control-enabled
排程類型:變更觸發
參數:無
此控制項會檢查具有 Amazon S3 原始伺服器的 Amazon CloudFront 分佈是否已設定原始伺服器存取控制 (OAC)。 Amazon S3 如果未針對 CloudFront 分佈設定 OAC,則控制項會失敗。
使用 S3 儲存貯體做為 CloudFront 分佈的原始伺服器時,您可以啟用 OAC。這僅允許透過指定的 CloudFront 分佈存取儲存貯體中的內容,並禁止直接從儲存貯體或其他分佈存取。雖然 CloudFront 支援原始存取身分 (OAI),但 OAC 提供額外的功能,而使用 OAI 的分佈可以遷移到 OAC。雖然 OAI 提供安全的方式來存取 S3 原始伺服器,但它有限制,例如不支援精細政策組態,以及對於在 中使用 POST 方法 AWS 區域 且需要 AWS 簽章第 4 版 (SigV4) 的 HTTP/HTTPS 請求。OAI 也不支援使用 加密 AWS Key Management Service。OAC 是以使用 IAM 服務主體進行 S3 原始伺服器的驗證的 AWS 最佳實務為基礎。
修補
若要為具有 S3 原始伺服器的 CloudFront 分佈設定 OAC,請參閱《Amazon CloudFront 開發人員指南》中的限制對 Amazon S3 原始伺服器的存取。 Amazon CloudFront
【CloudFront.14] 應標記 CloudFront 分佈
類別:識別 > 庫存 > 標記
嚴重性:低
資源類型: AWS::CloudFront::Distribution
AWS Config rule:tagged-cloudfront-distribution
(自訂 Security Hub 規則)
排程類型:變更觸發
參數:
參數 | Description (描述) | Type | 允許的自訂值 | Security Hub 預設值 |
---|---|---|---|---|
requiredTagKeys
|
評估的資源必須包含的非系統標籤索引鍵清單。標籤鍵會區分大小寫。 | StringList | 符合AWS 要求的標籤清單 | 無預設值 |
此控制項會檢查 Amazon CloudFront 分佈是否具有具有參數 中定義之特定金鑰的標籤requiredTagKeys
。如果分佈沒有任何標籤索引鍵,或沒有參數 中指定的所有索引鍵,則控制項會失敗requiredTagKeys
。如果requiredTagKeys
未提供 參數,則控制項只會檢查標籤索引鍵是否存在,如果分佈未標記任何索引鍵,則 控制會失敗。系統標籤會自動套用並以 開頭aws:
,因此會遭到忽略。
標籤是您指派給 AWS 資源的標籤,由索引鍵和選用值組成。您可建立標籤,依照用途、擁有者、環境或其他條件分類資源。標籤可協助您識別、組織、搜尋和篩選資源。標記也可協助您追蹤動作和通知的負責資源擁有者。使用標記時,您可以實作屬性型存取控制 (ABAC) 做為授權策略,以根據標籤定義許可。您可以將標籤連接至 IAM 實體 (使用者或角色) 和 AWS 資源。您可以為您的 IAM 主體建立單一 ABAC 政策或一組單獨的政策。您可以設計這些 ABAC 政策,以便在主體的標籤符合資源標籤時允許操作。如需詳細資訊,請參閱《IAM 使用者指南》中的 ABAC for AWS?。
注意
請勿在標籤中新增個人識別資訊 (PII) 或其他機密或敏感資訊。許多 都可以存取標籤 AWS 服務,包括 AWS Billing。如需更多標記最佳實務,請參閱《》中的標記您的 AWS 資源AWS 一般參考。
修補
若要將標籤新增至 CloudFront 分佈,請參閱《Amazon CloudFront 開發人員指南》中的標記 Amazon CloudFront 分佈。 Amazon CloudFront