收集 Cisco DNA Center Platform 記錄

支援的國家/地區:

本文說明如何使用兩種不同方法,將 Cisco DNA Center Platform 記錄檔擷取至 Google Security Operations。請選擇最符合環境和需求的選項。剖析器會將 Cisco DNA Center SYSLOG+JSON 記錄轉換為統合資料模型 (UDM)。這項服務會從原始記錄訊息和 JSON 酬載中擷取欄位,將這些欄位對應至相應的 UDM 屬性,並根據事件特徵 (例如嚴重程度和相關實體) 加上標籤和安全環境,進一步豐富資料。

事前準備

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

  • Google SecOps 執行個體
  • Cisco DNA Center Platform 管理主控台的特殊存取權
  • 選擇偏好的整合方式:
    • 選項 2:Cisco DNA Center 與 Google SecOps Webhook 端點之間的網路連線
    • 選項 1:Windows 2016 以上版本,或具有 systemd 的 Linux 主機,用於安裝 Bindplane 代理程式

選項 1:使用 Bindplane 代理程式整合 Syslog

這個選項會使用 Cisco DNA Center 的系統記錄轉送功能將系統記錄轉送至 Bindplane,然後 Bindplane 會將結構化記錄轉送至 Google SecOps。

取得 Google SecOps 擷取驗證檔案

  1. 登入 Google SecOps 控制台。
  2. 依序前往「SIEM 設定」>「收集代理程式」
  3. 下載擷取驗證檔案。將檔案安全地儲存在要安裝 Bindplane 的系統上。

取得 Google SecOps 客戶 ID

  1. 登入 Google SecOps 控制台。
  2. 依序前往「SIEM 設定」>「設定檔」
  3. 複製並儲存「機構詳細資料」專區中的客戶 ID

安裝 Bindplane 代理程式

請按照下列操作說明,在 Windows 或 Linux 作業系統上安裝 Bindplane 代理程式。

Windows 安裝

  1. 以管理員身分開啟「命令提示字元」或「PowerShell」
  2. 執行下列指令:

    msiexec /i "https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi" /quiet
    

Linux 安裝

  1. 開啟具有根層級或 sudo 權限的終端機。
  2. 執行下列指令:

    sudo sh -c "$(curl -fsSlL https://github.com/observiq/bindplane-agent/releases/latest/download/install_unix.sh)" install_unix.sh
    

其他安裝資源

設定 Bindplane 代理程式,擷取系統記錄檔並傳送至 Google SecOps

  1. 存取設定檔:

    1. 找出 config.yaml 檔案。通常位於 Linux 的 /etc/bindplane-agent/ 目錄,或 Windows 的安裝目錄。
    2. 使用文字編輯器 (例如 nanovi 或記事本) 開啟檔案。
  2. 按照下列方式編輯 config.yaml 檔案:

    receivers:
      udplog:
        # Replace the port and IP address as required
        listen_address: "0.0.0.0:514"
    
    exporters:
      chronicle/chronicle_w_labels:
        compression: gzip
        # Adjust the path to the credentials file you downloaded in Step 1
        creds_file_path: '/path/to/ingestion-authentication-file.json'
        # Replace with your actual customer ID from Step 2
        customer_id: YOUR_CUSTOMER_ID
        endpoint: malachiteingestion-pa.googleapis.com
        log_type: 'CISCO_DNAC'
        raw_log_field: body
    
    service:
      pipelines:
        logs/source0__chronicle_w_labels-0:
          receivers:
            - udplog
          exporters:
            - chronicle/chronicle_w_labels
    
    • 視基礎架構需求替換通訊埠和 IP 位址。
    • <YOUR_CUSTOMER_ID> 替換為實際的客戶 ID。
    • /path/to/ingestion-authentication-file.json 更新為「取得 Google SecOps 擷取驗證檔案」部分中驗證檔案的儲存路徑。
    • 這項設定會使用 Bindplane 代理程式 Syslog (UDP) 接收器,從 DNA Center 收集結構化 Syslog 訊息。

重新啟動 Bindplane 代理程式,以套用變更

  • 如要在 Linux 中重新啟動 Bindplane 代理程式,請執行下列指令:

    sudo systemctl restart bindplane-agent
    
  • 如要在 Windows 中重新啟動 Bindplane 代理程式,可以使用「服務」控制台,或輸入下列指令:

    net stop BindPlaneAgent && net start BindPlaneAgent
    

