收集 Netscout Arbor Sightline 記錄

支援的國家/地區:

本文說明如何使用 Bindplane 代理程式,將 Netscout Arbor Sightline 記錄檔擷取至 Google Security Operations。

Netscout Arbor Sightline (舊稱 Peakflow SP) 是 DDoS 偵測和網路可視性平台,提供強大的功能,從全網路容量規劃到識別及管理 DDoS 和其他網路威脅的緩解措施,都能派上用場。Sightline 會收集及分析流量資料、BGP 路由資訊和 SNMP 資料,藉此偵測異常狀況、產生快訊,並協調應變措施。

事前準備

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

  • Google SecOps 執行個體
  • Windows Server 2016 以上版本,或搭載 systemd 的 Linux 主機
  • Bindplane 代理程式與 Netscout Arbor Sightline 設備之間的網路連線
  • 如果透過 Proxy 執行,請確保防火牆通訊埠已根據 Bindplane 代理程式需求開啟
  • Netscout Arbor Sightline 網頁介面的管理員存取權
  • Netscout Arbor Sightline 指令列介面 (CLI) 的管理存取權,用於設定系統快訊

取得 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
    
  3. 等待安裝完成。

  4. 執行下列指令來驗證安裝:

    sc query observiq-otel-collector
    

    服務應顯示為RUNNING

Linux 安裝

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

    sudo sh -c "$(curl -fsSlL https://github.com/observiq/bindplane-agent/releases/latest/download/install_unix.sh)" install_unix.sh
    
  3. 等待安裝完成。

  4. 執行下列指令來驗證安裝:

    sudo systemctl status observiq-otel-collector
    

    服務應顯示為有效 (執行中)

其他安裝資源

如需其他安裝選項和疑難排解資訊,請參閱 Bindplane 代理程式安裝指南

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

找出設定檔

  • Linux:

    sudo nano /etc/bindplane-agent/config.yaml
    
  • Windows:

    notepad "C:\Program Files\observIQ OpenTelemetry Collector\config.yaml"
    

編輯設定檔

  1. config.yaml 的所有內容替換為下列設定:

    receivers:
        udplog:
            listen_address: "0.0.0.0:514"
    
    exporters:
        chronicle/arbor_sightline:
            compression: gzip
            creds_file_path: '<CREDS_FILE_PATH>'
            customer_id: '<CUSTOMER_ID>'
            endpoint: malachiteingestion-pa.googleapis.com
            log_type: ARBOR_SIGHTLINE
            raw_log_field: body
            ingestion_labels:
                env: production
    
    service:
        pipelines:
            logs/arbor_to_chronicle:
                receivers:
                    - udplog
                exporters:
                    - chronicle/arbor_sightline
    
  2. 替換下列預留位置:

    • 接收器設定:

      • 接收器已設定為監聽所有介面上的 UDP 通訊埠 514 (0.0.0.0:514)
      • 如需使用其他通訊埠 (例如非根 Linux 安裝作業的 1514),請修改 listen_address
      • 如要使用 TCP 系統記錄檔,請在接收器區段和管道中,將 udplog 替換為 tcplog
    • 匯出工具設定:

      • <CREDS_FILE_PATH>:擷取驗證檔案的完整路徑:

        • Linux/etc/bindplane-agent/ingestion-auth.json
        • WindowsC:\Program Files\observIQ OpenTelemetry Collector\ingestion-auth.json
      • <CUSTOMER_ID>:上一步中的客戶 ID

      • endpoint:區域端點網址 (預設顯示美國區域):

        • 美國malachiteingestion-pa.googleapis.com
        • 歐洲europe-malachiteingestion-pa.googleapis.com
        • 亞洲asia-southeast1-malachiteingestion-pa.googleapis.com
        • 如需完整清單,請參閱「區域端點
      • log_type:設為 ARBOR_SIGHTLINE (必須完全比對)

      • ingestion_labels:YAML 格式的選用標籤 (視需要修改環境)

範例設定

  • receivers:
      udplog:
        listen_address: "0.0.0.0:514"
    
    exporters:
      chronicle/arbor_sightline:
        compression: gzip
        creds_file_path: '/etc/bindplane-agent/ingestion-auth.json'
        customer_id: 'a1b2c3d4-e5f6-g7h8-i9j0-k1l2m3n4o5p6'
        endpoint: malachiteingestion-pa.googleapis.com
        log_type: ARBOR_SIGHTLINE
        raw_log_field: body
        ingestion_labels:
          env: production
          source: sightline
    
    service:
      pipelines:
        logs/arbor_to_chronicle:
          receivers:
            - udplog
          exporters:
            - chronicle/arbor_sightline
    

儲存設定檔

