收集資料 AWS services - Amazon Security Lake

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

收集資料 AWS services

Amazon 安全湖可以從以下本地 AWS services支持的日誌和事件收集日誌和事件:

  • AWS CloudTrail 管理和資料事件 (S3、Lambda)

  • Amazon Elastic Kubernetes Service (Amazon EKS) 審核日誌

  • Amazon Route 53 Resolver 查詢日誌

  • AWS Security Hub 發現

  • Amazon Virtual Private Cloud (Amazon VPC) 流程日誌

  • AWS WAF 2 日誌

安全湖自動將這些數據轉換為開放網路安全架構架構架構 (OCSF)和 Apache 鑲木地板格式。

提示

若要在 Security Lake 中新增一或多個先前服務做為記錄來源,除了 CloudTrail 管理事件之外,您需要在這些服務中個別設定記錄。如果您已在這些服務中設定記錄,則需要變更記錄設定,即可將它們新增為 Security Lake 中的記錄來源。Security Lake 透過獨立且重複的事件串流,直接從這些服務提取資料。

先決條件:驗證權限

若要在安全湖中新增 AWS service 為來源,您必須擁有必要的權限。確認附加至您用來新增來源之角色的 AWS Identity and Access Management (IAM) 政策具有執行下列動作的權限:

  • glue:CreateDatabase

  • glue:CreateTable

  • glue:GetDatabase

  • glue:GetTable

  • glue:UpdateTable

  • iam:CreateServiceLinkedRole

  • s3:GetObject

  • s3:PutObject

建議角色具有和s3:PutObject權限的下列條件和資源範圍。S3:getObject

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowUpdatingSecurityLakeS3Buckets", "Effect": "Allow", "Action": [ "s3:GetObject", "s3:PutObject" ], "Resource": "arn:aws:s3:::aws-security-data-lake*", "Condition": { "StringEquals": { "aws:ResourceAccount": "${aws:PrincipalAccount}" } } } ] }

這些動作可讓您從中收集記錄和事件, AWS service 並將其傳送至正確的 AWS Glue 資料庫和表格。

如果您使用 AWS KMS 金鑰進行資料湖的伺服器端加密,您還需要的權限kms:DescribeKey

CloudTrail 事件記錄

AWS CloudTrail 為您的帳戶提供 AWS API 呼叫的歷史記錄,包括使用、 AWS SDK AWS Management Console、命令列工具和特定 AWS 服務進行的 API 呼叫。 CloudTrail 也可讓您識別哪些使用者和帳戶呼叫 AWS API 以取得支援的服務 CloudTrail、呼叫的來源 IP 位址,以及呼叫發生的時間。如需詳細資訊,請參閱 AWS CloudTrail 使用者指南

安全湖可以收集與 S3 和 Lambda 的 CloudTrail 管理事件和 CloudTrail 資料事件相關聯的日誌。 CloudTrail 管理事件、S3 資料事件和 Lambda 資料事件是安全湖中的三個獨立來源。因此,當您將其中一個新增為擷取的記錄來源sourceName時,它們會有不同的值。管理事件 (也稱為控制平面事件) 可針對您的資源執行的管理作業提供深入分析 AWS 帳戶。 CloudTrail 資料事件 (也稱為資料平面作業) 會顯示在您的 AWS 帳戶. 這些作業通常是高容量的活動。

若要在 Security Lake 中收集 CloudTrail 管理事件,您必須至少有一個收集讀取和寫入 CloudTrail 管理事件的 CloudTrail多區域組織追蹤。必須啟用追蹤的記錄功能。如果您已在其他服務中設定記錄,則不需要變更記錄設定,即可將它們新增為 Security Lake 中的記錄來源。Security Lake 透過獨立且重複的事件串流,直接從這些服務提取資料。

