Cisco スイッチのログを収集する

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

このドキュメントでは、Bindplane エージェントを使用して Cisco スイッチログを Google Security Operations に取り込む方法について説明します。パーサーは、SYSLOG メッセージからフィールドを抽出し、特定されたパターンとキーワードに基づいて統合データモデル(UDM)にマッピングします。DHCP、SSH、ログイン試行、ネットワーク トラフィック、システム ステータスの更新など、さまざまなイベントを処理し、それらを分類して、関連するセキュリティの詳細でデータを拡充します。

始める前に

  • 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_SWITCH
                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 Agent の IP アドレスに、<port-number> は構成済みのポートに置き換えます。
    • <tcp/udp> は、Bindplane Agent で構成されたリスニング プロトコルに置き換えます。(例: udp)。
    • <interface> は、Cisco インターフェース ID に置き換えます。
  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 マッピング ロジック
アクション security_result.action_details このフィールドの値は、未加工ログの action フィールドから取得されます。
説明 metadata.description このフィールドの値は、未加工ログの description フィールドから取得されます。
説明 security_result.description このフィールドの値は、未加工ログの description フィールドから取得されます。
destination_ip target.asset.ip このフィールドの値は、未加工ログの destination_ip フィールドから取得されます。
destination_ip target.ip このフィールドの値は、未加工ログの destination_ip フィールドから取得されます。
destination_port target.port このフィールドの値は、未加工ログの destination_port フィールドから取得されます。
device principal.asset.hostname このフィールドの値は、未加工ログの device フィールドから取得されます。
device principal.hostname このフィールドの値は、未加工ログの device フィールドから取得されます。
device target.asset.hostname このフィールドの値は、未加工ログの device フィールドから取得されます。
device target.hostname このフィールドの値は、未加工ログの device フィールドから取得されます。
device_ip principal.asset.ip このフィールドの値は、未加工ログの device_ip フィールドから取得されます。
device_ip principal.ip このフィールドの値は、未加工ログの device_ip フィールドから取得されます。
device_ip target.asset.ip このフィールドの値は、未加工ログの device_ip フィールドから取得されます。
device_ip target.ip このフィールドの値は、未加工ログの device_ip フィールドから取得されます。
facility principal.resource.type このフィールドの値は、未加工ログの facility フィールドから取得されます。
header_data metadata.product_log_id このフィールドの値は、未加工ログの header_data フィールドから取得されます。
header_data target.asset.ip このフィールドの値は、未加工ログの header_data フィールドから取得されます。
header_data target.ip このフィールドの値は、未加工ログの header_data フィールドから取得されます。
hostname principal.asset.hostname このフィールドの値は、未加工ログの hostname フィールドから取得されます。
hostname principal.hostname このフィールドの値は、未加工ログの hostname フィールドから取得されます。
ip principal.asset.ip このフィールドの値は、未加工ログの ip フィールドから取得されます。
ip principal.ip このフィールドの値は、未加工ログの ip フィールドから取得されます。
ip_address principal.asset.ip このフィールドの値は、未加工ログの ip_address フィールドから取得されます。
ip_address principal.ip このフィールドの値は、未加工ログの ip_address フィールドから取得されます。
ip_protocol network.ip_protocol このフィールドの値は、未加工ログの ip_protocol フィールドから取得されます。
mac principal.mac このフィールドの値は、未加工ログの mac フィールドから取得されます。
ニーモニック network.dhcp.opcode このフィールドの値は、未加工ログの mnemonic フィールドから取得されます。
ニーモニック metadata.product_event_type このフィールドの値は、未加工ログの mnemonic フィールドから取得されます。
p_ip principal.asset.ip このフィールドの値は、未加工ログの p_ip フィールドから取得されます。
p_ip principal.ip このフィールドの値は、未加工ログの p_ip フィールドから取得されます。
ポート target.port このフィールドの値は、未加工ログの port フィールドから取得されます。
priority
プロトコル network.ip_protocol このフィールドの値は、未加工ログの protocol フィールドから取得されます。
reason
ルール security_result.rule_id このフィールドの値は、未加工ログの rule フィールドから取得されます。
sec_result_action security_result.action このフィールドの値は、未加工ログの sec_result_action フィールドから取得されます。
重要度
ソース principal.asset.ip このフィールドの値は、未加工ログの source フィールドから取得されます。
ソース principal.ip このフィールドの値は、未加工ログの source フィールドから取得されます。
source_ip network.dhcp.ciaddr このフィールドの値は、未加工ログの source_ip フィールドから取得されます。
source_ip principal.asset.ip このフィールドの値は、未加工ログの source_ip フィールドから取得されます。
source_ip principal.ip このフィールドの値は、未加工ログの source_ip フィールドから取得されます。
source_mac network.dhcp.chaddr このフィールドの値は、未加工ログの source_mac フィールドから取得されます。
source_port principal.port このフィールドの値は、未加工ログの source_port フィールドから取得されます。
概要 security_result.summary このフィールドの値は、未加工ログの summary フィールドから取得されます。
時間
タイムゾーン
ユーザー principal.user.userid このフィールドの値は、未加工ログの user フィールドから取得されます。
ユーザー target.user.userid このフィールドの値は、未加工ログの user フィールドから取得されます。
when
extensions.auth.type MACHINE
metadata.log_type CISCO_SWITCH
metadata.vendor_name Cisco
metadata.product_name Cisco スイッチ
network.application_protocol DHCP
network.dhcp.type リクエスト

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