確保 AWS 負載平衡器使用安全接聽程式通訊協定 (HTTPS、SSL/TLS) - AWS Prescriptive Guidance

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

確保 AWS 負載平衡器使用安全接聽程式通訊協定 (HTTPS、SSL/TLS)

由香提尼潘美薩 (AWS) 創建

En環境:生產

技能:安全、身份、合規

工作負載:所有其他工作負載

AWS 服務:Amazon SNS; AWS CloudFormation; Amazon CloudWatch; AWS Lambda; Elastic Load Balancing

Summary

在 Amazon Web Services (AWS) 雲端上,Elastic Load Balancing 會自動將傳入的應用程式流量分配到多個目標,例如 Amazon Elastic Compute Cloud (Amazon EC2) 執行個體、容器、IP 地址和 AWS Lambda 函數。負載平衡器使用接聽程式來定義負載平衡器用來接受使用者流量的連接埠和通訊協定。應用程式負載平衡器會在應用程式層做出路由決策,並使用 HTTP/HTTPS 通訊協定。網路負載平衡器會在傳輸層做出路由決策,並使用傳輸控制通訊協定 (TCP)、傳輸層安全性 (TLS)、使用者資料包 Protcol (UDP) 或 TCP_UDP 通訊協定。傳統負載平衡器在傳輸層 (使用 TCP 或安全通訊端層 (SSL) 通訊協定,或在應用程式層使用 HTTP/HTTPS) 做出路由決策。

您的組織可能有安全性或符合性需求,負載平衡器只接受來自安全通訊協定 (例如 HTTPS 或 SSL/TLS) 之使用者的流量。

此模式提供安全控制,使用 Amazon EventBridge 規則來監控應用程式負載平衡器和網路負載平衡器的建 CreateListener 偵聽器和修改偵聽器 API 呼叫,以及傳統負載平衡器的 CreateLoadBalancer 和建立負載平衡器 API 呼叫。如果 HTTP、TCP/UDP 或 TCP_UDP 用於負載平衡器的接聽程式通訊協定,則控制項會叫用 Lambda 函數。Lambda 函數會將訊息發佈到 Amazon Simple Notification Service (Amazon SNS) 主題,以傳送包含負載平衡器詳細資訊的通知。

先決條件和限制

先決條件

  • 作用中的 AWS 帳戶

  • 您想要接收違規通知的電子郵件地址

  • 一個 Amazon Simple Storage Service (Amazon S3) 儲存貯體,用於 Lambda 程式碼 .zip 檔案。

限制

  • 除非對負載平衡器接聽程式進行更新,否則此安全性控制項不會檢查現有的負載平衡器。

  • 此安全控制是區域性的,必須部署在您要監控的 AWS 區域中。

Architecture

目標技術堆疊

  • Lambda 功能

  • Amazon SNS 主題

  • EventBridge 規則

目標架構

自動化和擴充

Tools

工具

  • AWS CloudFormation— AWS CloudFormation 是一項服務,可協助您利用基礎設施作為程式碼來塑造模型及設定 AWS 資源。

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

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

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

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

Epics

任務描述所需技能
定義 S3 儲存貯體。

在 Amazon S3 主控台上,選擇或建立具有不包含前導斜線的唯一名稱的 S3 儲存貯體。S3 儲存貯體的名稱必須是全域唯一,且命名空間會由所有 AWS 帳戶共享。您的 S3 儲存貯體必須與正在評估的負載平衡器位於同一個區域中。

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

將「附件」一節中所提供的 Lambda 程式碼 .zip 檔案上傳至已定義的 S3 儲存貯體。

雲端架構師
部署 AWS CloudFormation 範本。

在 AWS CloudFormation 主控台上,在與 S3 儲存貯體相同的 AWS 區域中,部署「附件」部分中提供的範本。在下一個史詩中,提供參數的值。

雲端架構師
任務描述所需技能
命名 S3 儲存貯體。

輸入您在第一部史詩作品中建立的 S3 儲存貯體名稱。

雲端架構師
提供 Amazon S3 字首。

在 S3 儲存貯體中提供 Lambda 程式碼 .zip 檔案的位置,不含前導斜線 (例如 <directory>/<file-name> .zip)。

雲端架構師
提供 SNS 主題 ARN。

若您想要針對違規通知使用現有 SNS 主題,請提供 SNS 主題 Amazon Resource Name (ARN)。若要建立新的 SNS 主題,請將值保留為「無」(預設值)。

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

提供有效的電子郵件地址以接收 Amazon SNS 通知。

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

定義 Lambda 函數的記錄層級和頻率。「資訊」指定有關應用程式進度的詳細資訊訊息。「錯誤」指定仍可允許應用程式繼續執行的錯誤事件。警告」指定潛在有害的狀況。

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

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

雲端架構師

Attachments

attachment.zip