Cisco Stealthwatch のログを収集する

以下でサポートされています。

このドキュメントでは、Bindplane を使用して Cisco Secure Network Analytics(以前の Stealthwatch)ログを Google Security Operations に収集する方法について説明します。パーサーは、クライアント/サーバーの IP とパケット情報を含む形式と、デバイス ID とバイト数を含む形式の 2 つの形式の Cisco Stealthwatch ログを処理します。フィールドを抽出し、適切なデータ型に変換して UDM にマッピングし、ログの内容と形式に基づいてベンダー、プロダクト、イベントタイプなどのメタデータ フィールドを設定します。

始める前に

  • Google Security Operations インスタンスがあることを確認します。
  • Windows 2016 以降、または systemd を使用する Linux ホストを使用していることを確認します。
  • プロキシの背後で実行している場合は、ファイアウォール ポートが開いていることを確認します。
  • Cisco Stealthwatch への特権アクセス権があることを確認します。

Google SecOps の取り込み認証ファイルを取得する

  1. Google SecOps コンソールにログインします。
  2. [SIEM 設定] > [コレクション エージェント] に移動します。
  3. Ingestion Authentication File をダウンロードします。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. root 権限または sudo 権限でターミナルを開きます。
  2. 次のコマンドを実行します。

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

その他のインストール リソース

Syslog を取り込んで Google SecOps に送信するように Bindplane エージェントを構成する

  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 エージェントを再起動するには、Services コンソールを使用するか、次のコマンドを入力します。

    net stop BindPlaneAgent && net start BindPlaneAgent
    

Cisco Secure Network Analytics(旧称 Stealthwatch)の Syslog を構成する

  1. 管理コンソールのウェブ UI にログインします。
  2. [Configuration] > [Response Management] に移動します。
  3. Syslog 形式の編集:

    • 名前: syslog 形式の名前を入力します。
    • 説明: 形式の説明を入力します。
    • Facility: Local 0 に設定
    • 重大度: Informational に設定します。
    • [メッセージ] フィールドに次の形式を貼り付けます。
    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. [OK] をクリックします。

  5. [Response Management] > [Actions] > [Add Syslog Message] に移動します。

  6. Syslog Forwarder を構成します。

    • 名前: Google SecOps Bindplane フォワーダーの名前を入力します。
    • 説明: Google SecOps Bindplane フォワーダーの説明を入力します。
    • IP アドレス: Bindplane エージェントの IP アドレスを入力します。
    • ポート: Bindplane エージェントのポート番号(例: 514)を入力します。
    • 形式: 手順 3 で作成した形式を選択します。
  7. [OK] をクリックします。

Cisco Secure Network Analytics(以前の Stealthwatch)のルール名を構成する

  1. [Configuration] > [Response Management] に移動します。
  2. [ルール> 追加> SMC システム アラート] を選択します。
  3. [OK] をクリックします。
  4. [ルールの種類] ダイアログで、ルールを選択します。
  5. [OK] をクリックします。
  6. [ルール] ダイアログで、次の操作を行います。
    • 名前: ルールの名前を入力します。
    • このルールがトリガーされる条件: 各リストで [Any]、[Severity]、[Informational] を選択します。
  7. [OK] をクリックします。
  8. [アクション> 追加] を選択します。
  9. 以前に作成したアクションを選択します。
  10. [OK]、[OK] の順にクリックします。
  11. 前の手順を繰り返して、[ルール] セクションの次の 3 つのオプションの名前を変更します。
    • サポートされているログ収集メカニズム - Syslog
    • 推奨されるログ収集メカニズム - Syslog
    • イベント フローの論理図 - SMC リモート Syslog サーバー

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 Protocol フィールドまたは ProtocolIdentifier フィールドに基づいてパーサー ロジックによって決定されます。TCPUDP、または ICMP のいずれかです。
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 のプロフェッショナルから回答を得ることができます。