收集 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) 的管理員權限,用於設定系統警示

取得 Bindplane 代理程式的 Google SecOps 憑證

如要向 Google SecOps 驗證 Bindplane 代理程式,請選擇下列其中一種方法:

  • 新部署作業:使用 Chronicle API (選項 1)。
  • 舊版部署作業:在 2027 年 7 月 20 日停用 Ingestion API 前,請繼續使用擷取驗證檔案 (選項 2)。
  1. 登入 Google Cloud 控制台,然後選取連結至 Google SecOps 執行個體的 Google Cloud 專案。
  2. 依序前往 「IAM & Admin」(IAM 與管理) >「Service Accounts」(服務帳戶)。
  3. 按一下「建立服務帳戶」。
  4. 提供下列設定詳細資料:
    • 「Service account name」(服務帳戶名稱):輸入帳戶名稱 (例如 bindplane-ingest)。
    • 「服務帳戶說明」:輸入說明 (例如 Bindplane agent log ingestion)。
  5. 點按「Create and continue」(建立並繼續)。
  6. 在「將專案存取權授予這個服務帳戶」部分,按一下「選取角色」,然後選取「Chronicle 編輯者」。
  7. 依序點選「繼續」和「完成」。
  8. 按一下您建立的服務帳戶,然後前往「金鑰」分頁。
  9. 依序點選「新增金鑰」>「建立新的金鑰」。
  10. 選取「JSON」,然後點選「建立」。金鑰檔案會下載到電腦。
  11. 將金鑰檔案儲存為 Bindplane 收集器目錄中的 ingestion-auth.json (Linux 上的 /opt/observiq-otel-collector/ingestion-auth.json 或 Windows 上的 C:\Program Files\observIQ OpenTelemetry Collector\ingestion-auth.json),或更新 config.yaml 中的 creds_file_path,使其與儲存路徑相符。
  12. 依序前往「IAM & Admin」(IAM 與管理) >「Settings」(設定),然後複製「Project number」(專案編號)。匯出工具設定時會用到。

方法 2:下載擷取驗證檔案 (舊版)

  1. 登入 Google SecOps 控制台。
  2. 依序前往「SIEM 設定」>「收集代理程式」。
  3. 下載擷取驗證檔案。
  4. 將檔案安全地儲存在要安裝 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
    

    服務應顯示為「active (running)」。

其他安裝資源

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

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

找出設定檔

  • Linux:

    sudo nano /opt/observiq-otel-collector/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:
        protocol: https
        # Region of your instance, for example us, europe, asia-southeast1
        location: <LOCATION>
        # Project number of the Google Cloud project linked to the instance
        project: '<PROJECT_NUMBER>'
        compression: gzip
        creds_file_path: '<CREDS_FILE_PATH>'
        customer_id: '<CUSTOMER_ID>'
        endpoint: chronicle.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. 替換下列預留位置:

    • 接收器設定:

      • 接收器已設為監聽所有介面 (0.0.0.0:514) 的 UDP 通訊埠 514
      • 如需使用其他通訊埠 (例如非根 Linux 安裝作業的 1514),請修改 listen_address 值
      • 如果您偏好 TCP syslog,請在接收器部分和管道中,將 udplog 替換為 tcplog
    • 匯出工具設定:

      • <CREDS_FILE_PATH>:服務帳戶 JSON 金鑰檔案的完整路徑 (選項 1):

        • Linux:/opt/observiq-otel-collector/ingestion-auth.json
        • Windows:C:\Program Files\observIQ OpenTelemetry Collector\ingestion-auth.json
      • <CUSTOMER_ID>:上一步中的客戶 ID

      • location:將 <LOCATION> 替換為 Google SecOps 執行個體的區域 (例如 us、europe 或 asia-southeast1)。匯出工具會在這個值前面加上 chronicle.googleapis.com。如需完整清單,請參閱「區域性端點」。

      • project:依序前往「IAM 與管理」>「設定」,然後將 <PROJECT_NUMBER> 替換為專案編號。

      • endpoint:請將此值設為 chronicle.googleapis.com。

      • log_type:設為 ARBOR_SIGHTLINE (必須完全相符)

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

範例設定

receivers:
  udplog:
    listen_address: "0.0.0.0:514"

exporters:
  chronicle/arbor_sightline:
    protocol: https
    # Region of your instance, for example us, europe, asia-southeast1
    location: <LOCATION>
    # Project number of the Google Cloud project linked to the instance
    project: '<PROJECT_NUMBER>'
    compression: gzip
    creds_file_path: '/opt/observiq-otel-collector/ingestion-auth.json'
    customer_id: 'a1b2c3d4-e5f6-g7h8-i9j0-k1l2m3n4o5p6'
    endpoint: chronicle.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

