Pure Storage のログを収集する

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

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

Pure Storage は、監査ログ、パフォーマンス ログ、システム イベントログを生成するオールフラッシュ エンタープライズ ストレージ アレイを提供しています。FlashArray プラットフォームと FlashBlade プラットフォームは、システム イベント、監査証跡、運用アラートのネイティブ syslog 転送をサポートしています。Pure Storage アレイは、Purity GUI、CLI、または REST API を使用して syslog を転送するように構成できます。

始める前に

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

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

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"
    

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

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

    receivers:
      udplog:
        listen_address: "0.0.0.0:514"
    
    exporters:
      chronicle/pure_storage:
        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: PURE_STORAGE
        raw_log_field: body
        ingestion_labels:
          env: production
    
    service:
      pipelines:
        logs/pure_to_chronicle:
          receivers:
            - udplog
          exporters:
            - chronicle/pure_storage
    

構成パラメータ

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

  • レシーバーの構成:

    • udplog: プロトコルに基づく受信者のタイプ:
      • udplog: UDP syslog
      • tcplog(TCP syslog の場合)
    • 0.0.0.0: リッスンする IP アドレス。
      • 0.0.0.0: すべてのインターフェースでリッスンします(推奨)。
      • 1 つのインターフェースでリッスンする特定の IP アドレス
    • 514: リッスンするポート番号(514、1514、6514 など)
  • エクスポータの構成:

    • pure_storage: エクスポータのわかりやすい名前
    • 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>: 前のステップの顧客 ID
    • location: <LOCATION> は、Google SecOps インスタンスのリージョン(us、europe、asia-southeast1 など)に置き換えます。エクスポーターは、chronicle.googleapis.com の先頭にこの値を付加します。完全なリストについては、リージョン エンドポイントをご覧ください。
    • project: <PROJECT_NUMBER> を [IAM と管理] > [設定] のプロジェクト番号に置き換えます。
    • endpoint: chronicle.googleapis.com に設定したままにします。
    • PURE_STORAGE: Chronicle に表示されるログタイプ
    • ingestion_labels: YAML 形式のオプションのラベル(例: env: production)
  • パイプライン構成:

    • pure_to_chronicle: パイプラインのわかりやすい名前

以前の取り込み API エクスポータ

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

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

構成ファイルを保存する

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

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"
        

Pure Storage の syslog 転送を構成する

Pure Storage FlashArray と FlashBlade アレイは、ネイティブの syslog 転送をサポートしています。GUI、CLI、または REST API を使用して、監査ログとシステム イベントログを Bindplane エージェントに送信するようにアレイを構成できます。

オプション 1: Purity GUI を使用して syslog を構成する

  1. Pure Storage FlashArray 管理インターフェースにログインします。
  2. [設定> システム> Syslog サーバー] に移動します。
  3. [追加](または + アイコン)をクリックして、新しい syslog ターゲットを追加します。
  4. [Server] フィールドに、Bindplane エージェント ホストの IP アドレスを入力します。
  5. [ポート] フィールドに、Bindplane エージェントのレシーバー構成と一致するポートを入力します(デフォルトは UDP 514)。
  6. [保存] をクリックします。

オプション 2: Purity CLI を使用して syslog を構成する

  1. SSH 経由で FlashArray に接続します。
  2. syslog サーバーを Bindplane エージェント ホストに設定します。

    purearray setattr --syslogserver <bindplane_agent_ip>
    
  3. 構成を確認します。

    purearray list --syslogserver
    

オプション 3: REST API を使用して syslog を構成する

  • Pure Storage REST API(v2)を使用して、syslog サーバーをプログラムで構成します。

    curl -X POST "https://FLASHARRAY_HOST/api/2.x/syslog-servers" \
      -H "Authorization: Bearer API_TOKEN" \
      -H "Content-Type: application/json" \
      -d '{"uri": "udp://<bindplane_agent_ip>:514", "name": "chronicle-syslog"}'
    

UDM マッピング テーブル

ログフィールド UDM マッピング ロジック
message_id、payload.effective_used、payload.total_extents、payload.legacy_effective_used、payload.legacy_total_extents、payload.data_reduction、payload.product、payload.array_id、signature、Method、array_name、Controller、Interface、Module additional.fields 追加のベンダー固有のメタデータ
説明 metadata.description イベントの説明
timestamp metadata.event_timestamp イベントが発生したときのタイムスタンプ
metadata.event_type イベントのタイプ
アクション metadata.product_event_type プロダクト固有のイベントタイプ
payload.version metadata.product_version イベントを生成したプロダクトのバージョン
サブエリア network.http.parsed_user_agent 解析されたユーザー エージェント情報
サブエリア network.http.user_agent HTTP リクエストのユーザー エージェント文字列
セッション network.session_id ネットワーク セッションの ID
host_name principal.asset.hostname プリンシパルに関連付けられたアセットのホスト名
ロケーション principal.asset.ip プリンシパルに関連付けられたアセットの IP アドレス
host_name principal.hostname プリンシパルに関連付けられたホスト名
ロケーション principal.ip プリンシパルの IP アドレス
ユーザー principal.user.userid プリンシパルのユーザー ID
結果 security_result.summary セキュリティの結果またはアクションの概要
metadata.product_name イベントを生成したサービスの名前
metadata.vendor_name イベントを生成したベンダーの名前

変更ログ

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

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