Varonis のログを収集する
このドキュメントでは、Bindplane を使用して Varonis ログを Google Security Operations に取り込む方法について説明します。パーサーは、grok パターンを使用してログ(SYSLOG + KV(CEF)、LEEF)からフィールドを抽出し、CEF、LEEF、その他の Varonis 固有の形式を特別に処理します。次に、抽出されたフィールドを統合データモデル(UDM)にマッピングし、さまざまなデータ形式とエッジケースを処理して、一貫した表現を確保します。
始める前に
次の前提条件を満たしていることを確認します。
- Google SecOps インスタンス
 - Windows 2016 以降、または systemd を使用する Linux ホスト
 - プロキシの背後で実行されている場合、ファイアウォール ポートが開いている
 - Varonis への特権アクセス
 
Google SecOps の取り込み認証ファイルを取得する
- Google SecOps コンソールにログインします。
 - [SIEM 設定] > [コレクション エージェント] に移動します。
 - Ingestion Authentication File をダウンロードします。Bindplane をインストールするシステムにファイルを安全に保存します。
 
Google SecOps のお客様 ID を取得する
- Google SecOps コンソールにログインします。
 - [SIEM 設定] > [プロファイル] に移動します。
 - [組織の詳細情報] セクションから [お客様 ID] をコピーして保存します。
 
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
その他のインストール リソース
その他のインストール オプションについては、インストール ガイドをご覧ください。
Syslog を取り込んで Google SecOps に送信するように Bindplane エージェントを構成する
- 構成ファイルにアクセスします。
config.yamlファイルを見つけます。通常、Linux では/etc/bindplane-agent/ディレクトリに、Windows ではインストール ディレクトリにあります。- テキスト エディタ(nano、vi、メモ帳など)を使用してファイルを開きます。
 
 config.yamlファイルを次のように編集します。receivers: udplog: # Replace the port and IP address as required listen_address: "0.0.0.0:514" exporters: chronicle/chronicle_w_labels: compression: gzip # Adjust the path to the credentials file you downloaded in Step 1 creds: '/path/to/ingestion-authentication-file.json' # Replace with your actual customer ID from Step 2 customer_id: <customer_id> endpoint: malachiteingestion-pa.googleapis.com # Add optional ingestion labels for better organization ingestion_labels: log_type: 'VARONIS' raw_log_field: body service: pipelines: logs/source0__chronicle_w_labels-0: receivers: - udplog exporters: - chronicle/chronicle_w_labels自社のインフラストラクチャでの必要性に応じて、ポートと IP アドレスを置き換えます。
<customer_id>は、実際の顧客 ID に置き換えます。/path/to/ingestion-authentication-file.jsonの値を、Google SecOps の取り込み認証ファイルを取得するで認証ファイルを保存したパスに更新します。
Bindplane エージェントを再起動して変更を適用する
Linux で Bindplane エージェントを再起動するには、次のコマンドを実行します。
sudo systemctl restart bindplane-agentWindows で Bindplane エージェントを再起動するには、Services コンソールを使用するか、次のコマンドを入力します。
net stop BindPlaneAgent && net start BindPlaneAgent
Varonis で Syslog エクスポートを構成する
- Varonis ウェブ UI にログインします。
 - [Tools] > [DatAlert] > [Select DatAlert] に移動します。
 - [構成] を選択します。
 - 次の構成の詳細を指定します。
- Syslog メッセージの IP アドレス: Bindplane エージェントの IP アドレスを入力します。
 - ポート: Bindplane エージェントのポート番号を入力します(例: UDP の場合は 
514)。 - 施設名: 施設を選択します。
 
 - [適用] をクリックします。
 
Varonis で Syslog 形式を構成する
- [ツール] > [DatAlert] > [アラート テンプレート] に移動します。
 - [アラート テンプレートを編集] をクリックし、[外部システムのデフォルト テンプレート] を選択します。
 - [アラート方法に適用] で、リストから [Syslog メッセージ] を選択します。
 - メニューから [ルール > アラート方法] を選択します。
 - [Syslog メッセージ] を選択します。
 - [OK] をクリックします。
 