舊版擷取 API 匯出工具

  • 如果您使用選項 2 的擷取驗證檔案,請將 exporters 區塊替換為下列內容。將 creds_file_path 設為擷取驗證檔案的路徑,如果您的執行個體位於美國境外,請將 malachiteingestion-pa.googleapis.com 替換為區域端點 (例如 europe-malachiteingestion-pa.googleapis.com)。

    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
    

儲存設定檔

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

  • Linux:依序按下 Ctrl+O、Enter 和 Ctrl+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. 依序前往「管理」>「通知」>「群組」。
  3. 按一下「新增通知群組」。
  4. 請提供下列設定詳細資料:
    • 目的地:輸入 Bindplane 代理程式主機的 IP 位址 (例如 192.168.1.100)。
    • 「Port」(通訊埠):輸入 514 (或 Bindplane 代理程式中設定的通訊埠,例如 1514)。
    • 設施:選取 Syslog 設施 (例如 local0 或 user)。
    • 嚴重性:選取 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_full、flow_collector_down、license_expiring)。

  5. 提交設定變更:

    config write
    

設定警告通知規則

快訊通知規則會決定哪些快訊會觸發傳送至 Google SecOps 的 syslog 通知。

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

測試 syslog 連線能力

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

  1. 在 Netscout Arbor Sightline CLI 中,測試 syslog 連線:

    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 控制台中,前往「Search」(搜尋),確認 Netscout Arbor Sightline 記錄檔是否顯示擷取標籤 ARBOR_SIGHTLINE。

轉送至 Google SecOps 的事件類型

  • Netscout Arbor Sightline 會透過 syslog 轉送下列事件類別:

    • 阻斷攻擊 (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
reason additional.fields
sample_rate additional.fields
proto additional.fields
flows 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,時區為歐洲/倫敦
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」(來自 impact)、「Importance」(來自 importance)、「Signature」(來自 signature)、「Leader」(來自 leader)、「parent_managed_object」(來自 parent_managed_object)、「Alert 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」且 message 符合「start」而非「stop」,則設為「ACTIVE」;如果 desc 符合「Host Detection alert」且 message 符合「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
msg1 event.idm.read_only_udm.additional.fields 從變更記錄對應
prin_user event.idm.read_only_udm.principal.user.userid 從變更記錄對應
config_version event.idm.read_only_udm.additional.fields 從變更記錄對應
old_bgp_attributes event.idm.read_only_udm.additional.fields 從變更記錄對應
new_bgp_attributes event.idm.read_only_udm.additional.fields 從變更記錄對應
reason event.idm.read_only_udm.additional.fields 從變更記錄對應
sample_rate event.idm.read_only_udm.additional.fields 從變更記錄對應
proto event.idm.read_only_udm.network.ip_protocol 從變更記錄對應
proto event.idm.read_only_udm.additional.fields 從變更記錄對應
bytes event.idm.read_only_udm.network.sent_bytes 從變更記錄對應
packets event.idm.read_only_udm.network.sent_packets 從變更記錄對應
flows event.idm.read_only_udm.additional.fields 從變更記錄對應
identifier event.idm.read_only_udm.additional.fields 從變更記錄對應
expected_bps event.idm.read_only_udm.additional.fields 從變更記錄對應
actual_bps event.idm.read_only_udm.additional.fields 從變更記錄對應
server event.idm.read_only_udm.additional.fields 從變更記錄對應
status event.idm.read_only_udm.additional.fields 從變更記錄對應
percent event.idm.read_only_udm.additional.fields 從變更記錄對應
rate event.idm.read_only_udm.additional.fields 從變更記錄對應
rateunit event.idm.read_only_udm.additional.fields 從變更記錄對應
flags event.idm.read_only_udm.additional.fields 從變更記錄對應
router event.idm.read_only_udm.additional.fields 從變更記錄對應
interface event.idm.read_only_udm.additional.fields 從變更記錄對應
ip_ver event.idm.read_only_udm.additional.fields 從變更記錄對應
protocol_id event.idm.read_only_udm.additional.fields 從變更記錄對應
router_name event.idm.read_only_udm.additional.fields 從變更記錄對應
interface_id event.idm.read_only_udm.additional.fields 從變更記錄對應
interface_name event.idm.read_only_udm.additional.fields 從變更記錄對應
network_protocol event.idm.read_only_udm.network.ip_protocol 從變更記錄對應
prin_url event.idm.read_only_udm.principal.url 從變更記錄對應
src_port event.idm.read_only_udm.principal.port 從變更記錄對應
dst_port event.idm.read_only_udm.target.port 從變更記錄對應
dst_ip event.idm.read_only_udm.target.ip 從變更記錄對應
severity event.idm.read_only_udm.security_result.severity 從變更記錄對應
Active/Cleared security_result.threat_status 從變更記錄對應
alert_id","parent_managed_object security_result.detection_fields 從變更記錄對應

變更記錄

查看這個剖析器的變更記錄

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