收集 Cisco Umbrella 稽核記錄

支援的國家/地區:

本文說明如何使用 AWS S3 儲存空間,將 Cisco Umbrella 稽核記錄收集到 Google Security Operations 資訊提供。剖析器會將原始 CSV 記錄資料正規化,處理不同的分隔符號和潛在的格式不一致問題。然後,根據記錄類型 (DNS 或稽核),將擷取的欄位對應至相應的 UDM 結構定義,並以額外背景資訊擴充資料,以及將表示法標準化,以利進一步分析。

事前準備

  • 確認您擁有 Google SecOps 執行個體。
  • 確認您有權存取 AWS IAM 和 S3。
  • 確認您具備 Cisco Umbrella 的特殊權限。

設定 Cisco 管理的 Amazon S3 儲存空間

  1. 登入 Cisco Umbrella 資訊主頁。
  2. 依序前往「管理」>「記錄管理」
  3. 選取「Use a Cisco-managed Amazon S3 bucket」(使用 Cisco 管理的 Amazon S3 bucket) 選項。
  4. 提供下列設定詳細資料:
    • 選取區域:選取離您較近的區域,以降低延遲。
    • 選取保留期限:選取時間範圍。保留時間為 7 天、14 天或 30 天。超過所選時間範圍後,系統就會刪除資料,且無法復原。如果擷取週期規律,請使用較短的時間範圍。您日後可以變更保留期限。
  5. 按一下 [儲存]
  6. 按一下「繼續」,確認所選項目並接收啟用通知。
    在隨即顯示的「Activation complete」(啟用完成) 視窗中,會顯示「Access key」(存取金鑰) 和「Secret key」(私密金鑰) 值。
  7. 複製「存取金鑰」和「私密金鑰」值。如果遺失這些金鑰,就必須重新產生。
  8. 依序點選「我知道了」>「繼續」
  9. 摘要頁面會顯示設定和 bucket 名稱。您可以視貴機構的需求開啟或關閉記錄功能。不過,系統會根據保留期限清除記錄,不會因為新增資料而有所不同。

選用:為自行管理的 AWS S3 值區設定使用者存取金鑰

  1. 登入 AWS 管理主控台
  2. 請按照這份使用者指南建立使用者建立 IAM 使用者
  3. 選取建立的「使用者」
  4. 選取「安全憑證」分頁標籤。
  5. 在「Access Keys」部分中,按一下「Create Access Key」
  6. 選取「第三方服務」做為「用途」
  7. 點選「下一步」
  8. 選用:新增說明標記。
  9. 按一下「建立存取金鑰」
  10. 按一下「下載 CSV 檔案」,儲存「存取金鑰」和「私密存取金鑰」,以供日後使用。
  11. 按一下 [完成]
  12. 選取 [權限] 分頁標籤。
  13. 在「Permissions policies」(權限政策) 區段中,按一下「Add permissions」(新增權限)
  14. 選取「新增權限」
  15. 選取「直接附加政策」
  16. 搜尋並選取 AmazonS3FullAccess 政策。
  17. 點選「下一步」
  18. 按一下「Add permissions」。

選用:設定自行管理的 Amazon S3 值區

  1. 登入 AWS 管理主控台

  2. 前往 S3

  3. 點選「建立值區」

  4. 請提供下列設定詳細資料:

    • 「Bucket name」(儲存桶名稱):提供 Amazon S3 儲存桶的名稱。
    • 「Region」(區域):選取區域。
  5. 點選「建立」