在 Cisco DNA Center Platform 上設定 Syslog 轉送

  1. 登入 Cisco DNA Center Platform
  2. 依序前往「System」(系統) >「Settings」(設定) >「External Services」(外部服務) >「Destinations」(目的地) >「Syslog」(系統記錄)
  3. 按一下「+ 新增」,建立新的系統記錄目的地。
  4. 提供下列設定詳細資料:
    • 名稱:輸入描述性名稱 (例如 Google SecOps BindPlane)。
    • 主機:輸入 BindPlane 代理程式 IP 位址。
    • 通訊埠:輸入 514 (或在 BindPlane 中設定的通訊埠)。
    • 通訊協定:根據 BindPlane 設定選取「UDP」或「TCP」
    • 設施:選取適當的設施 (例如「Local0」)。
    • 嚴重性:選取「資訊」,擷取所有事件層級。
  5. 按一下 [儲存]

選項 2:即時 Webhook 整合

這個選項會使用 Cisco DNA Center 的原生 Webhook 功能,將結構化 JSON 事件直接即時傳送至 Google SecOps。

總覽

Cisco DNA Center 原生支援 Webhook 通知,可即時傳送事件。這個選項會提供含有豐富事件背景資訊的結構化 JSON 酬載,並將事件直接傳送至 Google SecOps,不需要 Bindplane 做為中介服務。

設定 Google SecOps Webhook 動態消息

  1. 在 Google SecOps 中,依序前往「SIEM 設定」>「動態消息」
  2. 按一下「+ 新增動態消息」
  3. 在「動態饋給名稱」欄位中輸入動態饋給名稱 (例如 Cisco DNA Center Webhook)。
  4. 選取「Webhook」做為「來源類型」
  5. 選取「Cisco DNA Center Platform」做為「記錄類型」
  6. 點選「下一步」
  7. 指定下列輸入參數的值:
    • 分割分隔符:選用 \n
    • 資產命名空間資產命名空間
    • 擷取標籤:要套用至這個動態饋給事件的標籤。
  8. 點選「下一步」
  9. 檢查動態饋給設定,然後按一下「提交」
  10. 按一下「產生密鑰」,產生驗證這個動態饋給的密鑰。
  11. 複製儲存密鑰,因為您無法再次查看這組密鑰。
  12. 前往「詳細資料」分頁。
  13. 從「端點資訊」欄位複製動態消息端點網址。
  14. 按一下 [完成]

為 Webhook 資訊提供建立 API 金鑰

  1. 前往 Google Cloud 控制台的「憑證」頁面。
  2. 按一下「建立」憑證,然後選取「API 金鑰」
  3. 將 API 金鑰存取權限制為 Google SecOps API

在 Cisco DNA Center 中設定 Webhook 目的地

  1. 登入 Cisco DNA Center Platform
  2. 依序前往「系統」>「設定」>「外部服務」>「目的地」>「Webhook」
  3. 按一下「+ 新增」,建立新的 Webhook 目的地。
  4. 提供下列設定詳細資料:
    • 名稱:輸入描述性名稱 (例如 Google SecOps Webhook)。
    • 說明:輸入 Webhook 的說明。
    • 網址:輸入上一個步驟中的 Google SecOps Webhook 端點網址。
    • 方法:選取「POST」
    • 信任憑證:如果使用自行簽署的憑證,請選取「否」
    • 標頭:新增必要標頭:
      • Content-Typeapplication/json
      • X-goog-api-key:您的 Google Cloud API 金鑰
      • X-Webhook-Access-Key:Google SecOps 動態消息密鑰
  5. 按一下「測試連線」,驗證連線。
  6. 按一下 [儲存]

