收集 Cisco Stealthwatch 記錄

支援的國家/地區:

本文說明如何使用 Bindplane,將 Cisco Secure Network Analytics (舊稱 Stealthwatch) 記錄收集至 Google Security Operations。剖析器會處理兩種格式的 Cisco Stealthwatch 記錄:一種包含用戶端/伺服器 IP 和封包資訊,另一種則包含裝置 ID 和位元組計數。這項服務會擷取欄位、轉換為適當的資料類型、對應至 UDM,並根據記錄內容和格式設定中繼資料欄位,例如供應商、產品和事件類型。

事前準備

  • 確認您有 Google Security Operations 執行個體。
  • 確認您使用的是 Windows 2016 以上版本,或是搭載 systemd 的 Linux 主機。
  • 如果透過 Proxy 執行,請確認防火牆通訊埠已開啟。
  • 確認您擁有 Cisco Stealthwatch 的特殊權限。

取得 Google SecOps 擷取驗證檔案

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

取得 Google SecOps 客戶 ID

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

安裝 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: '/path/to/ingestion-authentication-file.json'
            # Replace with your actual customer ID from Step 2
            customer_id: <customer_id>
            endpoint: malachiteingestion-pa.googleapis.com
            # Add optional ingestion labels for better organization
            ingestion_labels:
                log_type: CISCO_STEALTHWATCH
                raw_log_field: body
    
    service:
        pipelines:
            logs/source0__chronicle_w_labels-0:
                receivers:
                    - udplog
                exporters:
                    - chronicle/chronicle_w_labels
    
  3. 視基礎架構需求,替換通訊埠和 IP 位址。

  4. <customer_id> 替換為實際的客戶 ID。

  5. /path/to/ingestion-authentication-file.json 更新為「取得 Google SecOps 擷取驗證檔案」部分中驗證檔案的儲存路徑。

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

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

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

    net stop BindPlaneAgent && net start BindPlaneAgent
    

設定 Cisco Secure Network Analytics (前身為 Stealthwatch) Syslog

  1. 登入管理控制台網頁版使用者介面。
  2. 依序前往「設定」>「回覆管理」
  3. 編輯系統記錄檔格式:

    • 名稱:輸入系統記錄格式的名稱。
    • 說明:提供格式說明。
    • 設施:設為 Local 0
    • 嚴重性:設為 Informational
    • 在「Message」(訊息) 欄位中,貼上下列格式:
    Lancope|StealthWatch|time|{time}|target_hostname|{target_hostname}|alarm_severity_id|{alarm_severity_id}|alarm_type_id|{alarm_type_id}|alarm_type_description|{alarm_type_description}|port|{port}|target_ip|{target_ip}|target_mac_address|{target_mac_address}|target_label|{target_label}|alarm_type_name|{alarm_type_name}|source_hostname|{source_hostname}|source_ip|{source_ip}|source_mac_address|{source_mac_address}|source_username|{source_username}|device_ip|{device_ip}|device_name|{device_name}|details|{details}|protocol|{protocol}|alarm_id|{alarm_id}|alarm_category_name|{alarm_category_name}|start_active_time|{start_active_time}| end_active_time|{end_active_time}
    
  4. 按一下 [確定]

  5. 依序前往「回應管理」>「動作」>「新增 Syslog 訊息」

  6. 設定系統記錄檔轉送器:

    • 名稱:輸入 Google SecOps Bindplane 轉送器的名稱。
    • 說明:輸入 Google SecOps Bindplane 轉送器的說明。
    • IP 位址:輸入 Bindplane 代理程式 IP 位址。
    • 「Port」(通訊埠):輸入 Bindplane 代理程式通訊埠號碼,例如 514
    • 格式:選取步驟 3 建立的格式。
  7. 按一下 [確定]

