中的安全最佳實務 AWS CloudTrail - AWS CloudTrail

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

中的安全最佳實務 AWS CloudTrail

AWS CloudTrail 提供許多安全功能,供您在開發和實作自己的安全政策時考慮。以下最佳實務為一般準則,並不代表完整的安全解決方案。這些最佳實務可能不適用或無法滿足您的環境需求,因此請將其視為實用建議就好,而不要當作是指示。

CloudTrail 偵測性安全最佳實務

建立線索

若要持續記錄您 AWS 帳戶中的事件,您必須建立追蹤。雖然 CloudTrail 會在 CloudTrail 主控台中提供 90 天的管理事件事件歷史記錄資訊,而不建立追蹤,但它不是永久記錄,也不會提供有關所有可能類型事件的資訊。針對持續記錄,以及記錄包含所有您指定的事件類型,您必須建立線索,將日誌檔案傳遞到指定的 Amazon S3 儲存貯體。

為了協助管理您的 CloudTrail 資料,請考慮建立一個追蹤,記錄所有 中的管理事件 AWS 區域,然後建立其他追蹤,記錄資源的特定事件類型,例如 Amazon S3 儲存貯體活動或 AWS Lambda 函數。

以下是您可進行的一些步驟:

將追蹤套用至所有 AWS 區域

若要取得 AWS 您帳戶中IAM身分或服務所採取事件的完整記錄,每個追蹤都應設定為記錄所有 中的事件 AWS 區域。透過在所有 中記錄事件 AWS 區域,您可以確保記錄 AWS 帳戶中發生的所有事件,無論它們發生在哪個 AWS 區域。這包括記錄全域服務事件 ,這些事件會記錄到該服務的特定 AWS 區域。當您建立套用至所有區域的追蹤時, 會 CloudTrail 記錄每個區域中的事件,並將 CloudTrail 事件日誌檔案傳遞至您指定的 S3 儲存貯體。如果在您建立套用至所有區域的追蹤之後新增 AWS 區域,則會自動包含新的區域,並記錄該區域中的事件。當您在 CloudTrail 主控台中建立追蹤時,這是預設選項。

以下是您可進行的一些步驟:

啟用 CloudTrail 日誌檔案完整性

驗證過的日誌檔案對於安全和鑑識調查尤其重要。例如,經過驗證的日誌檔案可讓您積極宣告日誌檔案本身未變更,或該特定IAM身分憑證已執行特定API活動。 CloudTrail 日誌檔案完整性驗證程序也可讓您知道日誌檔案是否已刪除或變更,或正面聲明在指定期間內沒有日誌檔案交付至您的帳戶。 CloudTrail 日誌檔案完整性驗證使用業界標準演算法:雜湊 SHA-256 和數位簽署 RSA SHA-256 搭配 。這使得在沒有偵測的情況下修改、刪除或偽造 CloudTrail日誌檔案在運算上變得不可行。如需詳細資訊,請參閱啟用驗證並驗證檔案

與 Amazon CloudWatch Logs 整合

CloudWatch 日誌可讓您監控和接收 擷取的特定事件警示 CloudTrail。傳送至 CloudWatch 日誌的事件是設定為由追蹤記錄的事件,因此請確定您已設定追蹤或追蹤,以記錄您有興趣監控的事件類型 (管理事件資料事件和/或網路活動事件 (預覽))。

例如,您可以監控金鑰安全和網路相關管理事件,例如失敗的 AWS Management Console 登入事件

以下是您可進行的一些步驟:

使用 Amazon GuardDuty

Amazon GuardDuty 是一種威脅偵測服務,可協助您保護 AWS 環境中的帳戶、容器、工作負載和資料。透過使用機器學習 (ML) 模型,以及異常和威脅偵測功能, GuardDuty 會持續監控不同的日誌來源,以識別您環境中的潛在安全風險和惡意活動,並排定優先順序。

例如,如果它透過執行個體啟動角色偵測專門為 Amazon EC2執行個體建立的憑證,但正從 中的另一個帳戶使用,則 GuardDuty 會偵測潛在的憑證洩漏 AWS。如需詳細資訊,請參閱 Amazon GuardDuty 使用者指南

使用 AWS Security Hub

使用 來監控 的使用, CloudTrail 因為它與安全最佳實務相關AWS Security Hub。Security Hub 會透過偵測性安全控制來評估資源組態和安全標準,協助您遵守各種合規架構。如需使用 Security Hub 評估 CloudTrail 資源的詳細資訊,請參閱 AWS Security Hub 使用者指南 中的AWS CloudTrail 控制項

CloudTrail 預防性安全最佳實務

下列最佳實務 CloudTrail 有助於防止安全事件。

記錄到專用和集中式的 Amazon S3 儲存貯體

CloudTrail 日誌檔案是IAM身分或服務 AWS 所採取動作的稽核日誌。這些日誌的完整性、完成度和可用性對於趨勢的增長和稽核目的相當重要。透過記錄到專用和集中式的 Amazon S3 儲存貯體,您可以強制執行嚴格的安全控制、存取和職責劃分。