編輯完成後,請儲存檔案:

  • Linux:依序按下 Ctrl+OEnterCtrl+X
  • Windows:依序點選「檔案」>「儲存」

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

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

    1. 執行下列指令:

      sudo systemctl restart observiq-otel-collector
      
    2. 確認服務正在執行:

      sudo systemctl status observiq-otel-collector
      
    3. 檢查記錄中是否有錯誤:

      sudo journalctl -u observiq-otel-collector -f
      
  • 如要在 Windows 中重新啟動 Bindplane 代理程式,請按照下列步驟操作:

    1. 您可以選擇下列其中一個選項:

      • 以管理員身分開啟命令提示字元或 PowerShell:

        net stop observiq-otel-collector && net start observiq-otel-collector
        
      • 服務控制台:

        1. 按下 Win+R 鍵,輸入 services.msc,然後按下 Enter 鍵。
        2. 找出 observIQ OpenTelemetry Collector
        3. 按一下滑鼠右鍵,然後選取「重新啟動」
    2. 確認服務正在執行:

      sc query observiq-otel-collector
      
    3. 檢查記錄中是否有錯誤:

      type "C:\Program Files\observIQ OpenTelemetry Collector\log\collector.log"
      

設定 Netscout Arbor Sightline Syslog 轉送

如要將記錄傳送至 Google SecOps,請設定 Netscout Arbor Sightline,將系統記錄事件轉送至 Bindplane 代理程式。包括建立通知群組、設定全域通知設定,以及設定快訊通知規則。

建立通知群組

  1. 以管理員身分登入 Netscout Arbor Sightline 網頁介面。
  2. 依序前往「Administration」(管理) >「Notification」(通知) >「Groups」(群組)。
  3. 按一下「新增通知群組」
  4. 請提供下列設定詳細資料:
    • 目的地:輸入 Bindplane 代理程式主機的 IP 位址 (例如 192.168.1.100)。
    • 通訊埠:輸入 514 (或在 Bindplane 代理程式中設定的通訊埠,例如 1514)。
    • 設施:選取系統記錄設施 (例如 local0user)。
    • 嚴重性:選取 info。資訊嚴重程度會收集資訊事件層級以上的所有事件訊息。
  5. 按一下 [儲存]
  6. 按一下「Configuration Commit」,套用設定變更。

設定全域通知設定

Netscout Arbor Sightline 的全域通知會提供與特定快訊規則無關的系統通知。

  1. 在 Netscout Arbor Sightline 網頁介面中,依序前往「Administration」>「Notification」>「Global Settings」
  2. 在「Default Notification Group」(預設通知群組) 欄位中,選取您為 Google SecOps 建立的通知群組。
  3. 按一下 [儲存]
  4. 按一下「Configuration Commit」,套用設定變更。

啟用系統警報通知

如要使用系統快訊,必須透過指令列介面 (CLI) 進行額外設定。

  1. 以管理員身分登入 Netscout Arbor Sightline 指令列介面。
  2. 列出目前的系統快訊設定:

    services sp alerts system_errors show
    
  3. 如要列出可設定的可用系統快訊欄位名稱,請執行下列指令:

    services sp alerts system_errors ?
    
  4. 啟用系統快訊通知。針對要啟用的每種快訊類型,執行下列指令:

    services sp alerts system_errors <alert_name> notifications enable
    

    <alert_name> 替換為特定系統快訊欄位名稱 (例如 disk_fullflow_collector_downlicense_expiring)。

  5. 修訂設定變更:

    config write
    

設定快訊通知規則

快訊通知規則會決定哪些快訊會觸發 Syslog 通知,並傳送至 Google SecOps。

  1. 在 Netscout Arbor Sightline 網頁介面中,依序前往「Administration」>「Notification」>「Rules」
  2. 選擇下列其中一個選項:
    • 按一下現有規則即可編輯。
    • 按一下「新增規則」,建立新的通知規則。
  3. 設定下列值:
    • 名稱:輸入規則的描述性名稱 (例如 Chronicle-DDoS-Alerts)。
    • 資源:輸入 CIDR 位址,或從 Sightline 資源清單中選取受管理物件。如要將規則套用至所有資源,請將這個欄位留空或選取「全部」
    • 重要性:選取快訊的最低重要程度 (例如 LowMediumHighCritical)。重要程度達到或超過這個等級的快訊會觸發通知。
    • 通知群組:選取您為 Google SecOps 建立的通知群組。
  4. 視需要重複上述步驟,為不同資源或重要程度設定其他規則。
  5. 按一下 [儲存]
  6. 按一下「Configuration Commit」,套用設定變更。

測試系統記錄連線

設定通知群組和規則後,請確認系統記錄訊息是否已傳送至 Bindplane 代理程式。

  1. 在 Netscout Arbor Sightline CLI 中,測試系統記錄連線:

    services sp notification test syslog group <notification_group_name>
    

    <notification_group_name> 替換為您建立的通知群組名稱。

  2. 指令應會傳回:

    Server returned: Success
    
  3. 查看 Bindplane 代理程式記錄,確認是否收到測試訊息:

    Linux:

    sudo journalctl -u observiq-otel-collector -f
    

    Windows:

    type "C:\Program Files\observIQ OpenTelemetry Collector\log\collector.log"
    
  4. 在 Google SecOps 控制台中,前往「搜尋」,確認 Netscout Arbor Sightline 記錄檔是否顯示擷取標籤 ARBOR_SIGHTLINE

