選取您的 Cookie 偏好設定

我們使用提供自身網站和服務所需的基本 Cookie 和類似工具。我們使用效能 Cookie 收集匿名統計資料,以便了解客戶如何使用我們的網站並進行改進。基本 Cookie 無法停用,但可以按一下「自訂」或「拒絕」以拒絕效能 Cookie。

如果您同意,AWS 與經核准的第三方也會使用 Cookie 提供實用的網站功能、記住您的偏好設定,並顯示相關內容,包括相關廣告。若要接受或拒絕所有非必要 Cookie,請按一下「接受」或「拒絕」。若要進行更詳細的選擇,請按一下「自訂」。

檢查 Amazon CloudFront 分佈是否有存取記錄、HTTPS 和 TLS 版本 - AWS 方案指引

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

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

檢查 Amazon CloudFront 分佈是否有存取記錄、HTTPS 和 TLS 版本

由 SaiJeevan Devireddy (AWS) 和 Bijesh Bal (AWS) 建立

Summary

此模式會檢查 Amazon CloudFront 分佈,以確保其使用 HTTPS、使用 Transport Layer Security (TLS) 1.2 版或更新版本,以及啟用存取記錄。CloudFront 是由 Amazon Web Services (AWS) 提供的服務,可加速將靜態和動態 Web 內容,例如 .html、.css、.js 和映像檔案分發給使用者。CloudFront 會透過稱為節點的資料中心全球網路來交付您的內容。當使用者請求您使用 CloudFront 提供的內容時,請求會被路由到可提供最低延遲 (時間延遲) 的節點,以便能以最佳的效能發佈內容。

此模式提供 AWS Lambda 函數,會在 Amazon CloudWatch Events 偵測到 CloudFront API 呼叫 CreateDistributionCreateDistributionWithTagsUpdateDistribution 時啟動。Lambda 函數中的自訂邏輯會評估在 AWS 帳戶中建立或更新的所有 CloudFront 分佈。如果偵測到下列違規,則會使用 Amazon Simple Notification Service (Amazon SNS) 傳送違規通知:

  • 全域檢查:

    • 自訂憑證不使用 TLS 1.2 版

    • 已停用記錄以進行分佈

  • 原始伺服器檢查:

    • 原始伺服器未設定 TLS 1.2 版

    • 允許在 HTTPS 以外的通訊協定上與原始伺服器通訊

  • 行為檢查:

    • HTTPS 以外的通訊協定允許預設行為通訊

    • 允許在 HTTPS 以外的通訊協定上進行自訂行為通訊

先決條件和限制

先決條件

  • 作用中的 AWS 帳戶

  • 您希望接收違規通知的電子郵件地址

限制

  • 除非已對分佈進行更新,否則此安全控制不會檢查現有的 Cloudfront 分佈。

  • CloudFront 被視為全球服務,且與特定 AWS 區域無關。不過,適用於全球服務的 Amazon CloudWatch Logs 和 AWS Cloudtrail API 記錄會位於美國東部 (維吉尼亞北部) 區域 (us-east-1)。因此,此 CloudFront 的安全控制必須在 中部署和維護us-east-1。此單一部署會監控 CloudFront 的所有分佈。請勿在任何其他 AWS 區域部署安全控制。(在其他區域中部署會導致無法啟動 CloudWatch Events 和 Lambda 函數,而且沒有 SNS 通知。)

  • 此解決方案已透過 CloudFront Web 內容分佈進行廣泛測試。它不包含即時傳訊通訊協定 (RTMP) 串流分佈。

架構

目標技術堆疊

  • Lambda 函數

  • SNS 主題

  • Amazon EventBridge 規則

目標架構

Workflow diagram showing user interaction with AWS 服務 for distribution and notification.

自動化和擴展

  • 如果您使用的是 AWS Organizations,則可以使用 AWS Cloudformation StackSets 將連接的範本部署到您要監控的多個帳戶。

工具

AWS 服務

  • AWS CloudFormation – CloudFormation 是一項服務,可協助您使用基礎設施做為程式碼來建立模型和設定 AWS 資源。

  • Amazon EventBridge – EventBridge 提供來自您自己的應用程式、軟體即服務 (SaaS) 應用程式和 AWS 服務的即時資料串流,將該資料路由到 Lambda 函數等目標。

  • AWS Lambda – Lambda 支援執行程式碼,無需佈建或管理伺服器。

  • Amazon S3 – Amazon Simple Storage Service (Amazon S3) 是一種高度可擴展的物件儲存服務,可用於各種儲存解決方案,包括網站、行動應用程式、備份和資料湖。

  • Amazon SNS – Amazon SNS 會協調和管理發佈者和用戶端之間的訊息傳遞或傳送,包括 Web 伺服器和電子郵件地址。訂閱者會收到發佈到所訂閱主題的所有訊息,且某一主題的所有訂閱者均會收到相同訊息。