選用:為自行管理的 AWS S3 值區設定值區政策

  1. 按一下新建立的 bucket 開啟。
  2. 依序選取「內容」> 權限
  3. 在「Permissions」(權限) 清單中,按一下「Add bucket policy」(新增 bucket 政策)
  4. 輸入預先設定的值區政策,如下所示:

    {
      "Version": "2008-10-17",
      "Statement": [
        {
          "Sid": "",
          "Effect": "Allow",
          "Principal": {
            "AWS": "arn:aws:iam::568526795995:user/logs"
          },
          "Action": "s3:PutObject",
          "Resource": "arn:aws:s3:::BUCKET_NAME/*"
        },
        {
          "Sid": "",
          "Effect": "Deny",
          "Principal": {
            "AWS": "arn:aws:iam::568526795995:user/logs"
          },
          "Action": "s3:GetObject",
          "Resource": "arn:aws:s3:::BUCKET_NAME/*"},
        {
          "Sid": "",
          "Effect": "Allow",
          "Principal": {
            "AWS": "arn:aws:iam::568526795995:user/logs"
          },
          "Action": "s3:GetBucketLocation",
          "Resource": "arn:aws:s3:::BUCKET_NAME"
        },
        {
          "Sid": "",
          "Effect": "Allow",
          "Principal": {
            "AWS": "arn:aws:iam::568526795995:user/logs"
          },
          "Action": "s3:ListBucket",
          "Resource": "arn:aws:s3:::BUCKET_NAME"
        }
      ]
    }
    
    • BUCKET_NAME 替換成您提供的 Amazon S3 bucket 名稱。
  5. 按一下 [儲存]

選用:自行管理的 Amazon S3 儲存貯體必須通過驗證

  1. Cisco Umbrella 資訊主頁中,依序選取「Admin」>「Log management」>「Amazon S3」
  2. 在「Bucket name」欄位中,指定確切的 Amazon S3 值區名稱,然後按一下「Verify」
  3. 在驗證過程中,系統會將名為 README_FROM_UMBRELLA.txt 的檔案從 Cisco Umbrella 上傳至 Amazon S3 值區。上傳讀我檔案後,可能需要重新整理瀏覽器才能看到。
  4. 下載 README_FROM_UMBRELLA.txt 檔案,然後使用文字編輯器開啟。
  5. 複製並儲存檔案中的專屬 Cisco Umbrella 權杖。
  6. 前往 Cisco Umbrella 資訊主頁。
  7. 在「權杖號碼」欄位中指定權杖,然後按一下「儲存」
  8. 如果驗證成功,資訊主頁會顯示確認訊息,指出儲存空間已通過驗證。如果收到錯誤訊息,指出無法驗證儲存空間,請重新檢查儲存空間名稱的語法,並檢查設定。

在 Google SecOps 中設定動態饋給,擷取 Cisco Umbrella 稽核記錄

  1. 依序前往「SIEM 設定」>「動態饋給」
  2. 按一下「新增」
  3. 在「動態饋給名稱」欄位中輸入動態饋給名稱,例如「Cisco Umbrella Audit Logs」
  4. 選取「Amazon S3 V2」做為「來源類型」
  5. 選取「Cisco Umbrella Audit」做為「記錄類型」
  6. 點選「下一步」
  7. 指定下列輸入參數的值:

    • S3 URI:值區 URI。
      • s3:/BUCKET_NAME
        • 請將 BUCKET_NAME 替換為實際值區名稱。
    • 來源刪除選項:根據偏好設定選取刪除選項。
  8. 點選「下一步」

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

UDM 對應表

