收集 Tanium Comply 記錄
本文說明如何使用 Tanium Connect 的原生 S3 匯出功能,透過 Amazon S3 將 Tanium Comply 記錄擷取至 Google Security Operations。剖析器會將 JSON 記錄資料轉換為統一資料模型 (UDM)。這項功能會擷取重要安全漏洞資訊,例如 CVE ID、CVSS 分數、受影響的 IP 位址和時間戳記,然後將這些資訊重新架構為標準化 UDM 格式,以利進行一致的安全分析。
事前準備
請確認您已完成下列事前準備事項:
- Google SecOps 執行個體
- Tanium Connect 和 Tanium Console 的特殊權限
- 已安裝並設定 Tanium Comply 2.1 以上版本
- AWS (S3、IAM) 的特殊存取權
為 Google SecOps 設定 AWS S3 值區和 IAM
- 按照這份使用者指南建立 Amazon S3 bucket:建立 bucket
- 儲存 bucket 的「名稱」和「區域」,以供日後參考 (例如
tanium-comply-logs
)。 - 按照這份使用者指南建立使用者:建立 IAM 使用者。
- 選取建立的「使用者」。
- 選取「安全憑證」分頁標籤。
- 在「Access Keys」部分中,按一下「Create Access Key」。
- 選取「第三方服務」做為「用途」。
- 點選「下一步」。
- 選用:新增說明標記。
- 按一下「建立存取金鑰」。
- 按一下「下載 CSV 檔案」,儲存「存取金鑰」和「私密存取金鑰」以供日後使用。
- 按一下 [完成]。
- 選取 [權限] 分頁標籤。
- 在「Permissions policies」(權限政策) 區段中,按一下「Add permissions」(新增權限)。
- 選取「新增權限」。
- 選取「直接附加政策」
- 搜尋並選取 AmazonS3FullAccess 政策。
- 點選「下一步」。
- 按一下「Add permissions」。
設定 Amazon S3 值區的權限
- 在 Amazon S3 管理中心中,選擇您先前建立的值區。
- 依序點選「Permissions」(權限)「Bucket policy」(儲存空間政策)。
在「Bucket Policy Editor」(值區政策編輯器) 中,新增下列政策:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::YOUR_ACCOUNT_ID:user/tanium-connect-s3-user" }, "Action": [ "s3:PutObject", "s3:PutObjectAcl", "s3:GetObject", "s3:ListBucket" ], "Resource": [ "arn:aws:s3:::tanium-comply-logs", "arn:aws:s3:::tanium-comply-logs/*" ] } ] }
請替換下列變數:
- 將
YOUR_ACCOUNT_ID
改為您的 AWS 帳戶 ID。 - 如果不同,請將
tanium-comply-logs
變更為實際值區名稱。 - 如果不同,請將
tanium-connect-s3-user
變更為實際的 IAM 使用者名稱。
- 將
按一下 [儲存]。
設定 Tanium Connect,以便匯出至 S3
- 以管理員身分登入 Tanium Console。
- 依序前往「Tanium Connect」>「Connections」。
- 按一下「建立連線」。
- 在「一般資訊」部分,提供下列設定詳細資料:
- 名稱:輸入描述性名稱 (例如
Tanium Comply to S3
)。 - 說明:輸入有意義的說明 (例如
Export Tanium Comply findings to S3 for Google SecOps ingestion
)。 - 啟用:選取即可啟用連線。
- 「記錄層級」:選取「資訊」 (預設),或視需要調整。
- 名稱:輸入描述性名稱 (例如
在「設定」部分中,針對「來源」選取「Tanium Comply (Findings)」。
設定 Comply 來源設定:
- 發現事項類型:選取要匯出的發現事項類型 (所有、法規遵循或安全性弱點)。
- 納入已解決的發現項目:選取是否要納入已解決的發現項目。
- 電腦群組:選取要匯出的電腦群組 (預設為「所有電腦」)。
在「目的地」部分,選取「AWS S3」。
請提供下列設定詳細資料:
- 目的地名稱:輸入名稱 (例如
Google SecOps S3 Bucket
)。 - AWS 存取金鑰:輸入先前建立的 IAM 使用者存取金鑰 ID。
- AWS 密鑰:輸入先前建立的 IAM 使用者存取密鑰。
- 值區名稱:輸入 S3 值區名稱 (例如
tanium-comply-logs
)。 - Bucket 路徑:選用。輸入路徑前置字串 (例如
tanium/comply/
)。 - 區域:選取儲存空間所在的 AWS 區域 (例如
us-east-1
)。
- 目的地名稱:輸入名稱 (例如
在「格式」部分,設定輸出格式:
- 格式類型:選取「JSON」。
- 包含欄標題:選取是否要包含欄標題。
- 產生文件:取消選取這個選項,即可傳送原始 JSON 資料。
選用步驟:在「設定輸出」部分,視需要設定篩選器和自訂欄。
在「Schedule」(排程) 部分,設定連線的執行時間:
- 排程類型:選取「Cron」。
- Cron 運算式:輸入定期匯出的 Cron 運算式 (例如
0 */4 * * *
,表示每 4 小時匯出一次)。 - 開始日期:設定時間表的開始日期。
按一下 [儲存變更]。
在「連結總覽」頁面中,前往「連結」。
按一下您建立的連線 (「Tanium Comply to S3」)。
按一下「立即執行」測試連線。
確認要執行連線。
監控連線狀態,並確認法規遵循調查結果已匯出至 S3 儲存空間。
選用:為 Google SecOps 建立唯讀 IAM 使用者和金鑰
- 依序前往 AWS 管理中心 > IAM > 使用者 > 新增使用者。
- 點選 [Add users] (新增使用者)。
- 提供下列設定詳細資料:
- 使用者:輸入
secops-reader
。 - 存取類型:選取「存取金鑰 - 程式輔助存取」。
- 使用者:輸入
- 按一下「建立使用者」。
- 附加最低讀取權限政策 (自訂):依序選取「使用者」>「secops-reader」>「權限」>「新增權限」>「直接附加政策」>「建立政策」。
在 JSON 編輯器中輸入下列政策:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": ["s3:GetObject"], "Resource": "arn:aws:s3:::tanium-comply-logs/*" }, { "Effect": "Allow", "Action": ["s3:ListBucket"], "Resource": "arn:aws:s3:::tanium-comply-logs" } ] }
將名稱設為
secops-reader-policy
。依序前往「建立政策」> 搜尋/選取 >「下一步」>「新增權限」。
依序前往「安全憑證」>「存取金鑰」>「建立存取金鑰」。
下載 CSV (這些值會輸入至動態饋給)。
在 Google SecOps 中設定資訊提供,擷取 Tanium Comply 記錄
- 依序前往「SIEM 設定」>「動態饋給」。
- 按一下「+ 新增動態消息」。
- 在「動態饋給名稱」欄位中輸入動態饋給名稱 (例如
Tanium Comply logs
)。 - 選取「Amazon S3 V2」做為「來源類型」。
- 選取「Tanium Comply」做為「記錄類型」。
- 點選「下一步」。
- 指定下列輸入參數的值:
- S3 URI:
s3://tanium-comply-logs/tanium/comply/
(如果使用不同的值區名稱或路徑,請調整路徑)。 - 來源刪除選項:根據偏好設定選取刪除選項。
- 檔案存在時間上限:包含在過去天數內修改的檔案。預設值為 180 天。
- 存取金鑰 ID:具有 S3 值區存取權的使用者存取金鑰 (來自上述建立的唯讀使用者)。
- 私密存取金鑰:具有 S3 bucket 存取權的使用者私密金鑰 (來自上述建立的唯讀使用者)。
- 資產命名空間:資產命名空間。
- 擷取標籤:要套用至這個動態饋給事件的標籤。
- S3 URI:
- 點選「下一步」。
- 在「完成」畫面中檢查新的動態饋給設定,然後按一下「提交」。
UDM 對應表
記錄欄位 | UDM 對應 | 邏輯 |
---|---|---|
電腦名稱 | entity.entity.asset.hostname | 直接從「電腦名稱」欄位對應,並將空格替換為底線。 |
CVE | entity.entity.asset.vulnerabilities.cve_id | 直接從「CVE」欄位對應。 |
CVSS v3 分數 | entity.entity.asset.vulnerabilities.cvss_base_score | 重新命名為 cvss_base_score 後,直接從「CVSS v3 Score」欄位對應。 |
CVSS v3 嚴重性 | entity.entity.asset.vulnerabilities.severity_details | 直接對應至「CVSS v3 Severity」欄位。 |
CVSS v3 向量 | entity.entity.asset.vulnerabilities.cvss_vector | 直接對應至「CVSS v3 Vector」欄位。 |
首次發現日期 | entity.entity.asset.vulnerabilities.first_found | 從「首次發現日期」欄位剖析,並轉換為 RFC 3339 世界標準時間格式。如果日期包含「-」,系統會附加「T00:00:00Z」。否則,系統會使用 grok 擷取日期,然後進行轉換。 |
IP 位址 | entity.entity.asset.ip | 「IP 位址」陣列中的每個 IP 位址,都會對應至 UDM 中的個別「ip」欄位。 |
上次發現日期 | entity.entity.asset.vulnerabilities.last_found | 從「上次發現日期」欄位剖析,並轉換為 RFC 3339 世界標準時間格式。如果日期包含「-」,系統會附加「T00:00:00Z」。否則,系統會使用 grok 擷取日期,然後進行轉換。 |
標題 | entity.entity.asset.vulnerabilities.name | 直接對應至「Title」欄位。 |
collection_time.nanos | entity.metadata.collected_timestamp.nanos | 直接從「collection_time.nanos」欄位對應。 |
collection_time.seconds | entity.metadata.collected_timestamp.seconds | 直接從「collection_time.seconds」欄位對應。 |
時間 | entity.metadata.interval.start_time | 從「time」欄位剖析並轉換為 RFC 3339 世界標準時間格式。 |
- | entity.metadata.entity_type | 設為「ASSET」。 |
- | entity.metadata.product_entity_id | 設為「Tanium:」,並串連「computerName」欄位的值。 |
- | entity.metadata.product_name | 設為「Comply」。 |
- | entity.metadata.vendor_name | 設為「Tanium」。 |
還有其他問題嗎?向社群成員和 Google SecOps 專業人員尋求答案。