Code

附加的程式碼包括:

  • 包含 Lambda 程式碼的 .zip 檔案 (index.py)

  • 您執行以部署 Lambda 程式碼的 CloudFormation 範本 (.yml 檔案)

史詩

任務描述所需的技能
建立 Lambda 程式碼的 S3 儲存貯體。

在 Amazon S3 主控台上,使用不包含正斜線的唯一名稱建立 S3 儲存貯體。S3 儲存貯體名稱全域唯一,且所有 AWS 帳戶共用命名空間。您的 S3 儲存貯體必須位於您計劃部署 Lambda 程式碼的區域。

雲端架構師
將 Lambda 程式碼上傳至 S3 儲存貯體。

附件區段中提供的 Lambda 程式碼 (cloudfront_ssl_log_lambda.zip 檔案) 上傳到您在上一個步驟中建立的 S3 儲存貯體。

雲端架構師

上傳安全控制

任務描述所需的技能
建立 Lambda 程式碼的 S3 儲存貯體。

在 Amazon S3 主控台上,使用不包含正斜線的唯一名稱建立 S3 儲存貯體。S3 儲存貯體名稱全域唯一,且所有 AWS 帳戶共用命名空間。您的 S3 儲存貯體必須位於您計劃部署 Lambda 程式碼的區域。

雲端架構師
將 Lambda 程式碼上傳至 S3 儲存貯體。

附件區段中提供的 Lambda 程式碼 (cloudfront_ssl_log_lambda.zip 檔案) 上傳到您在上一個步驟中建立的 S3 儲存貯體。

雲端架構師
任務描述所需的技能
部署 CloudFormation 範本。

在 AWS CloudFormation 主控台上,在與 S3 儲存貯體相同的 AWS 區域中,部署附件區段中提供的 CloudFormation 範本 (cloudfront-ssl-logging.yml)。 

雲端架構師
指定 S3 儲存貯體名稱。

針對 S3 儲存貯體參數,指定您在第一個史詩中建立的 S3 儲存貯體名稱。

雲端架構師
指定 Lambda 檔案的 Amazon S3 金鑰名稱。

針對 S3 金鑰參數,指定 SAmazon S3 S3 位置。請勿包含正斜線 (例如,您可以輸入 lambda.zip 或 control/lambda.zip)。

雲端架構師
提供通知電子郵件地址。

針對通知電子郵件參數,提供您要接收違規通知的電子郵件地址。

雲端架構師
定義記錄層級。

針對 Lambda 記錄層級參數,定義 Lambda 函數的記錄層級。請選擇下列其中一個值: 

  • INFO 以取得應用程式進度的詳細資訊訊息。

  • 取得仍可能允許應用程式繼續執行之錯誤事件相關資訊的錯誤

  • 警告 以取得潛在有害情況的相關資訊。

雲端架構師

部署 CloudFormation 範本

任務描述所需的技能
部署 CloudFormation 範本。

在 AWS CloudFormation 主控台上,在與 S3 儲存貯體相同的 AWS 區域中,部署附件區段中提供的 CloudFormation 範本 (cloudfront-ssl-logging.yml)。 

雲端架構師
指定 S3 儲存貯體名稱。

針對 S3 儲存貯體參數,指定您在第一個史詩中建立的 S3 儲存貯體名稱。

雲端架構師
指定 Lambda 檔案的 Amazon S3 金鑰名稱。

針對 S3 金鑰參數,指定 SAmazon S3 S3 位置。請勿包含正斜線 (例如,您可以輸入 lambda.zip 或 control/lambda.zip)。

雲端架構師
提供通知電子郵件地址。

針對通知電子郵件參數,提供您要接收違規通知的電子郵件地址。

雲端架構師
定義記錄層級。

針對 Lambda 記錄層級參數,定義 Lambda 函數的記錄層級。請選擇下列其中一個值: 

  • INFO 以取得應用程式進度的詳細資訊訊息。

  • 取得仍可能允許應用程式繼續執行之錯誤事件相關資訊的錯誤

  • 警告 以取得潛在有害情況的相關資訊。

雲端架構師
任務描述所需的技能
確認訂閱。

成功部署 CloudFormation 範本後,會建立新的 SNS 主題,並將訂閱訊息傳送至您提供的電子郵件地址。您必須確認此電子郵件訂閱,才能接收違規通知。

雲端架構師

確認訂閱

任務描述所需的技能
確認訂閱。

成功部署 CloudFormation 範本後,會建立新的 SNS 主題,並將訂閱訊息傳送至您提供的電子郵件地址。您必須確認此電子郵件訂閱,才能接收違規通知。

雲端架構師

附件

若要存取與本文件相關聯的其他內容,請解壓縮下列檔案: attachment.zip

隱私權網站條款Cookie 偏好設定
© 2025, Amazon Web Services, Inc.或其附屬公司。保留所有權利。