Big Switch BigCloudFabric のログを収集する

パーサーのバージョン: 2.0

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

このドキュメントでは、Bindplane エージェントを使用して Big Switch BigCloudFabric のログを Google Security Operations に取り込む方法について説明します。

Arista Networks Big Cloud Fabric(BCF)(現在は Converged Cloud Fabric(CCF)と呼ばれています)は、集中型コントローラを介してデータセンター ファブリックの自動管理を実現するソフトウェア定義ネットワーキング(SDN)ソリューションです。BCF/CCF コントローラは、リーフ スパイン ネットワーク アーキテクチャを管理し、エンタープライズ データセンター ネットワークの一元的な構成、モニタリング、トラブルシューティング機能を提供します。このプロダクトは、元々 Big Switch Networks によって開発され、その後 Arista Networks に買収されました。

始める前に

次の前提条件を満たしていることを確認してください。

  • Google SecOps インスタンス
  • Windows Server 2016 以降、または systemd を使用する Linux ホスト
  • Bindplane エージェントと BCF/CCF コントローラ間のネットワーク接続
  • プロキシの背後で実行している場合は、Bindplane エージェントの要件に従ってファイアウォール ポートが開いていることを確認する
  • GUI または CLI を介した BCF/CCF コントローラへの管理者権限
  • BCF/CCF コントローラ バージョン 2.5 以降(syslog サポート用)

Bindplane エージェントの Google SecOps 認証情報を取得する

Bindplane エージェントを Google SecOps に対して認証するには、次のいずれかの方法を選択します。

  • 新しいデプロイ: Chronicle API を使用します(オプション 1)。
  • レガシー デプロイ: 2027 年 7 月 20 日に Ingestion API が廃止されるまで、取り込み認証ファイル(オプション 2)を引き続き使用します。
  1. Google Cloud コンソールにログインし、Google SecOps インスタンスにリンクされている Google Cloud プロジェクトを選択します。
  2. [IAM と管理]> [サービス アカウント] に移動します。
  3. [サービス アカウントを作成] をクリックします。
  4. 次の構成情報を指定します。
    • サービス アカウント名: アカウントの名前を入力します(例: bindplane-ingest)。
    • サービス アカウントの説明: 説明を入力します(例: Bindplane agent log ingestion)。
  5. [作成して続行] をクリックします。
  6. [このサービス アカウントにプロジェクトへのアクセスを許可する] セクションで、[ロールを選択] をクリックして [Chronicle 編集者] を選択します。
  7. [**続行**] をクリックして [**完了**] をクリックします。
  8. 作成したサービス アカウントをクリックし、[キー] タブに移動します。
  9. 「鍵を追加」>「新しい鍵を作成」の順にクリックします。
  10. [JSON] を選択して [作成] をクリックします。キーファイルがパソコンにダウンロードされます。
  11. キーファイルを Bindplane コレクタ ディレクトリ(Linux の場合は /opt/observiq-otel-collector/ingestion-auth.json、Windows の場合は C:\Program Files\observIQ OpenTelemetry Collector\ingestion-auth.json)に ingestion-auth.json として保存するか、保存先のパスに合わせて config.yaml の creds_file_path を更新します。
  12. [IAM と管理] > [設定] に移動し、[プロジェクト番号] をコピーします。エクスポートの構成に必要になります。

オプション 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. root 権限または 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 エージェントのインストール ガイドをご覧ください。

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

構成ファイルを探す

  • 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/bigswitch_bcf:
        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: 'YOUR_CUSTOMER_ID'
        endpoint: chronicle.googleapis.com
        log_type: BIGSWITCH_BCF
        raw_log_field: body
        ingestion_labels:
          env: production
          source: bcf_controller
    
    service:
      pipelines:
        logs/bcf_to_chronicle:
          receivers:
            - udplog
          exporters:
            - chronicle/bigswitch_bcf
    
  2. 各プレースホルダを次のように置き換えます。

    • レシーバーの構成:

      • レシーバーは、BCF/CCF コントローラからの syslog メッセージを UDP ポート 514 でリッスンするように構成されています。
      • 別のポートを使用するには、514 を目的のポート番号に変更します(権限のない Linux インストールの場合、1514 など)。
    • エクスポーターの構成:

      • creds_file_path: サービス アカウント JSON キーファイルのフルパス(オプション 1):

        • Linux: /opt/observiq-otel-collector/ingestion-auth.json
        • Windows: C:\Program Files\observIQ OpenTelemetry Collector\ingestion-auth.json
      • YOUR_CUSTOMER_ID: Customer ID に置き換えます。詳細については、Google SecOps のお客様 ID を取得するをご覧ください。

      • location: <LOCATION> を Google SecOps インスタンスのリージョン(us、europe、asia-southeast1 など)に置き換えます。エクスポーターは、chronicle.googleapis.com の前にこの値を付けます。完全なリストについては、リージョン エンドポイントをご覧ください。

      • project: <PROJECT_NUMBER> を [IAM と管理] > [設定] のプロジェクト番号に置き換えます。

      • endpoint: chronicle.googleapis.com に設定したままにします。

      • log_type: BIGSWITCH_BCF に設定します(変更しないでください)。

      • ingestion_labels: ログを分類するためのオプションのラベル(必要に応じてカスタマイズします)。

