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: Chronicle API のサービス アカウントを作成する(推奨)
- Google Cloud コンソールにログインし、Google SecOps インスタンスにリンクされている Google Cloud プロジェクトを選択します。
- [IAM と管理] > [サービス アカウント] に移動します。
- [サービス アカウントを作成] をクリックします。
- 次の構成情報を指定します。
- サービス アカウント名: アカウントの名前を入力します(例:
bindplane-ingest)。 - サービス アカウントの説明: 説明を入力します(例:
Bindplane agent log ingestion)。
- サービス アカウント名: アカウントの名前を入力します(例:
- [作成して続行] をクリックします。
- [このサービス アカウントにプロジェクトへのアクセスを許可する] セクションで、[ロールを選択] をクリックし、[Chronicle 編集者] を選択します。
- [続行] をクリックして [完了] をクリックします。
- 作成したサービス アカウントをクリックし、[キー] タブに移動します。
- [鍵を追加] > [新しい鍵を作成] の順にクリックします。
- [JSON] を選択し、[作成] をクリックします。鍵ファイルがパソコンにダウンロードされます。
- 鍵ファイルを 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を保存先のパスと一致するように更新します。 - [IAM と管理] > [設定] に移動し、[プロジェクト番号] をコピーします。これはエクスポータの構成に必要です。
オプション 2: 取り込み認証ファイルをダウンロードする(レガシー)
- Google SecOps コンソールにログインします。
- [SIEM 設定] > [収集エージェント] に移動します。
- 取り込み認証ファイルをダウンロードします。
- Bindplane エージェントがインストールされるシステムにファイルを安全に保存します。
Google SecOps のお客様 ID を取得する
- Google SecOps コンソールにログインします。
- [SIEM 設定] > [プロファイル] に移動します。
- [組織の詳細情報] セクションから [お客様 ID] をコピーして保存します。
Bindplane エージェントをインストールする
次の手順に沿って、Windows または Linux オペレーティング システムに Bindplane エージェントをインストールします。
Windows へのインストール
- 管理者として コマンド プロンプトまたは PowerShell を開きます。
次のコマンドを実行します。
msiexec /i "https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi" /quiet
Linux のインストール
- root 権限または sudo 権限でターミナルを開きます。
次のコマンドを実行します。
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 エージェントを構成する
- 構成ファイルにアクセスします。
config.yamlファイルを見つけます。通常、Linux の場合は/opt/observiq-otel-collector/ディレクトリ、Windows の場合はインストール ディレクトリにあります。- テキスト エディタ(
nano、vi、メモ帳など)を使用してファイルを開きます。
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 エージェントを再起動して変更を適用する
Linux で Bindplane エージェントを再起動するには、次のコマンドを実行します。
sudo systemctl restart observiq-otel-collectorWindows で Bindplane エージェントを再起動するには、Services コンソールを使用するか、次のコマンドを入力します。
net stop observiq-otel-collector && net start observiq-otel-collector
Entrust nShield HSM で Syslog 転送を構成する
構成方法は、nShield HSM のデプロイモデルによって異なります。監査ロギングは、Security World の作成時、または既存の Security World に HSM を導入する際に有効にする必要があります。
オプション 1: config-auditlogging ユーティリティを使用して構成する(推奨)
Security World ソフトウェアがインストールされているクライアント コンピュータで、次のコマンドを実行します。
config-auditlogging --server <BINDPLANE_IP> --port 514 --enable-syslog<BINDPLANE_IP>は、Bindplane エージェント ホストの IP アドレスに置き換えます。- 構成の変更は、hardserver 構成ファイルに書き込まれます。
hardserver を再起動して変更を適用します。
- Linux:
/opt/nfast/sbin/init.d-ncipher restart - Windows:
net stop "nfast server" && net start "nfast server"
- Linux:
オプション 2: hardserver 構成ファイルを使用して構成する
- ハードサーバー構成ファイル
-
を編集します。
- Linux:
/opt/nfast/kmdata/config/config - Windows:
%NFAST_KMDATA%\config\config
- Linux:
構成ファイルに次のエントリを追加するか、変更します。
auditlog_addr=<BINDPLANE_IP> auditlog_port=514*
<BINDPLANE_IP>は、Bindplane エージェント ホストの IP アドレスに置き換えます。構成ファイルを保存します。
hardserver を再起動して変更を適用します。
- Linux:
/opt/nfast/sbin/init.d-ncipher restart - Windows:
net stop "nfast server" && net start "nfast server"
- Linux:
オプション 3: ネットワーク接続 HSM(nShield Connect)用に構成する
ネットワーク接続 HSM の場合は、構成をリモートでプッシュできます。
- RFS(リモート ファイル システム)で構成プッシュが有効になっていることを確認します。
HSM 構成ファイルをコピーします。
cp /opt/nfast/kmdata/hsm-ESN/config/config /opt/nfast/kmdata/hsm-ESN/config/config.newconfig.newを編集して、監査ロギング構成を追加します。[audit_logging] auditlog_addr=<BINDPLANE_IP> auditlog_port=514構成を 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 のプロフェッショナルから回答を得ることができます。