為 Cisco Secure Network Analytics (前身為 Stealthwatch) 設定規則名稱

  1. 依序前往「設定」>「回覆管理」
  2. 依序選取「規則」>「新增」>「SMC 系統警報」
  3. 按一下 [確定]
  4. 在「規則類型」對話方塊中選取規則。
  5. 按一下 [確定]
  6. 在「規則」對話方塊中,執行下列操作:
    • 「Name」(名稱):輸入規則名稱。
    • 這項規則的觸發條件為:在對應的清單中選取「任何」、「嚴重性」和「資訊」。
  7. 按一下 [確定]
  8. 依序選取「動作」>「新增」
  9. 選取先前建立的動作。
  10. 依序按一下「確定」和「確定」
  11. 重複上述步驟,重新命名「規則」部分下方的下列三個選項:
    • 支援的記錄收集機制 - Syslog
    • 偏好的記錄收集機制 - Syslog
    • 事件流程邏輯圖 - SMC 遠端系統記錄伺服器

UDM 對應表

記錄欄位 UDM 對應 邏輯
Alarm_ID additional.fields[?key=='Alarm_ID'].value.string_value 原始記錄中的 Alarm_ID 值會放在 Alarm_ID 鍵下方的巢狀 additional.fields 結構中。
ClientBytes network.sent_bytes 原始記錄中的 ClientBytes 會轉換為無正負號整數並對應。
ClientIP principal.ip 原始記錄中的 ClientIP 會對應至此欄位。
ClientPort principal.port 原始記錄中的 ClientPort 會轉換為整數並對應。
CPayload 未對應 最終 UDM 不會使用這個欄位。
DestIPv4Address target.ip 原始記錄中的 DestIPv4Address 會對應至此欄位。
DestPort target.port 原始記錄中的 DestPort 會轉換為整數並對應。
details security_result.summary 系統會對原始記錄中的 details 值 (已移除雙引號) 進行對應。
FC intermediary.ip 原始記錄中的 FC 會對應至此欄位。
host.country principal.location.country_or_region 原始記錄中的 host.country 會對應至此欄位。
host.hostGroupNames about.group.group_display_name 原始記錄中 host.hostGroupNames 陣列的每個元素都會加上 host: 前置字元,並對應為個別的 about 物件。
host.ipAddress principal.ip 原始記錄中的 host.ipAddress 會對應至此欄位。
hostBytes network.sent_bytes 原始記錄中的 hostBytes 會轉換為無正負號整數並對應。
InPackets additional.fields[?key=='InPackets'].value.string_value 原始記錄中的 InPackets 值會放在 InPackets 鍵下方的巢狀 additional.fields 結構中。
inputSNMPIface additional.fields[?key=='inputSNMPIface'].value.string_value 原始記錄中的 inputSNMPIface 值會放在 inputSNMPIface 鍵下方的巢狀 additional.fields 結構中。
LastTime 未對應 在某些情況下,系統會剖析這個欄位以取得事件時間戳記,但不會直接對應至 UDM。
MessageSourceAddress principal.ip 原始記錄中的 MessageSourceAddress 會對應至此欄位。
method network.http.method 原始記錄中的 method 會對應至此欄位。
outputSNMPIface additional.fields[?key=='outputSNMPIface'].value.string_value 原始記錄中的 outputSNMPIface 值會放在 outputSNMPIface 鍵下方的巢狀 additional.fields 結構中。
PAAppID 未對應 最終 UDM 不會使用這個欄位。
peer.country target.location.country_or_region 原始記錄中的 peer.country 會對應至此欄位。
peer.hostGroupNames about.group.group_display_name 原始記錄中 peer.hostGroupNames 陣列的每個元素都會加上 peer: 前置字元,並對應為個別的 about 物件。
peer.ipAddress target.ip 原始記錄中的 peer.ipAddress 會對應至此欄位。
peerBytes network.received_bytes 原始記錄中的 peerBytes 會轉換為無正負號整數並對應。
peerPackets 未對應 最終 UDM 不會使用這個欄位。
Protocol 未對應 這個欄位會經過剖析,以判斷 network.ip_protocol,但不會直接對應。
ProtocolIdentifier 未對應 這個欄位用於衍生 network.ip_protocol,但不會直接對應。
reportName metadata.product_event_type 原始記錄中的 reportName 會對應至此欄位。
ServerBytes network.received_bytes 原始記錄中的 ServerBytes 會轉換為無正負號整數並對應。
ServerIP target.ip 原始記錄中的 ServerIP 會對應至此欄位。
ServerPort target.port 原始記錄中的 ServerPort 會轉換為整數並對應。
Service 未對應 最終 UDM 不會使用這個欄位。
sid target.user.windows_sid 原始記錄中的 sid 會對應至此欄位。
SourceModuleName target.resource.name 原始記錄中的 SourceModuleName 會對應至此欄位。
SourceModuleType observer.application 原始記錄中的 SourceModuleType 會對應至此欄位。
SourcePort principal.port 原始記錄中的 SourcePort 會轉換為整數並對應。
sourceIPv4Address principal.ip 原始記錄中的 sourceIPv4Address 會對應至此欄位。
SPayload 未對應 最終 UDM 不會使用這個欄位。
src_ip principal.ip 原始記錄中的 src_ip 會對應至此欄位。
StartTime 未對應 在某些情況下,系統會剖析這個欄位以取得事件時間戳記,但不會直接對應至 UDM。
time 未對應 在某些情況下,系統會剖析這個欄位以取得事件時間戳記,但不會直接對應至 UDM。
timestamp 未對應 系統會剖析這個欄位,取得事件時間戳記,但不會直接對應至 UDM。
UserName principal.user.user_display_name 原始記錄中的 UserName 會對應至此欄位。
Version metadata.product_version 原始記錄中的 Version 會轉換為字串並對應。
不適用 metadata.event_timestamp 視記錄格式而定,事件時間戳記會衍生自各種欄位 (LastTimetimetimestampStartTime),如果沒有其他時間戳記,則會衍生自 create_time 欄位。
不適用 metadata.log_type 一律設為 CISCO_STEALTHWATCH
不適用 metadata.vendor_name 一律設為 Cisco
不適用 metadata.event_type 由剖析器邏輯根據記錄內容決定。可以是 NETWORK_CONNECTIONUSER_STATSUSER_UNCATEGORIZEDFILE_OPENFILE_DELETIONFILE_UNCATEGORIZED
不適用 network.ip_protocol 由剖析器邏輯根據 ProtocolProtocolIdentifier 欄位決定。可以是 TCPUDPICMP
action security_result.action_details 系統會對應原始記錄中的 action 值。
action security_result.action 衍生自「action」欄位。如果 actionSUCCESS,這個欄位會設為 ALLOW;否則會設為 BLOCK
category security_result.category_details 系統會對應原始記錄中的 category 值。
description security_result.description 如果原始記錄中同時存在 descriptionfile_type,系統會將兩者串連並對應。
desc metadata.description 系統會對原始記錄中的 desc 值 (已移除雙引號) 進行對應。
failuer_reason security_result.summary 如果原始記錄中同時存在 failuer_reasonfile_type,系統會將兩者串連並對應。
file_path target.file.full_path 原始記錄中的 file_path 會對應至此欄位。
file_type target.file.mime_type 原始記錄中的 file_type 會對應至此欄位。
hostname principal.hostname 原始記錄中的 hostname 會對應至此欄位。
ip principal.ip 原始記錄中的 ip 會對應至此欄位。
ipf intermediary.ip 原始記錄中的 ipf 會對應至此欄位。
ipt target.ip 原始記錄中的 ipt 會對應至此欄位。
process_id target.process.pid 原始記錄中的 process_id 會對應至此欄位。
protocol network.application_protocol 原始記錄中的 protocol 會對應至此欄位。
security_res.severity security_result.severity 如果 severityMinor,這個欄位會設為 INFORMATIONAL;如果 severityMajor,則會設為 ERROR
session_id network.session_id 原始記錄中的 session_id 會對應至此欄位。
severity 未對應 這個欄位用於衍生 security_result.severity,但不會直接對應。
Source_HG principal.location.country_or_region 原始記錄中的 Source_HG 會對應至此欄位。
Source_HostSnapshot principal.url 原始記錄中的 Source_HostSnapshot 會對應至此欄位。
Target_HostSnapshot target.url 原始記錄中的 Target_HostSnapshot 會對應至此欄位。
user_name principal.user.userid 原始記錄中的 user_name 會對應至此欄位。

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