多區域追蹤可將多個區域的日誌檔案交付到單一 Amazon 簡單儲存服務 (Amazon S3) 儲存貯體,只 AWS 帳戶需一個儲存貯體即可。如果您已經透過 CloudTrail 主控台管理多區域追蹤 AWS Control Tower,或者不需要採取進一步的動作。

  • 若要取得有關建立和管理追蹤的資訊 CloudTrail,請參閱《AWS CloudTrail 使用指南》中的〈為組織建立追蹤〉

  • 如需建立和管理追蹤的相關資訊 AWS Control Tower,請參閱AWS Control Tower 使用者指南 AWS CloudTrail中的記錄 AWS Control Tower 動作

當您將 CloudTrail 事件新增為來源時,Security Lake 會立即開始收集您的 CloudTrail 事件記錄檔。它會透 CloudTrail 過獨立且重複的事件串流,直接從中取用 CloudTrail 管理和資料事件。

安全湖不會管理您的 CloudTrail 事件,也不會影響您現有的 CloudTrail 設定。若要直接管理 CloudTrail 事件的存取和保留,您必須使用 CloudTrail 服務主控台或 API。如需詳細資訊,請參閱AWS CloudTrail 使用指南中的檢視具有 CloudTrail 事件歷程記錄的事件。

下列清單提供了 Security Lake 如何將 CloudTrail 事件標準化為 OCSF 的對應參照的 GitHub 儲存庫連結。

GitHub 用 CloudTrail 於事件的 OCSF 儲存庫
  • 來源版本 1 (第 2 版)

  • 來源版本 2 (1.1.0 版)

Amazon EKS 審計日誌

當您將 Amazon EKS 稽核日誌新增為來源時,安全湖開始收集有關在彈性 Kubernetes 服務 (EKS) 叢集中執行的 Kubernetes 資源上執行的活動的深入資訊。EKS 稽核記錄可協助您偵測 Amazon Elastic Kubernetes Service 中 EKS 叢集中潛在的可疑活動。

Security Lake 透過獨立且重複的稽核日誌串流,直接從 Amazon EKS 控制平面記錄功能使用 EKS 稽核日誌事件。此程序的設計不需要額外的設定,也不會影響您可能擁有的現有 Amazon EKS 控制平面記錄組態。如需詳細資訊,請參閱 Amazon EKS 使用者指南中的 Amazon EKS 控制平面記錄

Amazon EKS 稽核日誌僅在 OCSF v1.1.0 中受支援。如需安全湖如何將 EKS 稽核日誌事件標準化為 OCSF 的相關資訊,請參閱 Amazon EKS 稽核日誌事件的 GitHub OCSF 儲存庫中的對應參考 (v1.1.0)。

Route 53 Resolver 查詢日誌

Route 53 解析器查詢日誌會追蹤 Amazon Virtual Private Cloud (Amazon VPC) 內資源所進行的 DNS 查詢。這可協助您瞭解應用程式的運作方式,並發現安全性威脅。

當您在 Security Lake 中新增 Route 53 解析器查詢記錄檔做為來源時,Security Lake 會立即開始透過獨立且重複的事件資料流直接從 Route 53 收集解析器查詢記錄檔。

安全湖不會管理您的 Route 53 記錄檔,也不會影響您現有的解析程式查詢記錄設定。若要管理解析程式查詢記錄檔,您必須使用 Route 53 服務主控台。如需詳細資訊,請參閱 Amazon Route 53 開發人員指南中的管理解析器查詢記錄組態

下列清單提供安全性湖如何將 Route 53 記錄標準化為 OCSF 的對應參照的 GitHub 儲存庫連結。

GitHub 適用於路由 53 記錄的 OCSF 儲存庫
  • 來源版本 1 (第 2 版)

  • 來源版本 2 (1.1.0 版)

Security Hub 發現

Security Hub 發現項目可協助您瞭解中的安全性狀態, AWS 並讓您根據安全性產業標準和最佳做法來檢查您的環境。Security Hub 會從各種來源收集發現項目,包括與其他 AWS services第三方產品整合的整合,並檢查 Security Hub 控制項。安全性中樞會以稱為「 AWS 安全性尋找格式 (ASFF)」的標準格式來處理發現項目。

