收集 AWS S3 伺服器存取記錄

支援的國家/地區:

本文說明如何設定 Google Security Operations 資訊提供,以收集 AWS S3 伺服器存取記錄。剖析器會使用 grok 模式擷取欄位、處理潛在的 JSON 輸入內容,並將擷取的欄位對應至 UDM。系統會根據特定欄位是否存在及欄位值,執行資料轉換、類型轉換和條件邏輯,確保 UDM 呈現方式準確無誤。

事前準備

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

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

如何設定 AWS S3 伺服器存取記錄

Google SecOps 支援透過 Amazon SQS 使用 Amazon S3 收集記錄。

  1. 登入 AWS 管理主控台。
  2. 存取 Amazon S3 控制台。
  3. 前往 Amazon S3 > Buckets
  4. 選取現有值區或建立新值區。
  5. 按一下 [屬性]。
  6. 在「伺服器存取記錄」部分中,按一下「編輯」
  7. 選取 [啟用]。
  8. 在「目標 bucket」欄位中,輸入新 bucket 的名稱,將記錄檔物件傳送至該 bucket,或選取現有 bucket 做為目標。
  1. 按一下 [儲存變更]。
  2. 如要為 S3 儲存空間建立 SQS 佇列,請使用 S3 儲存空間設定 Amazon SQS 例項。詳情請參閱「設定值區通知 (SNS 主題或 SQS 佇列)」。

根據服務和區域,參閱下列 AWS 說明文件,找出連線端點:

設定動態饋給

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

  • 依序點選「SIEM 設定」>「動態饋給」>「新增」
  • 依序點選「內容中心」「內容包」「開始使用」

如何設定 AWS S3 服務存取動態饋給

  1. 按一下「Amazon Cloud Platform」套件。
  2. 找出 AWS S3 服務存取記錄類型。
  3. Google SecOps 支援使用存取金鑰 ID 和私密方法收集記錄檔。如要建立存取金鑰 ID 和密鑰,請參閱「使用 AWS 設定工具驗證」。
  4. 在下列欄位中指定值。

    • 來源類型:Amazon SQS V2
    • 佇列名稱:要從中讀取的 SQS 佇列名稱
    • S3 URI:bucket URI。
      • s3://your-log-bucket-name/
        • 請將 your-log-bucket-name 替換為 S3 值區的實際名稱。
    • 來源刪除選項:根據擷取偏好設定選取刪除選項。

    • 檔案存在時間上限:包含在過去天數內修改的檔案。預設值為 180 天。

    • SQS 佇列存取金鑰 ID:帳戶存取金鑰,為 20 個字元的英數字串。

    • SQS 佇列存取密鑰:帳戶存取金鑰,為 40 個字元的英數字串。

    進階選項

    • 動態饋給名稱:系統預先填入的值,用於識別動態饋給。
    • 資產命名空間:與動態饋給相關聯的命名空間。
    • 擷取標籤:套用至這個動態饋給所有事件的標籤。
  5. 點選「建立動態饋給」

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

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.valuehostid 的值
直接從原始記錄欄位 hostid 對應。
http_capture network.http.method HTTP 方法是從 http_capture 欄位擷取。
http_capture network.http.version HTTP 版本是從 http_capture 欄位擷取。
http_capture target.url 系統會使用 hostheaderhttp_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 專業人員尋求答案。