Cisco ルーターのログを収集する

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

このドキュメントでは、Bindplane エージェントを使用して Cisco ルーターのログを Google Security Operations に取り込む方法について説明します。パーサーは、まず一連の Grok パターンを使用してさまざまな syslog メッセージ形式から共通フィールドを抽出し、さまざまなタイムスタンプと Key-Value データのバリエーションを処理します。次に、抽出されたイベントタイプ(facility、mnemonics、message_type)に基づいて特定のロジックを適用し、追加のフィールドでデータを拡充して UDM モデルにマッピングします。

始める前に

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

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_ROUTER
                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 ルーターで Syslog を構成する

  1. Cisco ルーターにログインします。
  2. enable コマンドを入力して、権限を昇格させます。

    Switch> enable
    Switch#
    
  3. conf t コマンドを入力して、構成モードに切り替えます。

    Switch# conf t
    Switch(config)#
    
  4. 次のコマンドを入力します。

    logging host <bindplane-server-ip> transport <tcp/udp> port <port-number>
    logging source-interface <interface>
    
    • <bindplane-server-ip> は Bindplane エージェントの IP アドレスに、<port-number> は構成済みのポートに置き換えます。
    • <tcp/udp> は、Bindplane エージェントで構成されたリスニング プロトコル(udp など)に置き換えます。
    • <interface> は、Cisco インターフェース ID に置き換えます(例: Ethernet1/1)。
  5. 次のコマンドを入力して、優先度レベルを設定します。

    logging trap Informational 
    logging console Informational 
    logging severity Informational
    
  6. syslog ファシリティを設定します。

    logging facility local6
    
  7. 次のコマンドを入力して、タイムスタンプを有効にします。

    service timestamps log datetime
    
  8. 保存して終了します。

  9. 次のコマンドを入力して、再起動後も設定が維持されるように構成します。

    copy running-config startup-config
    

UDM マッピング テーブル

ログフィールド UDM マッピング ロジック
client_ip target.ip、target.asset.ip 値は、grok パーサーによって抽出された client_ip フィールドから取得されます。
client_mac target.mac 値は、grok パーサーによって抽出された client_mac フィールドから取得されます。
dst_ip target.ip、target.asset.ip 値は、grok パーサーによって抽出された dst_ip フィールドから取得されます。
dst_port target.port 値は、grok パーサーによって抽出された dst_port フィールドから取得され、整数に変換されます。
duration - このフィールドは UDM にマッピングされません。
host_ip target.ip、target.asset.ip 値は、grok パーサーによって抽出された host_ip フィールドから取得されます。
local_proxy intermediary.ip 値は、grok パーサーによって抽出された local_proxy フィールドから取得されます。
message_data metadata.description 値は、grok パーサーによって抽出された message_data フィールドから取得されます。
protocol network.ip_protocol 値は、grok パーサーによって抽出された protocol フィールドから取得され、大文字に変換されます。
received_bytes network.received_bytes 値は、grok パーサーによって抽出された received_bytes フィールドから取得され、符号なし整数に変換されます。
referral_url network.http.referral_url 値は、grok パーサーによって抽出された referral_url フィールドから取得されます。
remote_proxy intermediary.ip 値は、grok パーサーによって抽出された remote_proxy フィールドから取得されます。
send_bytes network.sent_bytes 値は、grok パーサーによって抽出された send_bytes フィールドから取得され、符号なし整数に変換されます。
sent_bytes network.sent_bytes 値は、grok パーサーによって抽出された sent_bytes フィールドから取得され、符号なし整数に変換されます。
server_host target.hostname、target.asset.hostname 値は、grok パーサーによって抽出された server_host フィールドから取得されます。
server_ip target.ip、target.asset.ip 値は、grok パーサーによって抽出された server_ip フィールドから取得されます。
src_ip principal.ip、principal.asset.ip 値は、grok パーサーによって抽出された src_ip フィールドから取得されます。
src_port principal.port 値は、grok パーサーによって抽出された src_port フィールドから取得され、整数に変換されます。
user_ip target.ip、target.asset.ip 値は、grok パーサーによって抽出された user_ip フィールドから取得されます。
user_mail principal.user.userid、principal.user.email_addresses 値は、grok パーサーによって抽出された user_mail フィールドから取得されます。
username target.user.userid 値は、grok パーサーによって抽出された username フィールドから取得されます。
- metadata.event_timestamp 値は create_time フィールドから取得されます。
- metadata.event_type デフォルトでは GENERIC_EVENT に設定され、解析されたログメッセージに基づいて特定のイベントタイプに変更されます。
- metadata.log_type 値は CISCO_ROUTER に設定されています。
- metadata.product_event_type 値は、facilityprioritymnemonics の各フィールドを組み合わせて生成された message_type フィールドから取得されます。
- metadata.product_name 値は Router に設定されています。
- metadata.vendor_name 値は Cisco に設定されています。
- network.application_protocol protocol フィールドが http または https の場合、値はそれぞれ HTTP または HTTPS に設定されます。
- extensions.auth.type デフォルトでは値は AUTHTYPE_UNSPECIFIED に設定され、解析されたログメッセージに基づいて特定の認証タイプに変更されます。
- security_result.action ログインが成功した場合は ALLOW に、ログインが失敗した場合は BLOCK に設定されます。
- security_result.category IP オプションを含むイベントの場合は NETWORK_SUSPICIOUS、ログイン失敗の場合は AUTH_VIOLATION に設定されます。
- security_result.description この値は、さまざまなイベントの特定のメッセージに設定されます。
- security_result.severity ログインが成功した場合は LOW、ログインが失敗した場合は MEDIUM、その他のイベントの場合は INFORMATIONAL に設定されます。
- security_result.severity_details この値は、ログイン失敗の fail_reason フィールドから取得され、IP オプションを含むイベントの Informational message に設定されます。
- security_result.summary この値は、さまざまなイベントの特定のメッセージに設定されます。

さらにサポートが必要な場合 コミュニティ メンバーや Google SecOps のプロフェッショナルから回答を得ることができます。