UDM マッピング テーブル
| ログフィールド | UDM マッピング | ロジック | 
|---|---|---|
act | 
security_result.summary | 
CEF メッセージの act フィールドの値。 | 
cn1 | 
security_result.rule_id | 
CEF メッセージの cn1 フィールドの値。 | 
cs1 | 
network.email.to | 
CEF メッセージの cs1 フィールドの値(メールの受信者)。 | 
cs2 | 
security_result.rule_name | 
CEF メッセージの cs2 フィールドの値。 | 
device_version | 
metadata.product_version | 
CEF メッセージの device_version フィールドの値。 | 
dhost | 
principal.hostname | 
CEF メッセージの dhost フィールドの値。プリンシパル ホスト名を表します。file_server が存在し、「DirectoryServices」でない場合は、この値が上書きされます。 | 
duser | 
target.user.userid | 
CEF メッセージの duser フィールドの値。gsub 変換が行われ、バックスラッシュが削除されて target.user.userid と target.administrative_domain に分割されます。 | 
dvchost | 
target.hostname | 
CEF メッセージの dvchost フィールドの値。 | 
filePath | 
target.file.full_path | 
CEF メッセージの filePath フィールドの値。 | 
rt | 
metadata.event_timestamp | 
CEF メッセージの rt フィールドの値。タイムスタンプとして解析されます。 | 
severity | 
security_result.severity | 
CEF メッセージまたは LEEF メッセージの severity フィールドの値。大文字に変換されました。数値またはキーワードに基づいて、UDM の重大度値(LOW、INFORMATIONAL、MEDIUM、HIGH、CRITICAL)にマッピングされます。 | 
Acting Object | 
target.user.user_display_name | 
キー値データの Acting Object フィールドの値。「\」で分割して表示名を抽出します。 | 
Acting Object SAM Account Name | 
target.user.userid | 
キー値データの Acting Object SAM Account Name フィールドの値。 | 
Device hostname | 
target.hostname | 
キー値データの Device hostname フィールドの値。 | 
Device IP address | 
target.ip | 
キー値データの Device IP address フィールドの値。 | 
Event Time | 
metadata.event_timestamp | 
Key-Value データの Event Time フィールドの値。タイムスタンプとして解析されます。 | 
Event Type | 
target.application、metadata.event_type | 
キー値データの Event Type フィールドの値。metadata.event_type(FILE_OPEN、USER_CHANGE_PERMISSIONS、USER_CHANGE_PASSWORD、USER_UNCATEGORIZED)の導出に使用されます。 | 
File Server/Domain | 
principal.hostname | 
キー値データの File Server/Domain フィールドの値。「DirectoryServices」でない場合は、dhost から派生した principal.hostname を上書きします。 | 
Path | 
target.file.full_path | 
キー値データの Path フィールドの値。 | 
Rule Description | 
metadata.description | 
キー値データの Rule Description フィールドの値。 | 
Rule ID | 
security_result.rule_id | 
キー値データの Rule ID フィールドの値。 | 
Rule Name | 
security_result.rule_name | 
キー値データの Rule Name フィールドの値。 | 
intermediary_host | 
intermediary.hostname | 
Grok によって抽出された値。仲介ホスト名を表します。 | 
log_type | 
metadata.log_type | 
VARONIS にハードコードされています。 | 
metadata.event_type | 
metadata.event_type | 
evt_typ、act、filepath の値に基づいて導出されます。event_type が GENERIC_EVENT で principal_hostname が存在する場合、デフォルトは STATUS_UPDATE です。 | 
metadata.product_name | 
metadata.product_name | 
VARONIS にハードコードされていますが、LEEF メッセージの product_name フィールドで上書きできます。 | 
metadata.vendor_name | 
metadata.vendor_name | 
VARONIS にハードコードされていますが、LEEF メッセージの vendor フィールドで上書きできます。 | 
prin_host | 
principal.hostname | 
Grok によって抽出された値。プリンシパルのホスト名を表します。 | 
product_name | 
metadata.product_name | 
LEEF メッセージの値。 | 
security_result.action | 
security_result.action | 
result フィールドまたは Event Status フィールドから派生します。結果が Success の場合は「ALLOW」に設定し、それ以外の場合は BLOCK に設定します。 | 
timestamp | 
timestamp、metadata.event_timestamp | 
イベントのタイムスタンプは、可用性に基づいてさまざまなフィールド(datetime1、event_time、start_datetime、datetime2)から取得されます。未加工ログの create_time はフォールバックとして使用され、他のタイムスタンプ フィールドが使用できない場合は timestamp と metadata.event_timestamp の両方にマッピングされます。 | 
vendor | 
metadata.vendor_name | 
LEEF メッセージの値。 | 
さらにサポートが必要な場合 コミュニティ メンバーや Google SecOps のプロフェッショナルから回答を得ることができます。