Entrust nShield HSM の監査ログを収集する

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

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

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

このパーサーは、Entrust nShield HSM の syslog 形式のログからフィールドを抽出します。grok や kv を使用してログメッセージを解析し、これらの値を統合データモデル(UDM)にマッピングします。また、イベントソースとタイプのデフォルトのメタデータ値も設定します。

始める前に

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

  • Google SecOps インスタンス
  • Windows 2016 以降、または systemd を使用する Linux ホスト
  • プロキシの背後で実行している場合は、Bindplane エージェントの要件に従ってファイアウォール ポートが開いていることを確認します
  • Entrust nShield HSM 管理コンソールまたは Security World ソフトウェアへの特権アクセス
  • 監査ロギング機能を備えた初期化済みの Security World

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
    

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
    

その他のインストール リソース

その他のインストール オプションについては、Bindplane エージェントのインストール ガイドをご覧ください。

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

  1. 構成ファイルにアクセスします。
    • config.yaml ファイルを見つけます。通常、Linux の場合は /opt/observiq-otel-collector/ ディレクトリ、Windows の場合はインストール ディレクトリにあります。
    • テキスト エディタ(nano、vi、メモ帳など)を使用してファイルを開きます。
  2. config.yaml ファイルを次のように編集します。

    receivers:
      udplog:
        # nShield HSM only supports UDP for audit logs
        listen_address: "0.0.0.0:514"
    
    exporters:
      chronicle/chronicle_w_labels:
        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
        # Adjust the path to the credentials file you downloaded in Step 1
        creds_file_path: '/path/to/ingestion-authentication-file.json'
        # Replace with your actual customer ID from Step 2
        customer_id: YOUR_CUSTOMER_ID
        endpoint: chronicle.googleapis.com
        # Use ENTRUST_HSM as the log type
        log_type: 'ENTRUST_HSM'
        raw_log_field: body
        ingestion_labels:
    
    service:
      pipelines:
        logs/source0__chronicle_w_labels-0:
          receivers:
            - udplog
          exporters:
            - chronicle/chronicle_w_labels
    
    • 自社のインフラストラクチャでの必要性に応じて、ポートと IP アドレスを置き換えます。
    • <LOCATION> は、Google SecOps インスタンスのリージョン(us、europe、asia-southeast1 など)に置き換えます。エクスポータは、chronicle.googleapis.com の先頭にこの値を付加します。
    • <PROJECT_NUMBER> は、[IAM と管理] > [設定] のプロジェクト番号に置き換えます。
    • YOUR_CUSTOMER_ID は、実際のお客様 ID に置き換えます。
    • /path/to/ingestion-authentication-file.json を、ステップ 1 でサービス アカウント キーファイル(オプション 1)を保存したファイルパスに更新します。

以前の Ingestion API エクスポータ

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

    exporters:
      chronicle/chronicle_w_labels:
        compression: gzip
        # Adjust the path to the credentials file you downloaded in Step 1
        creds_file_path: '/path/to/ingestion-authentication-file.json'
        # Replace with your actual customer ID from Step 2
        customer_id: YOUR_CUSTOMER_ID
        endpoint: malachiteingestion-pa.googleapis.com
        # Use ENTRUST_HSM as the log type
        log_type: 'ENTRUST_HSM'
        raw_log_field: body
        ingestion_labels:
    

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

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

    sudo systemctl restart observiq-otel-collector
    
  2. Windows で Bindplane エージェントを再起動するには、Services コンソールを使用するか、次のコマンドを入力します。

    net stop observiq-otel-collector && net start observiq-otel-collector
    

Entrust nShield HSM で Syslog 転送を構成する

構成方法は、nShield HSM のデプロイモデルによって異なります。監査ロギングは、Security World の作成時、または既存の Security World に HSM を導入する際に有効にする必要があります。

  1. Security World ソフトウェアがインストールされているクライアント コンピュータで、次のコマンドを実行します。

    config-auditlogging --server <BINDPLANE_IP> --port 514 --enable-syslog
    
  2. <BINDPLANE_IP> は、Bindplane エージェント ホストの IP アドレスに置き換えます。

    • 構成の変更は、hardserver 構成ファイルに書き込まれます。
  3. hardserver を再起動して変更を適用します。

    • Linux: /opt/nfast/sbin/init.d-ncipher restart
    • Windows: net stop "nfast server" && net start "nfast server"

オプション 2: hardserver 構成ファイルを使用して構成する

  1. ハードサーバー構成ファイル
      を編集します。
    • Linux: /opt/nfast/kmdata/config/config
    • Windows: %NFAST_KMDATA%\config\config
  2. 構成ファイルに次のエントリを追加するか、変更します。

    auditlog_addr=<BINDPLANE_IP>
    auditlog_port=514
    

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

  3. 構成ファイルを保存します。

  4. hardserver を再起動して変更を適用します。

    • Linux: /opt/nfast/sbin/init.d-ncipher restart
    • Windows: net stop "nfast server" && net start "nfast server"

オプション 3: ネットワーク接続 HSM(nShield Connect)用に構成する

ネットワーク接続 HSM の場合は、構成をリモートでプッシュできます。

  1. RFS(リモート ファイル システム)で構成プッシュが有効になっていることを確認します。
  2. HSM 構成ファイルをコピーします。

    cp /opt/nfast/kmdata/hsm-ESN/config/config /opt/nfast/kmdata/hsm-ESN/config/config.new
    
  3. config.new を編集して、監査ロギング構成を追加します。

    [audit_logging]
    auditlog_addr=<BINDPLANE_IP>
    auditlog_port=514
    
  4. 構成を HSM に push します。

    cfg-pushnethsm --address=<HSM_IP> /opt/nfast/kmdata/hsm-ESN/config/config.new
    
    • <HSM_IP> は、nShield Connect HSM の IP アドレスに置き換えます。

UDM マッピング テーブル

ログフィールド UDM マッピング 論理
desc metadata.description 直接マッピングされます。
ts metadata.event_timestamp MMM d HH:mm:ss として解析
has_principal metadata.event_type マッピング済み: true → STATUS_UPDATE
has_user metadata.event_type マッピング済み: true → USER_UNCATEGORIZED
product_event metadata.product_event_type 直接マッピングされます。
session_id network.session_id 直接マッピングされます。
application principal.application 直接マッピングされます。
ip principal.asset.ip 統合済み
rhost principal.asset.ip 統合済み
ip principal.ip 統合済み
rhost principal.ip 統合済み
port principal.port 直接マッピングされます。
user principal.user.userid 直接マッピングされます。
なし metadata.event_type 定数: USER_UNCATEGORIZED
なし metadata.product_name 定数: Entrust nShield HSM
なし metadata.vendor_name 定数: ENTRUST HSM

変更ログ

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

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