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

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

このパーサーは、さまざまなログ形式に一致する grok パターンを使用して、Brocade スイッチログからフィールドを抽出します。次に、抽出されたフィールドを UDM フィールドにマッピングし、さまざまなログ構造を処理し、ベンダーやプロダクト情報などのメタデータでデータを拡充します。また、解析ツールは、最終的な UDM 出力を生成する前に、重大度のレベルの変換や重複メッセージの処理などのデータ変換も行います。

始める前に

  • Google Security Operations インスタンスがあることを確認します。
  • Windows 2016 以降、または systemd を搭載した Linux ホストを使用していることを確認します。
  • プロキシの背後で実行している場合は、ファイアウォールのポートが開いていることを確認します。
  • Brocade スイッチに対する CLI 管理者権限があることを確認します。

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

  1. Google SecOps コンソールにログインします。
  2. [SIEM 設定 > 収集エージェント] に移動します。
  3. 取り込み認証ファイルをダウンロードします。

Google SecOps のお客様 ID を取得する

  1. Google SecOps コンソールにログインします。
  2. [SIEM 設定] > [プロファイル] に移動します。
  3. [組織の詳細] セクションから [お客様 ID] をコピーして保存します。

BindPlane Agent をインストールする

  1. Windows へのインストールの場合は、次のスクリプトを実行します。
    msiexec /i "https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi" /quiet
  2. Linux へのインストールの場合は、次のスクリプトを実行します。
    sudo sh -c "$(curl -fsSlL https://github.com/observiq/bindplane-agent/releases/latest/download/install_unix.sh)" install_unix.sh
  3. その他のインストール オプションについては、こちらのインストール ガイドをご覧ください。

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

  1. BindPlane がインストールされているマシンにアクセスします。
  2. config.yaml ファイルを次のように編集します。

    receivers:
        tcplog:
            # Replace the below port <54525> and IP <0.0.0.0> with your specific values
            listen_address: "0.0.0.0:54525" 
    
    exporters:
        chronicle/chronicle_w_labels:
            compression: gzip
            # Adjust the creds location below according the placement of the credentials file you downloaded
            creds: '{ json file for creds }'
            # Replace <customer_id> below with your actual ID that you copied
            customer_id: <customer_id>
            endpoint: malachiteingestion-pa.googleapis.com
            # You can apply ingestion labels below as preferred
            ingestion_labels:
            log_type: SYSLOG
            namespace: Brocade_Switch
            raw_log_field: body
    service:
        pipelines:
            logs/source0__chronicle_w_labels-0:
                receivers:
                    - tcplog
                exporters:
                    - chronicle/chronicle_w_labels
    
  3. BindPlane エージェントを再起動して変更を適用します。

    sudo systemctl restart bindplane
    

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

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

    syslogadmin --set -ip <IP> -port <Port>
    

    次に例を示します。

    syslogadmin --set -ip 10.10.10.10 -port 54525
    
  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 に統合されます。
InfoIP 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 を使用して解析されます。
roleuser_role principal.user.attribute.roles[].name role@1588 フィールドまたは user_role フィールドから抽出された値。値が「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_principalhas_targethas_useridevent_type の値に基づいてパーサー ロジックによって決定されます。「SYSTEM_AUDIT_LOG_UNCATEGORIZED」、「STATUS_UPDATE」、「GENERIC_EVENT」のいずれか。「BROCADE_SWITCH」にハードコードされています。「BROCADE」にハードコードされています。「BROCADE_SWITCH」にハードコードされています。interface フィールドから派生するか、interface フィールドに「SSH」が含まれている場合は「SSH」に設定します。

変更点

2024-04-15

  • お客様固有のログのサポートを追加しました。

2023-12-01

  • 新しく作成されたパーサー。