轉送至 Google SecOps 的事件類型

  • Netscout Arbor Sightline 會透過系統記錄轉送下列事件類別:

    • 阻斷攻擊 (DoS) 事件:DDoS 攻擊偵測快訊,包括巨流量攻擊、通訊協定攻擊和應用程式層攻擊
    • 驗證事件:使用者登入成功和失敗、驗證嘗試
    • 漏洞利用事件:偵測到的漏洞利用嘗試和可疑流量模式
    • 可疑活動事件:異常流量行為和潛在安全威脅
    • 系統事件:設備健康狀態、服務狀態、設定變更和作業警告
    • 緩解事件:DDoS 攻擊的緩解開始、停止和狀態更新

UDM 對應表

記錄欄位 UDM 對應 邏輯
msg1 additional.fields 如果每個欄位不為空白,則會使用特定鍵 (例如 msg1 的「message_description」、config_version 的「config_version」等) 與各欄位的標籤合併。
config_version additional.fields
prin_user additional.fields
old_bgp_attributes additional.fields
new_bgp_attributes additional.fields
原因 additional.fields
sample_rate additional.fields
proto additional.fields
流程 additional.fields
ID additional.fields
expected_bps additional.fields
actual_bps additional.fields
伺服器 additional.fields
狀態 additional.fields
百分比 additional.fields
費率 additional.fields
rateunit additional.fields
flags additional.fields
路由器 additional.fields
介面 additional.fields
ip_ver additional.fields
protocol_id additional.fields
router_name additional.fields
interface_id additional.fields
interface_name additional.fields
優先順序 additional.fields
log_level additional.fields
水池 additional.fields
thread_id additional.fields
逾時 additional.fields
嘗試次數 additional.fields
vulns extensions.vulns.vulnerabilities 如果漏洞不為空白,則會合併
遞減 metadata.description 如果 desc 和 desc2 皆不為空白,則設為「%{desc}: %{desc2}」,否則設為 desc;如果 message_desc 不為空白,則會覆寫此值
desc2 metadata.description
message_desc metadata.description
event_time metadata.event_timestamp 使用日期篩選器轉換,格式為 MMM dd HH:mm:ss 或 MMM d HH:mm:ss,時區為 Europe/London
desc2 metadata.event_type 如果 desc2 符合「(DNS Amplification
訊息 metadata.event_type
src_ip metadata.event_type
has_target_ip metadata.event_type
has_network_protocol metadata.event_type
host_name metadata.event_type
訊息 metadata.product_event_type 如果訊息符合「Host Detection」,請設為「Host Detection」;如果訊息符合「 started」,請設為「TMS Mitigation started」;如果訊息符合「 stopped」,請設為「TMS Mitigation stopped」
metadata.product_name metadata.product_name 設為「ARBOR_SIGHTLINE」
metadata.vendor_name metadata.vendor_name 設為「NETSCOUT」
方向 network.direction 如果方向為「incoming」,請設為「INBOUND」
proto network.ip_protocol 如果 proto 為「6」,則設為「TCP」;否則,如果符合「(?i)(TCP
network_protocol network.ip_protocol
位元組 network.sent_bytes 直接複製值,並轉換為 uinteger
封包 network.sent_packets 直接複製值,並轉換為整數
持續時間 network.session_duration.seconds 如果值不是空白或「0」,則直接複製,並轉換為整數
host_name principal.hostname 直接複製值
src_ip principal.ip 從 src_ip 和 nameserver_ip 合併
nameserver_ip principal.ip
命名空間 principal.namespace 直接複製值
filename principal.process.file.full_path 直接複製值
alert_id principal.process.pid 直接複製值
prin_url principal.url 直接複製值
prin_user principal.user.userid 直接複製值
影響 security_result.detection_fields 與以下鍵合併:「影響」來自 impact、「重要性」來自 importance、「簽章」來自 signature、「領導者」來自 leader、「parent_managed_object」來自 parent_managed_object、「快訊 ID」來自 alert_id
重要性 security_result.detection_fields
簽名 security_result.detection_fields
領導者 security_result.detection_fields
parent_managed_object security_result.detection_fields
alert_id security_result.detection_fields
嚴重性 security_result.severity 如果嚴重程度為 ["10","9"],請設為「INFORMATIONAL」;如果為 ["8","7"],請設為「LOW」;如果為「6」,請設為「MEDIUM」;如果為 ["5","4"],請設為「HIGH」;如果為 ["3","2","1"],請設為「CRITICAL」
desc2 security_result.threat_status 如果 desc 符合「Host Detection alert」,且訊息為「start」而非「stop」,則設為「ACTIVE」;如果 desc 符合「Host Detection alert」,且訊息為「stop」,則設為「CLEARED」
訊息 security_result.threat_status
intem_host target.group.product_object_id 直接複製值
dst_ip target.ip 直接複製值
dst_port target.port 直接複製值,並轉換為整數
file_path target.process.file.full_path 直接複製值
stop_time vulns.vulnerabilities.scan_end_time 使用日期篩選器轉換,格式為 yyyy-MM-dd HH:mm:ss
start_time vulns.vulnerabilities.scan_start_time 使用日期篩選器轉換,格式為 yyyy-MM-dd HH:mm:ss 或 yyyy-MM-dd

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