當您將 Security Hub 發現項目新增為 Security Lake 中的來源時,Security Lake 會立即開始透過獨立且重複的事件串流直接從 Security Hub 收集您的發現項目。安全湖也將調查結果從 ASFF 轉換為開放網路安全架構架構架構 (OCSF)(OCSF)。

安全湖不會管理您的 Security Hub 發現項目,也不會影響您的 Security Hub 設定。若要管理 Security Hub 發現項目,您必須使用 Security Hub 服務主控台、API 或 AWS CLI. 如需詳細資訊,請參閱AWS Security Hub 使用指南 AWS Security Hub中的發現項目

下列清單提供安全性湖泊如何將安全 Security Hub 發現項目標準化為 OCSF 的對應參照的 GitHub 儲存庫連結。

GitHub Security Hub 發現項目的 OCSF 儲存庫
  • 來源版本 1 (第 2 版)

  • 來源版本 2 (1.1.0 版)

VPC 流量日誌

Amazon VPC 的 VPC 流量日誌功能會擷取環境內網路界面進出 IP 流量的相關資訊。

當您將 VPC 流程記錄新增為安全湖中的來源時,Security Lake 會立即開始收集您的 VPC 流程記錄。它會透過獨立且重複的流程日誌串流,直接從 Amazon VPC 取用 VPC 流程日誌。

安全湖不會管理您的 VPC 流程日誌,也不會影響您的 Amazon VPC 組態。若要管理流程日誌,您必須使用 Amazon VPC 服務主控台。如需詳細資訊,請參閱 Amazon VPC 開發人員指南中的使用流程日誌

下列清單提供安全性湖泊如何將 VPC 流程記錄標準化為 OCSF 的對應參照的 GitHub 存放庫連結。

GitHub 適用於 VPC 流程記錄的 OCSF 儲存庫
  • 來源版本 1 (第 2 版)

  • 來源版本 2 (1.1.0 版)

AWS WAF 日誌

當您在 Security Lake 中新增 AWS WAF 為記錄來源時,Security Lake 會立即開始收集記錄檔。 AWS WAF 是一種 Web 應用程式防火牆,可用來監控使用者傳送至應用程式的 Web 要求,以及控制對內容的存取。記錄的資訊包括從您的 AWS 資源 AWS WAF 接收 Web 要求的時間、有關請求的詳細資訊,以及有關要求符合之規則的詳細資訊。

Security Lake 會 AWS WAF 透過獨立且重複的 AWS WAF 記錄資料流直接使用記錄檔。此程序的設計目的是不需要額外的設定,也不會影響您可能擁有的現有 AWS WAF 組態。如需如何使用 AWS WAF 來保護應用程式資源的詳細資訊,請參閱 AWS WAF 開發人員指南中的AWS WAF 運作方式。

重要

如果您在中使用 Amazon CloudFront 分發做為資源類型 AWS WAF,則必須選取美國東部 (維吉尼亞北部),才能在 Security Lake 中擷取全域記錄。

AWS WAF 記錄檔僅在 OCSF v1.1.0 中受支援。如需有關安全性湖泊如何將記 AWS WAF 錄事件標準化為 OCSF 的詳細資訊,請參閱 GitHub OCSF 存放庫中 AWS WAF 記錄檔的對應參考 (v1.1.0)。

新增 AWS service 為來源

新增 AWS service 為來源後,Security Lake 會自動開始從中收集安全性記錄檔和事件。這些說明會告訴您如何在 Security Lake 中新增原生支援 AWS service 的來源。如需新增自訂來源的指示,請參閱從自訂來源收集資料