訂閱 Webhook 通知的事件

  1. 在 Cisco DNA Center 中,依序前往「Platform」>「Developer Toolkit」>「Event Notifications」
  2. 按一下「+ 訂閱」
  3. 提供下列設定詳細資料:
    • 訂閱項目名稱:輸入描述性名稱 (例如 Google SecOps Events)。
    • 連接器類型:選取「REST 端點」
    • 目的地:選取在上一個步驟中建立的 Webhook 目的地。
  4. 選取要監控的事件類型:
    • 網路事件:裝置無法連線、介面關閉、設定變更。
    • 安全性事件:違反安全性政策、驗證失敗。
    • 系統事件:平台事件、軟體更新、維護。
    • 保證事件:效能降低、連線問題。
  5. 視需要設定事件篩選器:
    • 嚴重性:選取最低嚴重性等級 (例如 P1P2)。
    • 網域:依特定網域 (例如「連線」、「效能」) 篩選。
  6. 按一下「訂閱」

UDM 對應表

記錄欄位 UDM 對應 邏輯
category security_result.severity_details 直接從原始記錄中的 category 欄位對應。
ciscoDnaEventLink target.url 直接從原始記錄中的 ciscoDnaEventLink 欄位對應。
date_time metadata.event_timestamp 使用 grok 模式從原始記錄訊息中擷取,並轉換為時間戳記格式。
details.Assurance_Issue_Category security_result.about.resource.attribute.labels[].value 直接從原始記錄中的 details.Assurance_Issue_Category 欄位對應。這個標籤的鍵為「Assurance_Issue_Category」。
details.Assurance_Issue_Details security_result.summary 直接從原始記錄中的 details.Assurance_Issue_Details 欄位對應。
details.Assurance_Issue_Name security_result.about.resource.attribute.labels[].value 直接從原始記錄中的 details.Assurance_Issue_Name 欄位對應。這個標籤的鍵是「Assurance_Issue_Name」。
details.Assurance_Issue_Priority security_result.about.resource.attribute.labels[].value 直接從原始記錄中的 details.Assurance_Issue_Priority 欄位對應。這個標籤的鍵是「Assurance_Issue_Priority」。
details.Assurance_Issue_Status security_result.about.resource.attribute.labels[].value 直接從原始記錄中的 details.Assurance_Issue_Status 欄位對應。這個標籤的鍵為「Assurance_Issue_Status」。
details.Device target.ip 或 target.hostname 對應原始記錄檔中的 details.Device 欄位。如果值是 IP 位址,則會對應至 target.ip,否則會對應至 target.hostname
dnacIp target.ip 如果原始記錄中的 dnacIp 欄位是 IP 位址,系統會直接對應。
網域 additional.fields[].value.string_value 直接從原始記錄中的 domain 欄位對應。這個欄位的鍵為「domain」。
eventId metadata.product_event_type 直接從原始記錄中的 eventId 欄位對應。
instanceId target.resource.product_object_id 直接從原始記錄中的 instanceId 欄位對應。
名稱 target.resource.attribute.labels[].value 直接從原始記錄中的 name 欄位對應。這個標籤的鍵是「name」。
命名空間 target.namespace 直接從原始記錄中的 namespace 欄位對應。
network.deviceId target.asset.asset_id 直接從原始記錄中的 network.deviceId 欄位對應,並加上「deviceId: 」前置字串。
附註 additional.fields[].value.string_value 直接從原始記錄中的 note 欄位對應。這個欄位的鍵是「note」。
metadata.event_type 根據 has_principalhas_targetuserId 欄位是否存在及值而定。可能的值:NETWORK_CONNECTION、USER_UNCATEGORIZED、STATUS_UPDATE、GENERIC_EVENT。
is_alert 如果嚴重程度為 0 或 1,則為 True,否則為 False。
is_significant 如果嚴重程度為 0 或 1,則為 True,否則為 False。
嚴重性 用於判斷 security_result.severityis_alertis_significant 的值。
來源 target.resource.attribute.labels[].value 直接從原始記錄中的 source 欄位對應。這個標籤的鍵是「source」。
src_ip principal.ip 使用 grok 模式從原始記錄訊息中擷取。
subDomain additional.fields[].value.string_value 直接從原始記錄中的 subDomain 欄位對應。這個欄位的索引鍵是「subDomain」。
tntId target.resource.attribute.labels[].value 直接從原始記錄中的 tntId 欄位對應。這個標籤的鍵是「tntId」。
類型 target.resource.attribute.labels[].value 直接從原始記錄中的 type 欄位對應。這個標籤的索引鍵是「type」。
userId target.user.userid 直接從原始記錄中的 userId 欄位對應。
版本 metadata.product_version 直接從原始記錄中的 version 欄位對應。

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