レガシー Ingestion API エクスポーター

  • オプション 2 の取り込み認証ファイルを使用する場合は、exporters ブロックを次のように置き換えます。creds_file_path を取り込み認証ファイルのパスに設定します。インスタンスが米国以外にある場合は、malachiteingestion-pa.googleapis.com を リージョン エンドポイント(europe-malachiteingestion-pa.googleapis.com など)に置き換えます。

    exporters:
      chronicle/bigswitch_bcf:
        compression: gzip
        creds_file_path: '/opt/observiq-otel-collector/ingestion-auth.json'
        customer_id: 'YOUR_CUSTOMER_ID'
        endpoint: malachiteingestion-pa.googleapis.com
        log_type: BIGSWITCH_BCF
        raw_log_field: body
        ingestion_labels:
          env: production
          source: bcf_controller
    

構成ファイルを保存する

編集後、ファイルを保存します。

  • 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"
      

Big Switch BigCloudFabric syslog 転送を構成する

GUI または CLI のいずれかの方法を使用して、syslog メッセージを Bindplane エージェントに転送するように BCF/CCF コントローラを構成します。

方法 1: GUI を使用して syslog を構成する

  1. 管理者認証情報を使用して、BCF/CCF コントローラのウェブ インターフェースにログインします。
  2. [メンテナンス] > [ロギング] に移動します。
  3. [リモート ロギング] タブをクリックします。
  4. [追加] をクリックして、新しいリモート syslog サーバー構成を作成します。
  5. 次の構成情報を指定します。
    • サーバー: Bindplane エージェント ホストの IP アドレスを入力します(例: 192.168.1.100)。
    • ポート: 514(または Bindplane エージェントの config.yaml で構成されたポート)を入力します。
    • [Protocol]: [**UDP**] を選択します。
  6. [保存] または [適用] をクリックして、構成を保存します。
  7. 構成が [リモート ロギング] リストに表示されていることを確認します。

方法 2: CLI を使用して syslog を構成する

  1. 管理者認証情報を使用して、SSH 経由で BCF/CCF コントローラに接続します。
  2. 有効モードに移行します。

    controller-1> enable
    
  3. 構成モードに移行します。

    controller-1# configure
    
  4. リモート syslog サーバーを構成します。

    controller-1(config)# logging remote 192.168.1.100
    

    192.168.1.100 は、Bindplane エージェント ホストの IP アドレスに置き換えます。

  5. 構成モードを終了します。

    controller-1(config)# exit
    
  6. syslog の構成を確認します。

    controller-1# show logging
    

    出力には、構成されたリモート syslog サーバーの IP アドレスが表示されます。

ログ転送を確認する

  1. 構成を変更するか、システム ステータスを表示して、BCF/CCF コントローラでテストログ イベントを生成します。
  2. Bindplane エージェント ログを調べて、syslog メッセージが受信されていることを確認します。

    • Linux:

      sudo journalctl -u observiq-otel-collector -f
      
    • Windows:

      type "C:\Program Files\observIQ OpenTelemetry Collector\log\collector.log"
      
  3. Google SecOps コンソールにログインし、取り込みラベル BIGSWITCH_BCF を使用してログが [検索] インターフェースに表示されていることを確認します。

UDM マッピング テーブル

ログフィールド UDM マッピング ロジック
説明 metadata.description 先頭と末尾のスペースを削除して直接コピーした値
target_host、time、product_event_type、description、application metadata.event_type target_host と time が空でない場合は STATUS_HEARTBEAT に設定します。product_event_type == PORT_DOWN の場合は SERVICE_STOP に設定します。description が「.Running job.」と一致する場合、または product_event_type == PORT_UP または application == snmpd-execstart の場合は SERVICE_START に設定します。description が「.status down.」と一致する場合は STATUS_SHUTDOWN に設定します。product_event_type == Removing Endpoint の場合は SERVICE_DELETION に設定します。product_event_type == Adding Endpoint の場合は SERVICE_CREATION に設定します。product_event_type == Moving Endpoint の場合、または description が「.change instances.」と一致する場合は SERVICE_MODIFICATION に設定します。target_host が空でない場合は NETWORK_CONNECTION に設定します。それ以外の場合は GENERIC_EVENT に設定します。
product_event_type metadata.product_event_type 直接コピーした値
application_protocol network.application_protocol application_protocol == "lldpa" の場合は「UNKNOWN_APPLICATION_PROTOCOL」に設定します。
ホスト principal.hostname 直接コピーした値
ip principal.ip 直接コピーした値
process_id principal.process.pid 直接コピーした値
USER principal.user.userid 直接コピーした値
log_level security_result INFO の場合は重大度が INFORMATIONAL、WARN の場合は MEDIUM、ERROR の場合は HIGH に設定されたオブジェクト。INFO または WARN の場合はアクションが ALLOW、ERROR の場合は BLOCK に設定されます。
アプリケーション target.application 直接コピーした値
target_host target.hostname 直接コピーした値
ポート target.port 整数に変換
COMMAND target.process.command_line 直接コピーした値
product_specific_id target.process.product_specific_process_id 「Bigswitch:」の接頭辞が付いています。
kv_1、kv2、kv3 target.user.group_identifiers 空でない場合は kv_1、空でない場合は kv2、空でない場合は kv3 からマージされます。
metadata.product_name 「Big Cloud Fabric」に設定します。
metadata.vendor_name 「Big Switch」に設定します。

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