收集 AWS S3 伺服器存取記錄
支援的國家/地區:
Google SecOps
SIEM
本文說明如何設定 Google Security Operations 資訊提供,以收集 AWS S3 伺服器存取記錄。剖析器會使用 grok 模式擷取欄位、處理潛在的 JSON 輸入內容,並將擷取的欄位對應至 UDM。系統會根據特定欄位是否存在及欄位值,執行資料轉換、類型轉換和條件邏輯,確保 UDM 呈現方式準確無誤。
事前準備
請確認您已完成下列事前準備事項:
- Google SecOps 執行個體
- AWS 的特殊存取權
如何設定 AWS S3 伺服器存取記錄
Google SecOps 支援透過 Amazon SQS 使用 Amazon S3 收集記錄。
- 登入 AWS 管理主控台。
- 存取 Amazon S3 控制台。
- 前往 Amazon S3 > Buckets。
- 選取現有值區或建立新值區。
- 按一下 [屬性]。
- 在「伺服器存取記錄」部分中,按一下「編輯」。
- 選取 [啟用]。
- 在「目標 bucket」欄位中,輸入新 bucket 的名稱,將記錄檔物件傳送至該 bucket,或選取現有 bucket 做為目標。
- 按一下 [儲存變更]。
- 如要為 S3 儲存空間建立 SQS 佇列,請使用 S3 儲存空間設定 Amazon SQS 例項。詳情請參閱「設定值區通知 (SNS 主題或 SQS 佇列)」。
根據服務和區域,參閱下列 AWS 說明文件,找出連線端點:
- 如要瞭解任何記錄來源,請參閱「AWS Identity and Access Management 端點和配額」。
- 如要瞭解 S3 記錄來源,請參閱「Amazon Simple Storage Service 端點和配額」。
- 如要瞭解 SQS 記錄來源,請參閱「Amazon Simple Queue Service 端點和配額」。
設定動態饋給
在 Google SecOps 平台中,有兩種不同的進入點可設定動態饋給:
- 「SIEM 設定」>「動態消息」
- 內容中心 > 內容包
依序前往「SIEM 設定」>「動態消息」,設定動態消息
如要為這個產品系列中的不同記錄類型設定多個動態饋給,請參閱「依產品設定動態饋給」。
如要設定單一動態饋給,請按照下列步驟操作:
- 依序前往「SIEM 設定」>「動態饋給」。
- 按一下「新增動態消息」。
- 在下一個頁面中,按一下「設定單一動態饋給」。
- 在「Source type」(來源類型) 清單中,選取「Amazon S3」或「Amazon SQS」。
- 在「記錄類型」清單中,選取「AWS S3 伺服器存取」。
- 點選「下一步」。
- Google SecOps 支援使用存取金鑰 ID 和私密方法收集記錄檔。如要建立存取金鑰 ID 和密鑰,請參閱「使用 AWS 設定工具驗證」。
- 根據您建立的 AWS S3 伺服器存取設定,為輸入參數指定值:
- 如果使用 Amazon S3,請為下列欄位指定值:
- 區域
- S3 URI
- URI 是
- 來源刪除選項
- 存取金鑰 ID
- 存取密鑰
- 如果使用 Amazon SQS,請為下列欄位指定值:
- 區域
- 佇列名稱
- 帳戶號碼
- 佇列存取金鑰 ID
- 佇列存取密鑰
- 來源刪除選項
- 如果使用 Amazon S3,請為下列欄位指定值:
- 依序點按「繼續」和「提交」。
從內容中心設定動態饋給
您可以使用 Amazon SQS (建議) 或 Amazon S3,在 Google SecOps 中設定擷取動態饋給。
為下列欄位指定值:
- 區域:S3 bucket 或 SQS 佇列的代管區域。
- 佇列名稱:要從中讀取記錄資料的 SQS 佇列名稱。
- 帳號:擁有 SQS 佇列的帳號。
- 佇列存取金鑰 ID:20 個字元的帳戶存取金鑰 ID。例如:
AKIAOSFOODNN7EXAMPLE
。 - 佇列存取密鑰:40 個字元的存取密鑰。例如:
wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
。 - 來源刪除選項:在轉移資料後刪除檔案和目錄的選項。
進階選項
- 動態饋給名稱:系統預先填入的值,用於識別動態饋給。
- 來源類型:將記錄收集到 Google SecOps 的方法。
- 資產命名空間:與動態饋給相關聯的命名空間。
- 擷取標籤:套用至這個動態饋給所有事件的標籤。
UDM 對應表
記錄欄位 | UDM 對應 | 邏輯 |
---|---|---|
aclRequired |
target.resource.attribute.labels.key : "aclRequired"target.resource.attribute.labels.value : Value of aclRequired |
直接從原始記錄欄位 aclRequired 對應。 |
authenticationtype |
extensions.auth.auth_details |
直接從原始記錄欄位 authenticationtype 對應。 |
bucket |
target.resource.name |
直接從原始記錄欄位 bucket 對應。 |
bucket |
target.resource.resource_type :「STORAGE_BUCKET」 |
如果存在 bucket 欄位,剖析器會將 resource_type 設為「STORAGE_BUCKET」。 |
bucketowner |
target.resource.product_object_id |
直接從原始記錄欄位 bucketowner 對應。 |
bytes_sent |
network.sent_bytes |
直接從原始記錄欄位 bytes_sent 對應,並轉換為不帶正負號的整數,然後將「-」替換為「0」。 |
ciphersuite |
network.application_protocol :「HTTPS」 |
如果存在 ciphersuite 欄位,剖析器會將 application_protocol 設為「HTTPS」。 |
ciphersuite |
network.tls.cipher |
直接從原始記錄欄位 ciphersuite 對應。 |
errorcode |
security_result.action_details |
直接從原始記錄欄位 errorcode 對應。 |
errorcode |
security_result.action :「BLOCK」 |
如果 errorcode 欄位包含「AccessDenied」(不區分大小寫),剖析器會將 action 設為「BLOCK」。 |
hostheader |
target.hostname |
從原始記錄檔欄位 hostheader 擷取,可能移除連接埠號碼。 |
hostheader |
target.port |
如果存在通訊埠號碼,則從原始記錄欄位 hostheader 擷取。 |
hostid |
target.resource.attribute.labels.key :「S3 擴充要求 ID」target.resource.attribute.labels.value :hostid 的值 |
直接從原始記錄欄位 hostid 對應。 |
http_capture |
network.http.method |
HTTP 方法是從 http_capture 欄位擷取。 |
http_capture |
network.http.version |
HTTP 版本是從 http_capture 欄位擷取。 |
http_capture |
target.url |
系統會使用 hostheader 和 http_request_uri (從 http_capture 擷取) 建構目標網址,並根據 ciphersuite 的存在與否,加上「http://」或「https://」前置字元。 |
httpstatus |
network.http.response_code |
轉換為整數後,直接從原始記錄欄位 httpstatus 對應。 |
object_version_id |
target.resource.product_object_id |
直接從原始記錄欄位 object_version_id 對應。 |
objectsize |
target.file.size |
直接從原始記錄欄位 objectsize 對應,並轉換為不帶正負號的整數,然後將「-」替換為「0」。 |
operation |
metadata.product_event_type |
直接從原始記錄欄位 operation 對應。 |
referrer |
network.http.referral_url |
移除引號後,直接從原始記錄欄位 referrer 對應。 |
remoteip |
metadata.event_type :「USER_RESOURCE_ACCESS」 |
如果 remoteip 欄位空白,剖析器會將 event_type 設為「USER_RESOURCE_ACCESS」。 |
remoteip |
principal.ip |
直接從原始記錄欄位 remoteip 對應。 |
requester |
target.resource.attribute.labels.key : "Access Point ARN"target.resource.attribute.labels.value : Value of requester |
直接從原始記錄欄位 requester 對應。 |
requester_user |
principal.user.userid |
直接從原始記錄欄位 requester_user 對應。 |
requestid |
network.session_id |
直接從原始記錄欄位 requestid 對應。 |
request_time_ms |
network.session_duration.nanos |
從原始記錄欄位 request_time_ms 直接對應,轉換為整數、將「-」替換為「0」,並以零填補,表示奈秒。 |
signatureversion |
target.resource.attribute.labels.key : "Signature Version"target.resource.attribute.labels.value : Value of signatureversion |
直接從原始記錄欄位 signatureversion 對應。 |
time |
metadata.event_timestamp |
從原始記錄欄位 time 剖析,並轉換為時間戳記。 |
tlsVersion |
network.tls.version |
直接從原始記錄欄位 tlsVersion 對應。 |
useragent |
network.http.user_agent |
移除引號後,直接從原始記錄欄位 useragent 對應。 |
(剖析器邏輯) | metadata.event_type :「NETWORK_HTTP」 |
剖析器會將預設的 event_type 設為「NETWORK_HTTP」。 |
(剖析器邏輯) | metadata.log_type :「AWS_S3_SERVER_ACCESS」 |
剖析器會將 log_type 設為「AWS_S3_SERVER_ACCESS」。 |
(剖析器邏輯) | metadata.product_name :「AWS S3 Server Access」 |
剖析器會將 product_name 設為「AWS S3 伺服器存取」。 |
(剖析器邏輯) | metadata.product_version :「HTTP/http_version 」 |
剖析器會使用擷取的 http_version 設定 product_version 。 |
(剖析器邏輯) | metadata.vendor_name :「AMAZON」 |
剖析器會將 vendor_name 設為「AMAZON」。 |
(剖析器邏輯) | network.application_protocol :「HTTP」 |
如果沒有 ciphersuite 欄位,剖析器會將 application_protocol 設為「HTTP」。 |
(剖析器邏輯) | timestamp |
剖析器會在處理事件時,將事件 timestamp 設為目前時間。 |
還有其他問題嗎?向社群成員和 Google SecOps 專業人員尋求答案。