收集 AWS Control Tower 記錄

支援的國家/地區:

本文說明如何將 AWS Control Tower 記錄擷取至 Google Security Operations。AWS Control Tower 可跨多個 AWS 帳戶進行治理、法規遵循和安全監控。整合後,您就能分析 AWS Control Tower 的記錄,進一步掌握現況並強化安全防護機制。

事前準備

請確認您已完成下列事前準備事項:

  • Google SecOps 執行個體
  • AWS 的特殊存取權

設定 Amazon S3 儲存貯體

  1. 按照這份使用者指南建立 Amazon S3 值區建立值區
  2. 請儲存 bucket 的「名稱」和「區域」,以供後續使用。
  3. 按照這份使用者指南建立使用者:建立 IAM 使用者
  4. 選取建立的「使用者」
  5. 選取「安全憑證」分頁標籤。
  6. 在「Access Keys」部分中,按一下「Create Access Key」
  7. 選取「第三方服務」做為「用途」
  8. 點選「下一步」
  9. 選用:新增說明標記。
  10. 按一下「建立存取金鑰」
  11. 按一下「下載 CSV 檔案」,儲存「存取金鑰」和「私密存取金鑰」,以供日後使用。
  12. 按一下 [完成]
  13. 選取 [權限] 分頁標籤。
  14. 在「權限政策」部分,按一下「新增權限」
  15. 選取「新增權限」
  16. 選取「直接附加政策」
  17. 搜尋並選取 AmazonS3FullAccessCloudWatchLogsFullAccess 政策。
  18. 點選「下一步」
  19. 按一下「新增權限」

在 AWS Control Tower 中設定 CloudTrail

  1. 登入 AWS 管理主控台
  2. 前往 AWS Control Tower
  3. 在搜尋列中輸入 CloudTrail,然後從服務清單中選取。
  4. 按一下「建立追蹤記錄」,建立新的追蹤記錄。

  5. 指定追蹤記錄設定:

    • 追蹤記錄名稱:為追蹤記錄提供有意義的名稱 (例如 ControlTowerTrail)。
    • 將追蹤記錄套用至所有區域:請務必為「將追蹤記錄套用至所有區域」選取「是」
    • 管理事件:確認「讀取/寫入」事件已設為「全部」
    • 選用:資料事件:啟用 S3 資料事件和 Lambda 資料事件,擷取詳細的資料活動。
    • 選用:日誌檔案驗證:啟用這項功能可確保日誌檔案儲存後不會遭到竄改。
  6. 在「事件」選取器中,選擇要記錄「管理事件」和「資料事件」

如何設定 CloudTrail

  1. 前往 AWS IAM 主控台。
  2. 按一下「角色」
  3. 搜尋 CloudTrail 使用的角色 AWSServiceRoleForCloudTrail (設定 CloudTrail 時,系統會自動建立該角色)。
  4. 在角色的「Permissions」(權限) 分頁中,按一下「Attach policies」(附加政策)
  5. 搜尋 CloudTrailS3DeliveryPolicy
  6. 勾選「CloudTrailS3DeliveryPolicy」政策旁的核取方塊。
  7. 按一下「附加政策」
  8. 前往 AWS CloudTrail 控制台。
  9. 在「儲存位置」部分,選取「S3」做為記錄檔的目的地。
  10. 選取您先前建立的 S3 值區
  11. 系統提示您授予 CloudTrail 權限,將記錄寫入所選值區時,請按一下「允許」
  12. 檢查設定,然後按一下「建立」 (或「儲存變更」,如果編輯的是現有追蹤記錄)。

設定動態饋給

在 Google SecOps 平台中,有兩種不同的進入點可設定動態饋給:

  • 「SIEM 設定」>「動態消息」
  • 內容中心 > 內容包

依序前往「SIEM 設定」>「動態消息」,設定動態消息

如要為這個產品系列中的不同記錄類型設定多個動態饋給,請參閱「依產品設定動態饋給」。

如要設定單一動態饋給,請按照下列步驟操作:

  1. 依序前往「SIEM 設定」>「動態饋給」
  2. 按一下「新增動態消息」
  3. 在下一個頁面中,按一下「設定單一動態饋給」
  4. 在「Feed name」(動態消息名稱) 欄位中,輸入動態消息的名稱 (例如「AWS Control Tower Logs」)。
  5. 選取「Amazon S3」做為「來源類型」
  6. 選取「AWS Control Tower」做為「記錄類型」
  7. 點選「下一步」
  8. 指定下列輸入參數的值:

    • 區域:Amazon S3 值區所在的區域。
    • S3 URI:bucket URI。
      • s3://your-log-bucket-name/
        • 請將 your-log-bucket-name 替換為 S3 值區的實際名稱。
    • URI 是:根據 bucket 結構,選取「Directory」(目錄) 或「Directory which includes subdirectories」(包含子目錄的目錄)
    • 來源刪除選項:根據擷取偏好設定選取刪除選項。

    • 存取金鑰 ID:具備 S3 值區讀取權限的使用者存取金鑰。

    • 存取密鑰:使用者的存取密鑰,具備從 S3 bucket 讀取的權限。

    • 資產命名空間資產命名空間

    • 擷取標籤:要套用至這個動態饋給事件的標籤。

  9. 點選「下一步」

  10. 在「Finalize」畫面上檢查新的動態饋給設定,然後按一下「Submit」

從內容中心設定動態饋給

為下列欄位指定值:

  • 區域:Amazon S3 值區所在的區域。
  • S3 URI:bucket URI。
    • s3://your-log-bucket-name/
      • 請將 your-log-bucket-name 替換為 S3 值區的實際名稱。
  • URI 是:根據 bucket 結構,選取「Directory」(目錄) 或「Directory which includes subdirectories」(包含子目錄的目錄)
  • 來源刪除選項:根據擷取偏好設定選取刪除選項。
  • 存取金鑰 ID:具備 S3 值區讀取權限的使用者存取金鑰。

  • 存取密鑰:使用者的存取密鑰,具備從 S3 bucket 讀取的權限。