Console
若要新增 AWS 記錄來源 (主控台)
  1. 開啟安全湖主控台,網址為 https://console.aws.amazon.com/securitylake/

  2. 從導覽窗格中選擇「來源」。

  3. 選取您 AWS service 要從中收集資料的來源,然後選擇設定

  4. 在「來源設定」區段中,啟用來源,然後選取要用於資料擷取的資料來源版本。根據預設,安全湖會擷取最新版本的資料來源。

    重要

    如果您沒有在指定區域中啟用新版 AWS 記錄來源的必要角色權限,請聯絡 Security Lake 系統管理員。如需詳細資訊,請參閱更新角色權限

    若要讓訂閱者內嵌選取的資料來源版本,您還必須更新訂閱者設定。如需如何編輯訂閱者的詳細資訊,請參閱 Amazon 安全湖中的訂閱者管理

    或者,您可以選擇僅內嵌最新版本,並停用用於資料擷取的所有先前來源版本。

  5. 在「區域」段落中,選取您要收集來源資料的區域。Security Lake 將從所選區域中的所有帳戶收集來自來源的資料。

  6. 選擇 啟用

API

若要新增 AWS 記錄來源 (API)

若要以程式設計方式新增 AWS service 為來源,請使用安全湖 API 的CreateAwsLogSource作業。如果您使用的是 AWS Command Line Interface (AWS CLI),請運行創建 aws- log 源命令。sourceNameregions 是必要參數。或者,您可以將來源範圍限制為特定accounts或特定範圍sourceVersion

重要

當您未在命令中提供參數時,Security Lake 會假設遺失的參數是指整個集合。例如,如果您未提供accounts參數,則此命令會套用至組織中的整組帳戶。

下列範例會將 VPC 流程記錄新增為指定帳戶和區域中的來源。此範例已針對 Linux、macOS 或 Unix 格式化,並使用反斜線 (\) 行接續字元來改善可讀性。

注意

如果您將此要求套用至尚未啟用安全湖泊的區域,則會收到錯誤訊息。您可以在該區域中啟用安全性湖泊,或使用regions參數僅指定已在其中啟用 Security Lake 的區域來解決錯誤。

$ aws securitylake create-aws-log-source \ --sources sourceName=VPC_FLOW,accounts='["123456789012", "111122223333"]',regions=["us-east-2"],sourceVersion="2.0"

更新角色權限