記錄欄位 UDM 對應 邏輯
action_type security_result.action_details 直接從原始記錄欄位 action_type 對應。
action_type security_result.action 如果 action_type 包含 allow (不區分大小寫),請設為 ALLOW。如果 action_type 包含 block (不區分大小寫),請設為 BLOCK
additionalValue additional.fields{}.key 設為 Additional Value
additionalValue additional.fields{}.value.string_value 直接從原始記錄欄位 additionalValue 對應。
blocked_categories additional.fields{}.key 設為 blocked_categories
blocked_categories additional.fields{}.value.string_value 直接從原始記錄欄位 blocked_categories 對應。
類別 security_result.category_details 直接從原始記錄欄位 categories 對應,並以半形逗號分隔。
第 1 欄 metadata.product_log_id 如果記錄是稽核記錄,則會從原始記錄欄位 column1 對應。
第 1 欄 date_time 如果記錄是 DNS 記錄,則會從原始記錄欄位 column1 對應。
column10 類別 直接從原始記錄欄位 column10 對應。
column11 most_granular_identity_type 直接從原始記錄欄位 column11 對應。
column12 identity_types 直接從原始記錄欄位 column12 對應。
column13 blocked_categories 直接從原始記錄欄位 column13 對應。
第 2 欄 date_time 如果記錄是稽核記錄,則會從原始記錄欄位 column2 對應。
第 2 欄 most_granular_identity 如果記錄是 DNS 記錄,則會從原始記錄欄位 column2 對應。
第 3 欄 principal.user.email_addresses 如果記錄是稽核記錄,則會從原始記錄欄位 column3 對應。
第 3 欄 身分 如果記錄是 DNS 記錄,則會從原始記錄欄位 column3 對應。
column4 principal.user.userid 如果記錄是稽核記錄,則會從原始記錄欄位 column4 對應。
column4 internal_ip 如果記錄是 DNS 記錄,則會從原始記錄欄位 column4 對應。
column5 security_result.rule_name 如果記錄是稽核記錄,則會從原始記錄欄位 column5 對應。
column5 external_ip 如果記錄是 DNS 記錄,則會從原始記錄欄位 column5 對應。
column6 action_type 直接從原始記錄欄位 column6 對應。
column7 principal.ip 如果記錄是稽核記錄,則會從原始記錄欄位 column7 對應。
column7 dns_query_type 如果記錄是 DNS 記錄,則會從原始記錄欄位 column7 對應。
column8 additionalValue 如果記錄是稽核記錄,則會從原始記錄欄位 column8 對應。
column8 dns_response_code 如果記錄是 DNS 記錄,則會從原始記錄欄位 column8 對應。
column9 網域 直接從原始記錄欄位 column9 對應。
date_time metadata.event_timestamp.seconds date_time 欄位擷取的 Epoch 時間戳記。
dns_query_type network.dns.questions.type 使用規則運算式從 dns_query_type 欄位擷取,並轉換為整數。
dns_response_code network.dns.response_code dns_response_code 欄位對應,並根據 DNS 回應代碼值轉換為整數。
網域 network.dns.questions.name 直接從「domain」欄位對應。
external_ip principal.ip 如果 external_ip 欄位不為空,且與 internal_ip 不同,則會從該欄位對應。
身分 principal.location.name 如果對應的 identity_types 欄位為 Networks,則會從 identities 欄位對應。
身分 principal.hostname 如果對應的 identity_types 欄位為 AD ComputersRoaming ComputersAnyconnect Roaming Client,則會從 identities 欄位對應。
身分 principal.asset.hostname 如果對應的 identity_types 欄位為 AD ComputersRoaming ComputersAnyconnect Roaming Client,則會從 identities 欄位對應。
身分 principal.location.city 如果對應的 identity_types 欄位為 Sites,則會從 identities 欄位對應。
identity_types additional.fields{}.key 設為 identities_types
identity_types additional.fields{}.value.string_value 直接從原始記錄欄位 identity_types 對應。
internal_ip principal.ip 如果 internal_ip 欄位不為空白,系統會從該欄位對應。
most_granular_identity additional.fields{}.key 設為 most_granular_identity
most_granular_identity additional.fields{}.value.string_value 直接從原始記錄欄位 most_granular_identity 對應。
most_granular_identity_type additional.fields{}.key 設為 most_granular_identity_type
most_granular_identity_type additional.fields{}.value.string_value 直接從原始記錄欄位 most_granular_identity_type 對應。
metadata.event_type 如果記錄是 DNS 記錄,請設為 NETWORK_DNS
metadata.event_type 如果記錄是稽核記錄,且 principal_ip 不為空白,則設為 STATUS_UPDATE
metadata.event_type 如果記錄是稽核記錄,且 principal_ip 為空白,請設為 GENERIC_EVENT
metadata.vendor_name 設為 CISCO UMBERLLA
metadata.product_name 設為 CISCO UMBERLLA
metadata.log_type 設為 AUDITD
network.application_protocol 如果記錄是 DNS 記錄,請設為 DNS

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