進階選項

  • 動態饋給名稱:系統預先填入的值,用於識別動態饋給。
  • 來源類型:將記錄收集到 Google SecOps 的方法。
  • 資產命名空間與動態饋給相關聯的命名空間
  • 擷取標籤:套用至這個動態饋給所有事件的標籤。

UDM 對應表

記錄欄位 UDM 對應 邏輯
awsAccountId target.user.group_identifiers 與事件相關聯的 AWS 帳戶 ID。
digestPublicKeyFingerprint target.file.sha1 用來簽署摘要的公開金鑰指紋。
digestPublicKeyFingerprint target.resource.attribute.labels.value 用來簽署摘要的公開金鑰指紋。
digestS3Bucket target.resource.name 儲存摘要的 S3 值區名稱。
digestS3Object target.file.full_path S3 bucket 中摘要物件的路徑。
digestSignatureAlgorithm network.tls.cipher 用於簽署摘要的演算法。
digestSignatureAlgorithm target.resource.attribute.labels.value 用於簽署摘要的演算法。
digestStartTime metadata.event_timestamp 摘要期間的開始時間。如果 eventTime 無法使用,則會做為事件時間。
eventCategory security_result.category_details 活動的類別。
eventID metadata.product_log_id 活動的專屬 ID。
eventName metadata.product_event_type 活動名稱。
eventName security_result.summary 事件名稱,用於產生安全性結果摘要。
eventSource target.application 事件的來源。
eventTime metadata.event_timestamp 事件發生的時間。
eventType additional.fields.value.string_value 活動類型。
logFiles.hashValue about.file.sha256 記錄檔的 SHA-256 雜湊值。
logFiles.s3Bucket about.resource.name 儲存記錄檔的 S3 值區名稱。
logFiles.s3Object about.file.full_path S3 bucket 中記錄檔物件的路徑。
previousDigestHashValue target.file.sha256 先前摘要的 SHA-256 雜湊值。
recipientAccountId target.resource.attribute.labels.value 事件接收者的 AWS 帳戶 ID。
Records.awsRegion principal.location.name 事件發生的 AWS 區域。
Records.errorCode security_result.rule_id 與要求相關的錯誤代碼 (如有)。
Records.errorMessage security_result.description 與要求相關的錯誤訊息 (如有)。
Records.eventCategory security_result.category_details 活動的類別。
Records.eventID metadata.product_log_id 活動的專屬 ID。
Records.eventName metadata.product_event_type 活動名稱。
Records.eventName security_result.summary 事件名稱,用於產生安全性結果摘要。
Records.eventSource target.application 事件的來源。
Records.eventTime metadata.event_timestamp 事件發生的時間。
Records.eventType additional.fields.value.string_value 活動類型。
Records.requestID target.resource.attribute.labels.value 要求的 ID。
Records.requestParameters.groupName target.group.group_display_name 與要求相關聯的群組名稱 (如有)。
Records.requestParameters.userName src.user.userid 與要求相關聯的使用者名稱 (如有)。
Records.requestParameters.userName src.user.user_display_name 與要求相關聯的使用者名稱 (如有)。
Records.responseElements.ConsoleLogin security_action 主控台登入嘗試的結果。
Records.responseElements.ConsoleLogin security_result.summary 嘗試登入控制台的結果,用於產生安全性結果摘要。
Records.sourceIPAddress principal.hostname 主體的 IP 位址。如果不是有效的 IP,則會做為主機名稱。
Records.sourceIPAddress principal.ip 主體的 IP 位址。
Records.tlsDetails.cipherSuite network.tls.cipher 用於 TLS 連線的加密套件。
Records.tlsDetails.tlsVersion network.tls.version 連線使用的 TLS 版本。
Records.userAgent network.http.user_agent 要求的 User-Agent。
Records.userIdentity.accessKeyId additional.fields.value.string_value 用於要求的存取金鑰 ID。
Records.userIdentity.accountId principal.user.group_identifiers 使用者的 AWS 帳戶 ID。
Records.userIdentity.arn principal.user.attribute.labels.value 使用者的 ARN。
Records.userIdentity.arn target.user.userid 使用者的 ARN。如果沒有 userName,則會做為 userid 使用。
Records.userIdentity.principalId principal.user.product_object_id 使用者的主體 ID。
Records.userIdentity.sessionContext.attributes.mfaAuthenticated principal.user.attribute.labels.value 要求是否使用多重驗證。
Records.userIdentity.sessionContext.sessionIssuer.userName principal.user.userid 發出工作階段的使用者名稱。
Records.userIdentity.type principal.resource.type 用於要求的身分類型。
Records.userIdentity.userName target.user.userid 使用者的使用者名稱。
- extensions.auth.mechanism 設為「REMOTE」。
- metadata.event_type 根據 eventName 設為「STATUS_UPDATE」、「USER_RESOURCE_ACCESS」、「USER_LOGIN」或「GENERIC_EVENT」。
- metadata.log_type 設為「AWS_CONTROL_TOWER」。
- metadata.product_name 設定為「AWS Control Tower」。
- metadata.vendor_name 設為「AWS」。
- principal.asset.attribute.cloud.environment 設為「AMAZON_WEB_SERVICES」。
- security_result.action 根據 errorCode 設為「ALLOW」或「BLOCK」。
- security_result.severity 設為「INFORMATIONAL」。

還有其他問題嗎?向社群成員和 Google SecOps 專業人員尋求答案。