如果您沒有必要的角色許可或資源 (新 AWS Lambda 函數和 Amazon Simple Queue Service (Amazon SQS) 佇列 — 若要從新版本的資料來源中擷取資料,您必須更新AmazonSecurityLakeMetaStoreManagerV2角色許可並建立一組新的資源來處理來自來源的資料。

選擇您偏好的方法,然後依照指示更新您的角色權限,並建立新資源,以處理指定區域中新版 AWS 記錄來源的資料。這是一次性動作,因為權限和資源會自動套用至 future 的資料來源版本。

Console
若要更新角色權限 (主控台)
  1. 開啟安全湖主控台,網址為 https://console.aws.amazon.com/securitylake/

    使用委派的安全湖管理員的認證登入。

  2. 在導覽窗格中,於 Settings (設定) 下選擇 General (一般)

  3. 選擇 [更新角色權限]。

  4. 在「服務存取」區段中,執行下列其中一項作業:

    • 建立並使用新的服務角色 — 您可以使用安全性湖泊建立的 AmazonSecurityLakeMetaStoreManagerV2 角色。

    • 使用現有的服務角色 — 您可以從 [服務角色名稱] 清單中選擇現有的服務角色

  5. 選擇套用

API

若要更新角色權限 (API)

若要以程式設計方式更新權限,請使用安全湖 API 的UpdateDataLake作業。若要使用更新權限 AWS CLI,請執行update-data-lake命令。

若要更新您的角色權限,您必須將AmazonSecurityLakeMetastoreManager原則附加至角色。

刪除角 AmazonSecurityLakeMetaStoreManager 色

重要

將角色權限更新為後AmazonSecurityLakeMetaStoreManagerV2,請先確認資料湖可正常運作,然後再移除舊AmazonSecurityLakeMetaStoreManager角色。建議至少等待 4 個小時,然後再移除角色。

如果您決定要移除角色,則必須先從中刪除AmazonSecurityLakeMetaStoreManager角色 AWS Lake Formation。

請按照以下步驟從 Lake Formation 控制台中刪除AmazonSecurityLakeMetaStoreManager角色。

  1. 登錄到 AWS Management Console,並打開 Lake Formation 控制台 https://console.aws.amazon.com/lakeformation/

  2. 在「Lake Formation」主控台中,從導覽窗格中選擇「系統管理角色和工作」。

  3. AmazonSecurityLakeMetaStoreManager從每個區域移除。

刪除 AWS service 作為源

選擇您的存取方法,然後依照下列步驟移除原生支援的 AWS service Security Lake 來源。您可以移除一或多個區域的來源。移除來源時,Security Lake 會停止從指定區域和帳戶中的該來源收集資料,訂閱者也無法再使用來源的新資料。但是,訂閱者仍然可以使用 Security Lake 在移除之前從來源收集的資料。您只能使用這些指示來移除原生支援的 AWS service 來源。若要取得有關移除自訂來源的資訊,請參閱從自訂來源收集資料

Console
  1. 開啟安全湖主控台,網址為 https://console.aws.amazon.com/securitylake/

  2. 從導覽窗格中選擇「來源」。

  3. 選取來源,然後選擇「停用」。

  4. 選取您要停止從此來源收集資料的一或多個區域。Security Lake 將停止從所選區域中的所有帳戶收集來自來源的資料。

API

若要以程式設計方式移除 AWS service 做為來源,請使用安全湖 API 的DeleteAwsLogSource作業。如果您使用的是 AWS Command Line Interface (AWS CLI),請運行刪除 aw s-log 源命令。sourceNameregions 是必要參數。或者,您可以將移除範圍限制為特定accounts或特定範圍sourceVersion

重要

當您未在命令中提供參數時,Security Lake 會假設遺失的參數是指整個集合。例如,如果您未提供accounts參數,則此命令會套用至組織中的整組帳戶。

下列範例會移除指定帳戶和區域中做為來源的 VPC 流程記錄。

$ aws securitylake delete-aws-log-source \ --sources sourceName=VPC_FLOW,accounts='["123456789012", "111122223333"]',regions='["us-east-1", "us-east-2"]',sourceVersion="2.0"

下列範例會移除 Route 53 做為指定帳戶和區域中的來源。

$ aws securitylake delete-aws-log-source \ --sources sourceName=ROUTE53,accounts='["123456789012"]',regions='["us-east-1", "us-east-2"]',sourceVersion="2.0"

上述範例針對 Linux、macOS 或 Unix 進行格式化,並使用反斜線 (\) 行接續字元來提高可讀性。

取得來源集合的狀態

選擇您的存取方法,然後按照步驟取得目前區域中已啟用記錄收集的帳戶和來源的快照。

Console
若要取得目前區域中記錄收集的狀態
  1. 開啟安全湖主控台,網址為 https://console.aws.amazon.com/securitylake/

  2. 在功能窗格中,選擇 [帳戶]。

  3. 將游標停留在「來源」欄中的數字上,即可查看已為選取的帳戶啟用哪些記錄。

API

若要取得目前區域中記錄檔收集的狀態,請使用安全湖 API 的GetDataLakeSources作業。如果您使用的是 AWS CLI,請執行取得資料湖泊來源命令。對於accounts參數,您可以指定一個或多個 AWS 帳戶 ID 作為清單。如果您的要求成功,Security Lake 會傳回目前區域中這些帳戶的快照,包括 Security Lake 收集資料的 AWS 來源以及每個來源的狀態。如果您未包含accounts參數,則回應會包含目前區域中已設定 Security Lake 之所有帳戶的記錄收集狀態。

例如,下列 AWS CLI 命令會擷取目前區域中指定帳戶的記錄收集狀態。此範例已針對 Linux、macOS 或 Unix 格式化,並使用反斜線 (\) 行接續字元來改善可讀性。

$ aws securitylake get-data-lake-sources \ --accounts "123456789012" "111122223333"