Extreme Wireless ログを収集する

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

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

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

Extreme Networks ワイヤレス コントローラは、クライアントの関連付けと関連付け解除イベント、認証、RADIUS のやり取り、アクセス ポイントのステータスの変更に関する syslog メッセージを生成します。パーサーは、grok パターンを使用してフィールドを抽出し、Unified Data Model(UDM)にマッピングします。

始める前に

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

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

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

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

  • 新しいデプロイ: Chronicle API を使用します(オプション 1)。
  • 従来のデプロイ: Ingestion API が 2027 年 7 月 20 日に廃止されるまで、取り込み認証ファイル(オプション 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"
    

構成ファイルを編集する

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

    receivers:
      udplog:
        listen_address: "0.0.0.0:514"
    
    exporters:
      chronicle/extreme_wireless:
        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: '<customer_id>'
        endpoint: chronicle.googleapis.com
        log_type: EXTREME_WIRELESS
        raw_log_field: body
    
    service:
      pipelines:
        logs/extreme_wireless_to_chronicle:
          receivers:
            - udplog
          exporters:
            - chronicle/extreme_wireless
    

構成パラメータ

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

  • レシーバーの構成:

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

    • creds_file_path: サービス アカウント JSON キーファイルのフルパス(オプション 1):
      • Linux: /opt/observiq-otel-collector/ingestion-auth.json
      • Windows: C:\Program Files\observIQ OpenTelemetry Collector\ingestion-auth.json
    • customer_id: Google SecOps コンソールからコピーしたお客様 ID
    • location: <LOCATION> を Google SecOps インスタンスのリージョン(us、europe、asia-southeast1 など)に置き換えます。エクスポーターは、この値で chronicle.googleapis.com に接頭辞を付けます。完全なリストについては、リージョン エンドポイントをご覧ください。
    • project: <PROJECT_NUMBER> を [IAM と管理] > [設定] のプロジェクト番号に置き換えます。
    • endpoint: chronicle.googleapis.com に設定したままにします。

従来の Ingestion API エクスポーター

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

    exporters:
      chronicle/extreme_wireless:
        compression: gzip
        creds_file_path: '/opt/observiq-otel-collector/ingestion-auth.json'
        customer_id: '<customer_id>'
        endpoint: malachiteingestion-pa.googleapis.com
        log_type: EXTREME_WIRELESS
        raw_log_field: body
    

構成ファイルを保存する

  • 編集が完了したら、ファイルを保存します。
    • Linux: Ctrl+O、Enter、Ctrl+X を押します。
    • Windows: [File > Save] をクリックします。

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

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

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

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

      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"
        

Extreme Networks CloudIQ で syslog を構成する

  1. CloudIQ ウェブ UI にログインします。
  2. [Configure] > [Common Objects] > [Management] > [Syslog Servers] に移動します。
  3. [+] をクリックします。
  4. 次の構成情報を指定します。
    • 名前: サーバーの一意の名前を指定します。
    • 重大度: [情報] を選択します。
    • [選択] メニューから既存の syslog IP アドレスを選択するか、[+] をクリックします。
    • Bindplane エージェントの IP アドレスを入力します。
    • Bindplane エージェントのポート番号を入力します。
    • [追加] をクリックします。
  5. [Save Syslog Server] をクリックします。

UDM マッピング テーブル

ログフィールド UDM マッピング ロジック
action security_result.detection_fields.key 未加工ログの action フィールドの値が security_result.detection_fields.key にマッピングされます。
action security_result.detection_fields.value 未加工ログの action フィールドの値が security_result.detection_fields.value にマッピングされます。
BSSID principal.resource.attribute.labels.key 文字列「BSSID」が principal.resource.attribute.labels.key に割り当てられます。
BSSID principal.resource.attribute.labels.value 未加工ログの BSSID フィールドの値が principal.resource.attribute.labels.value にマッピングされます。
collection_time.nanos metadata.event_timestamp.nanos 未加工ログの collection_time.nanos の値が metadata.event_timestamp.nanos にマッピングされます。
collection_time.seconds metadata.event_timestamp.seconds 未加工ログの collection_time.seconds の値が metadata.event_timestamp.seconds にマッピングされます。
collection_time.seconds timestamp.seconds 未加工ログの collection_time.seconds の値が timestamp.seconds にマッピングされます。
collection_time.nanos timestamp.nanos 未加工ログの collection_time.nanos の値が timestamp.nanos にマッピングされます。
data security_result.description 未加工ログの data フィールドの値は、不要な文字と「なし」値を削除するためにいくつかの gsub 変換が行われた後、security_result.description フィールドにマッピングされます。
description security_result.description grok パーサーによって抽出された description フィールドの値が security_result.description フィールドにマッピングされます。
first security_result.detection_fields.key 文字列「first」が security_result.detection_fields.key に割り当てられます。
first security_result.detection_fields.value 未加工ログの first フィールドの値が security_result.detection_fields.value にマッピングされます。
hostname principal.asset.hostname 未加工ログの hostname フィールドの値が principal.asset.hostname フィールドと principal.hostname フィールドにマッピングされます。
hostname principal.hostname 未加工ログの hostname フィールドの値が principal.asset.hostname フィールドと principal.hostname フィールドにマッピングされます。
IP principal.asset.ip 未加工ログの IP フィールドの値が principal.asset.ip フィールドと principal.ip フィールドにマッピングされます。
IP principal.ip 未加工ログの IP フィールドの値が principal.asset.ip フィールドと principal.ip フィールドにマッピングされます。
MAC principal.resource.attribute.labels.key 文字列「MAC」が principal.resource.attribute.labels.key に割り当てられます。
MAC principal.resource.attribute.labels.value 未加工ログの MAC フィールドの値が principal.resource.attribute.labels.value にマッピングされます。
medium security_result.detection_fields.key 文字列「medium」が security_result.detection_fields.key に割り当てられます。
medium security_result.detection_fields.value 未加工ログの medium フィールドの値が security_result.detection_fields.value にマッピングされます。metadata.event_type は、パーサー内のロジックによって決定されます。principal と target の両方のマシン ID が存在する場合は、NETWORK_CONNECTION に設定されます。principal または target のいずれかのユーザー ID が存在する場合は、USER_UNCATEGORIZED に設定されます。principal マシン ID のみが存在する場合は、STATUS_UPDATE に設定されます。それ以外の場合は、デフォルトで GENERIC_EVENT に設定されます。文字列「EXTREME WIRELESS」が metadata.product_name に割り当てられます。
prod_event_type metadata.product_event_type 未加工ログの prod_event_type フィールドの値が metadata.product_event_type フィールドにマッピングされます。
port principal.port 未加工ログの port フィールドの値は整数に変換され、principal.port フィールドにマッピングされます。
problem_summary security_result.summary 未加工ログの problem_summary フィールドの値が security_result.summary フィールドにマッピングされます。
SSID principal.resource.attribute.labels.key 文字列「SSID」が principal.resource.attribute.labels.key に割り当てられます。
SSID principal.resource.attribute.labels.value 未加工ログの SSID フィールドの値が principal.resource.attribute.labels.value にマッピングされます。
station principal.asset.hostname 未加工ログの station フィールドの値が principal.asset.hostname フィールドと principal.hostname フィールドにマッピングされます。
station principal.hostname 未加工ログの station フィールドの値が principal.asset.hostname フィールドと principal.hostname フィールドにマッピングされます。
target_host target.asset.hostname 未加工ログの target_host フィールドの値が target.asset.hostname フィールドと target.hostname フィールドにマッピングされます。
target_host target.hostname 未加工ログの target_host フィールドの値が target.asset.hostname フィールドと target.hostname フィールドにマッピングされます。
target_ip target.asset.ip 未加工ログの target_ip フィールドの値が target.asset.ip フィールドと target.ip フィールドにマッピングされます。
target_ip target.ip 未加工ログの target_ip フィールドの値が target.asset.ip フィールドと target.ip フィールドにマッピングされます。
target_port target.port 未加工ログの target_port フィールドの値は整数に変換され、target.port フィールドにマッピングされます。
target_user target.user.userid 未加工ログの target_user フィールドの値が target.user.userid フィールドにマッピングされます。
user-profile security_result.detection_fields.key 文字列「user profile」が security_result.detection_fields.key に割り当てられます。
user-profile security_result.detection_fields.value 未加工ログの user-profile フィールドの値が security_result.detection_fields.value にマッピングされます。
username principal.user.userid 未加工ログの username フィールドの値が principal.user.userid フィールドにマッピングされます。文字列「EXTREME_WIRELESS」が metadata.vendor_name に割り当てられます。

変更ログ

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

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