Varonis のログを収集する
このドキュメントでは、Bindplane エージェントを使用して Varonis ログを Google Security Operations に取り込む方法について説明します。
Varonis は、ファイル アクセス イベント、権限の変更、認証アクティビティ、DatAlert セキュリティ アラートの CEF 形式と LEEF 形式の syslog メッセージを生成するデータ セキュリティと分析のプラットフォームです。パーサーは、CEF、LEEF、Key-Value 形式のログからフィールドを抽出し、統合データモデル(UDM)にマッピングします。
始める前に
次の前提条件を満たしていることを確認してください。
- Google SecOps インスタンス
- Windows Server 2016 以降、または
systemdを使用する Linux ホスト - Bindplane エージェントと Varonis サーバー間のネットワーク接続
- プロキシの背後で実行している場合は、Bindplane エージェントの要件に従ってファイアウォール ポートが開いていることを確認します
- Varonis への特権アクセス
Google SecOps の取り込み認証ファイルを取得する
- Google SecOps コンソールにログインします。
- [SIEM 設定] > [収集エージェント] に移動します。
- Ingestion Authentication File をダウンロードします。
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インストールが完了するまで待ちます。
次のコマンドを実行して、インストールの内容を確認します。
sc query observiq-otel-collectorサービスは RUNNING と表示されます。
Linux のインストール
- root 権限または sudo 権限でターミナルを開きます。
次のコマンドを実行します。
sudo sh -c "$(curl -fsSlL https://github.com/observiq/bindplane-agent/releases/latest/download/install_unix.sh)" install_unix.shインストールが完了するまで待ちます。
次のコマンドを実行して、インストールの内容を確認します。
sudo systemctl status observiq-otel-collectorサービスが [active (running)] と表示されます。
その他のインストール リソース
その他のインストール オプションとトラブルシューティングについては、Bindplane エージェントのインストール ガイドをご覧ください。
syslog を取り込んで Google SecOps に送信するように Bindplane エージェントを構成する
構成ファイルを見つける
Linux:
sudo nano /opt/observiq-otel-collector/config.yamlWindows:
notepad "C:\Program Files\observIQ OpenTelemetry Collector\config.yaml"
構成ファイルを編集します。
config.yamlの内容全体を次の構成に置き換えます。receivers: udplog: listen_address: "0.0.0.0:514" exporters: chronicle/varonis: compression: gzip creds_file_path: '/etc/bindplane-agent/ingestion-auth.json' customer_id: '<customer_id>' endpoint: malachiteingestion-pa.googleapis.com log_type: VARONIS raw_log_field: body service: pipelines: logs/varonis_to_chronicle: receivers: - udplog exporters: - chronicle/varonis
構成パラメータ
各プレースホルダを次のように置き換えます。
レシーバーの構成:
listen_address: リッスンする IP アドレスとポート:- すべてのインターフェースでリッスンする
0.0.0.0(推奨) - ポート
514は標準の syslog ポートです(Linux で root が必要。root 以外の場合は1514を使用)
- すべてのインターフェースでリッスンする
エクスポータの構成:
creds_file_path: 取り込み認証ファイルのフルパス:- Linux:
/etc/bindplane-agent/ingestion-auth.json - Windows:
C:\Program Files\observIQ OpenTelemetry Collector\ingestion-auth.json
- Linux:
customer_id: Google SecOps コンソールからコピーしたお客様 IDendpoint: リージョナル エンドポイント URL:- 米国:
malachiteingestion-pa.googleapis.com - ヨーロッパ:
europe-malachiteingestion-pa.googleapis.com - アジア:
asia-southeast1-malachiteingestion-pa.googleapis.com - 完全なリストについては、リージョン エンドポイントをご覧ください。
- 米国:
構成ファイルを保存する
- 編集後、ファイルを保存します。
- Linux:
Ctrl+O、Enter、Ctrl+Xの順に押します。 - Windows: [ファイル>保存] をクリックします。
- Linux:
Bindplane エージェントを再起動して変更を適用する
Linux で Bindplane エージェントを再起動するには、次のコマンドを実行します。
sudo systemctl restart observiq-otel-collectorサービスが実行されていることを確認します。
sudo systemctl status observiq-otel-collectorログでエラーを確認します。
sudo journalctl -u observiq-otel-collector -f
Windows で Bindplane エージェントを再起動するには、次のいずれかのオプションを選択します。
管理者としてコマンド プロンプトまたは PowerShell を開きます。
net stop observiq-otel-collector && net start observiq-otel-collectorサービス コンソール:
Win+Rキーを押して「services.msc」と入力し、Enter キーを押します。- observIQ OpenTelemetry Collector を見つけます。
- 右クリックして [再起動] を選択します。
サービスが実行されていることを確認します。
sc query observiq-otel-collectorログでエラーを確認します。
type "C:\Program Files\observIQ OpenTelemetry Collector\log\collector.log"
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 |
Key-Value データの Acting Object SAM Account Name フィールドの値。 |
Device hostname |
target.hostname |
Key-Value データの Device hostname フィールドの値。 |
Device IP address |
target.ip |
Key-Value データの 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 |
Key-Value データの Path フィールドの値。 |
Rule Description |
metadata.description |
Key-Value データの Rule Description フィールドの値。 |
Rule ID |
security_result.rule_id |
Key-Value データの Rule ID フィールドの値。 |
Rule Name |
security_result.rule_name |
Key-Value データの 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 のプロフェッショナルから回答を得ることができます。