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

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

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

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

Brocade スイッチ(ファイバー チャネル SAN スイッチ)は、ファブリック イベント、ゾーンの変更、ログイン/ログアウト アクティビティ、システム イベントの syslog メッセージを生成します。パーサーはフィールドを正規化し、統合データモデル(UDM)にマッピングします。

始める前に

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

  • Google SecOps インスタンス
  • Windows Server 2016 以降、または systemd を使用する Linux ホスト
  • Bindplane エージェントと Brocade スイッチ間のネットワーク接続
  • プロキシの背後で実行している場合は、Bindplane エージェントの要件に従ってファイアウォール ポートが開いていることを確認します。
  • SSH または Telnet を使用した Brocade スイッチへの管理者アクセス

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

  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 /etc/bindplane-agent/config.yaml
    
  • Windows:

    notepad "C:\Program Files\observIQ OpenTelemetry Collector\config.yaml"
    

構成ファイルを編集します。

  • config.yaml の内容全体を次の構成に置き換えます。

    receivers:
        udplog:
            listen_address: "0.0.0.0:514"
    
    exporters:
        chronicle/brocade_switch:
            compression: gzip
            creds_file_path: '/etc/bindplane-agent/ingestion-auth.json'
            customer_id: '<customer_id>'
            endpoint: malachiteingestion-pa.googleapis.com
            log_type: BROCADE_SWITCH
            raw_log_field: body
    
    service:
        pipelines:
            logs/brocade_switch_to_chronicle:
                receivers:
                    - udplog
                exporters:
                    - chronicle/brocade_switch
    

構成パラメータ

各プレースホルダを次のように置き換えます。

  • レシーバーの構成:

    • listen_address: リッスンする IP アドレスとポート:
      • 0.0.0.0: すべてのインターフェースでリッスンします(推奨)。
      • ポート 514 は標準の syslog ポートです(Linux で root が必要です。root 以外のユーザーは 1514 を使用します)。
  • エクスポータの構成:

    • creds_file_path: 取り込み認証ファイルのフルパス:
      • Linux: /etc/bindplane-agent/ingestion-auth.json
      • Windows: C:\Program Files\observIQ OpenTelemetry Collector\ingestion-auth.json
    • customer_id: Google SecOps コンソールからコピーしたお客様 ID
    • endpoint: リージョン エンドポイント URL:
      • 米国: malachiteingestion-pa.googleapis.com
      • ヨーロッパ: europe-malachiteingestion-pa.googleapis.com
      • アジア: asia-southeast1-malachiteingestion-pa.googleapis.com
      • 完全なリストについては、リージョン エンドポイントをご覧ください。

構成ファイルを保存する

  • 編集後、ファイルを保存します。
    • Linux: Ctrl+O、Enter、Ctrl+X の順に押します。
    • Windows: [ファイル> 保存] をクリックします。

Bindplane エージェントを再起動して変更を適用する

  • Linux で Bindplane エージェントを再起動するには、次のコマンドを実行します。

    sudo systemctl restart observiq-otel-collector
    
    1. サービスが実行されていることを確認します。

      ```bash
      sudo systemctl status observiq-otel-collector
      ```
      
    2. ログでエラーを確認します。

      ```bash
      sudo journalctl -u observiq-otel-collector -f
      ```
      
  • Windows で Bindplane エージェントを再起動するには、次のいずれかのオプションを選択します。

    • 管理者としてコマンド プロンプトまたは PowerShell を開きます。

      net stop observiq-otel-collector && net start observiq-otel-collector
      
    • サービス コンソール:

      1. Win+R キーを押し、「services.msc」と入力して Enter キーを押します。
      2. observIQ OpenTelemetry Collector を見つけます。
      3. 右クリックして [再起動] を選択します。
      4. サービスが実行されていることを確認します。

        sc query observiq-otel-collector
        
      5. ログでエラーを確認します。

        type "C:\Program Files\observIQ OpenTelemetry Collector\log\collector.log"
        

Brocade スイッチから syslog エクスポートを構成する

  1. 適切な認証情報を使用して、SSH または Telnet で Brocade スイッチに接続します。
  2. 次のコマンドを実行して、Syslog サーバー(Bindplane)の IP アドレスとポートを指定します。

    syslogadmin --set -ip <BINDPLANE_IP> -port 514
    
  3. 次のコマンドを実行して、構成された syslog サーバーを表示します。

    syslogadmin --show -ip
    

UDM マッピング テーブル