以下是您可進行的一些步驟:

  • 建立個別 AWS 帳戶作為日誌封存帳戶。如果您使用 AWS Organizations,請在組織中註冊此帳戶,並考慮建立組織追蹤,以記錄組織中所有 AWS 帳戶的資料。

  • 如果您不使用 Organizations,但想要記錄多個 AWS 帳戶的資料,請建立追蹤來記錄此日誌封存帳戶中的活動。限制存取此帳戶為信任的管理使用者,具備帳戶和稽核資料的存取權。

  • 在建立追蹤時,無論是組織追蹤還是單一 AWS 帳戶的追蹤,請建立專用 Amazon S3 儲存貯體來存放此追蹤的日誌檔案。

  • 如果您想要記錄多個 AWS 帳戶的活動,請修改儲存貯體政策,以允許記錄和儲存要記錄 AWS 帳戶活動之所有 AWS 帳戶的日誌檔案。

  • 如果您不是使用組織線索、為您所有 AWS 帳戶建立線索,從日誌存檔帳戶中指定 Amazon S3 儲存貯體。

搭配 AWS KMS 受管金鑰使用伺服器端加密

根據預設, 交付 CloudTrail 至 S3 儲存貯體的日誌檔案會使用伺服器端加密搭配KMS金鑰 (SSE-KMS) 進行加密。若要搭配 使用 SSE-KMS CloudTrail,您可以建立和管理 AWS KMS key,也稱為 KMS金鑰。

注意

如果您使用 SSEKMS和 日誌檔案驗證,且已修改 Amazon S3 儲存貯體政策以僅允許 SSEKMS加密檔案,則除非您修改儲存貯體政策以特別允許AES256加密,否則將無法建立使用該儲存貯體的追蹤,如下列範例政策行所示。

"StringNotEquals": { "s3:x-amz-server-side-encryption": ["aws:kms", "AES256"] }

以下是您可進行的一些步驟:

將條件索引鍵新增至預設的 Amazon SNS主題政策

當您設定追蹤以傳送通知至 Amazon 時SNS, 會將政策陳述式 CloudTrail 新增至SNS主題存取政策, CloudTrail 允許將內容傳送至SNS主題。作為安全最佳實務,建議您將 aws:SourceArn(或選用的 aws:SourceAccount) 條件金鑰新增至 Amazon SNS主題政策陳述式。這有助於防止未經授權的帳戶存取您的SNS主題。如需詳細資訊,請參閱Amazon SNS 主題政策 CloudTrail

實作最低權限存取到 Amazon S3 儲存貯體,就是存放日誌檔案的位置

CloudTrail 追蹤將事件記錄到您指定的 Amazon S3 儲存貯體。這些日誌檔案包含IAM身分 AWS 和服務所採取動作的稽核日誌。這些日誌檔案的完整性和完程度對於稽核和鑑定目的相當重要。為了確保完整性,您在建立或修改存取用於儲存 CloudTrail 日誌檔案的任何 Amazon S3 儲存貯體時,應遵守最低權限原則。

採取下列步驟:

在儲存日誌檔案的 Amazon S3 儲存貯體上啟用MFA刪除

當您設定多重要素身分驗證 (MFA) 時, 會嘗試變更儲存貯體的版本控制狀態,或刪除儲存貯體中的物件版本時,需要額外身分驗證。如此一來,即使使用者取得具有永久刪除 Amazon S3 物件許可IAM的使用者密碼,您仍然可以防止可能危害日誌檔案的操作。

以下是您可進行的一些步驟:

注意

您無法將MFA刪除與生命週期組態搭配使用。如需有關生命週期組態以及它們如何與其他組態互動的詳細資訊,請參閱《Amazon Simple Storage Service 使用者指南》中的生命週期與其他儲存貯體

設定 Amazon S3 儲存貯體上的物件生命週期,也就是存放日誌檔案的地方

CloudTrail 追蹤預設為無限期地將日誌檔案存放在為追蹤設定的 Amazon S3 儲存貯體中。您可以使用 Amazon S3 物件生命週期管理規則 來定義自己的保留政策,以便更能滿足您的業務和稽核需求。例如,您可能想要存檔一年以上的日誌檔案到 Amazon Glacier,或刪除超過特定時間的日誌檔案。

注意

不支援啟用多重要素身分驗證 (MFA) 儲存貯體的生命週期組態。

限制對政策的 AWSCloudTrail_FullAccess存取

具有 AWSCloudTrail_FullAccess 政策的使用者能夠停用或重新設定 AWS 帳戶中最敏感和重要的稽核函數。此政策不適用於與您 AWS 帳戶中IAM的身分廣泛共用或套用。將此政策的套用限制為盡可能少的個人,也就是您預期擔任 AWS 帳戶管理員的人員。