ログフィールド UDM マッピング 論理
application additional.fields[].key: "application"
additional.fields[].value.string_value:
KV_DATA フィールドが存在する場合に、未加工ログの application@1588 フィールドから抽出された値。
class additional.fields[].key: "class"
additional.fields[].value.string_value:
KV_DATA フィールドが存在する場合に、未加工ログの class@1588 フィールドから抽出された値。
domain principal.administrative_domain domain フィールドに一致する Grok パターンから抽出された値。
Event additional.fields[].key: "event_category"
additional.fields[].value.string_value:
KV_DATA フィールドが存在する場合に、未加工ログの arg0@1588 フィールドから抽出された値。
event_id metadata.product_log_id event_id フィールドに一致する Grok パターンから抽出された値。
event_type metadata.product_event_type event_type フィールドに一致する Grok パターンから抽出された値。
flags additional.fields[].key: "flags"
additional.fields[].value.string_value:
flags フィールドに一致する Grok パターンから抽出された値。
Info metadata.description Info フィールドから抽出された値。grok を使用して解析されます。
interface app_protocol_src KV_DATA フィールドが存在する場合に、未加工ログの interface@1588 フィールドから抽出された値。network.application_protocol の派生に使用されます。
ip principal.ip ip フィールドから抽出された値。grok を使用して解析されます。Info フィールドから抽出された IP と同じでない場合は、principal.ip に統合されます。
Info、IP Addr principal.ip Info フィールド内の IP Addr フィールドから抽出された値。grok を使用して解析されます。
log additional.fields[].key: "log"
additional.fields[].value.string_value:
KV_DATA フィールドが存在する場合に、未加工ログの log@1588 フィールドから抽出された値。
msg metadata.description msg フィールドから抽出された値。grok を使用して解析されます。
msgid additional.fields[].key: "msgid"
additional.fields[].value.string_value:
KV_DATA フィールドが存在する場合に、未加工ログの msgid@1588 フィールドから抽出された値。
prin_host principal.hostname
principal.asset.hostname
prin_host フィールドに一致する Grok パターンから抽出された値。
product_version metadata.product_version product_version フィールドに一致する Grok パターンから抽出された値。
repeat_count additional.fields[].key: "repeat_count"
additional.fields[].value.string_value:
msg フィールドから抽出された値。grok を使用して解析されます。
role、user_role principal.user.attribute.roles[].name role@1588 フィールドまたは user_role フィールドから抽出された値。値が「admin」の場合は、「Admin」に置き換えられます。
sequence_number additional.fields[].key: "sequence_number"
additional.fields[].value.string_value:
sequence_number フィールドに一致する Grok パターンから抽出された値。
severity security_result.severity severity フィールドから抽出された値。grok を使用して解析されます。UDM の重大度値(INFORMATIONAL、ERROR、CRITICAL、MEDIUM)にマッピングされます。
Status security_result.summary Status フィールドから抽出された値。
switch_name additional.fields[].key: "switch_name"
additional.fields[].value.string_value:
switch_name フィールドに一致する Grok パターンから抽出された値。
target_application target.application target_application フィールドに一致する Grok パターンから抽出された値。
time additional.fields[].key: "time"
additional.fields[].value.string_value:
kv_data3 フィールド内の time フィールドから抽出された値。
timestamp metadata.event_timestamp.seconds timestamp フィールドから抽出された値。日付フィルタを使用して解析されます。
user principal.user.userid
principal.user.user_display_name
user フィールドまたは user@1588 フィールドから抽出され、grok を使用して解析された値。principal.hostname からコピーされます。principal.ip からコピーされます。metadata.product_event_type からコピーされるか、条件に基づいて「STATUS_UPDATE」に設定されます。ログの create_time.nanos からコピーされます。has_principal、has_target、has_userid、event_type の値に基づいてパーサー ロジックによって決定されます。「SYSTEM_AUDIT_LOG_UNCATEGORIZED」、「STATUS_UPDATE」、「GENERIC_EVENT」のいずれかになります。「BROCADE_SWITCH」にハードコードされてます。「BROCADE」にハードコードされます。「BROCADE_SWITCH」にハードコードされてます。interface フィールドから派生するか、interface フィールドに「SSH」が含まれている場合は「SSH」に設定されます。
CLI event.idm.read_only_udm.metadata.description 変更履歴からマッピング
prin_host event.idm.read_only_udm.intermediary.hostname 変更履歴からマッピング

変更ログ

このパーサーの変更ログを表示する

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