Windows Defender ウイルス対策のログを収集する
このドキュメントでは、Bindplane を使用して Windows Defender Antivirus ログを Google Security Operations に取り込む方法について説明します。
Windows Defender ウイルス対策は、Microsoft Windows に組み込まれているマルウェア対策エンジンです。リアルタイムの脅威検出、スキャン結果、保護イベントログを提供します。Bindplane エージェントは、エクスポートされた Windows Defender イベントログ ファイルをローカル ファイル システムから直接収集します。
始める前に
次の前提条件を満たしていることを確認してください。
- Google SecOps インスタンス
observiq-otel-collectorサービスをサポートする Windows Server 2016 以降- プロキシの背後で実行している場合は、Bindplane エージェントの要件に従ってファイアウォール ポートが開いていることを確認します
- Windows Defender ウイルス対策を実行している Windows エンドポイントへの管理者アクセス
Google SecOps の取り込み認証ファイルを取得する
- Google SecOps コンソールにログインします。
- [SIEM 設定] > [コレクション エージェント] に移動します。
取り込み認証ファイル をダウンロードします。Bindplane をインストールするシステムにファイルを安全に保存します。
Google SecOps のお客様 ID を取得する
- Google SecOps コンソールにログインします。
- [SIEM 設定] > [プロファイル] に移動します。
[組織の詳細情報] セクションから [お客様 ID] をコピーして保存します。
Bindplane エージェントをインストールする
次の手順に沿って、Windows オペレーティング システムに 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 と表示されます。
その他のインストール リソース
その他のインストール オプションとトラブルシューティングについては、Bindplane エージェントのインストール ガイドをご覧ください。
ログを取り込んで Google SecOps に送信するように Bindplane エージェントを構成する
構成ファイルを探す
Windows:
notepad "C:\Program Files\observIQ OpenTelemetry Collector\config.yaml"
構成ファイルを編集します。
config.yamlの内容全体を次の構成に置き換えます。receivers: filelog: include: - C:\Logs\defender-av\*.evtx start_at: beginning exporters: chronicle/windows_defender_av: compression: gzip creds_file_path: 'C:\Program Files\observIQ OpenTelemetry Collector\ingestion-auth.json' customer_id: '<customer_id>' endpoint: malachiteingestion-pa.googleapis.com log_type: WINDOWS_DEFENDER_AV raw_log_field: body ingestion_labels: env: production service: pipelines: logs/defender_av_to_chronicle: receivers: - filelog exporters: - chronicle/windows_defender_av
構成パラメータ
各プレースホルダを次のように置き換えます。
レシーバーの構成:
filelog: ディスクからログファイルを収集するためのレシーバー タイプinclude: モニタリングするファイルパスのリスト。Windows Defender イベントログをエクスポートする場所(C:\Logs\defender-av\*.evtxなど)に設定します。start_at: 既存のログを読み取る場合はbeginning、新しいエントリのみを読み取る場合はendに設定します。
エクスポータの構成:
windows_defender_av: エクスポータのわかりやすい名前creds_file_path: 取り込み認証ファイルのフルパス:- Windows:
C:\Program Files\observIQ OpenTelemetry Collector\ingestion-auth.json
- Windows:
<customer_id>: 前の手順の顧客 IDendpoint: リージョン エンドポイント URL:- 米国:
malachiteingestion-pa.googleapis.com - ヨーロッパ:
europe-malachiteingestion-pa.googleapis.com - アジア:
asia-southeast1-malachiteingestion-pa.googleapis.com - 完全なリストについては、リージョン エンドポイントをご覧ください。
- 米国:
WINDOWS_DEFENDER_AV: Chronicle に表示されるログタイプingestion_labels: YAML 形式の省略可能なラベル(例:env: production)
パイプラインの構成:
defender_av_to_chronicle: パイプラインのわかりやすい名前
構成ファイルを保存する
- 編集後、ファイルを保存します。
- Windows: [ファイル> 保存] をクリックします。
Bindplane エージェントを再起動して変更を適用する
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"
Windows Defender ウイルス対策のログ エクスポートを構成する
Windows Defender ウイルス対策のログは、Windows イベントログの Microsoft-Windows-Windows Defender/Operational に保存されます。Bindplane エージェントが収集できるように、これらのログをディスク上のファイルにエクスポートする必要があります。
エクスポートされたログファイルを保存するディレクトリを作成します。
mkdir C:\Logs\defender-avwevtutilを使用して Windows Defender ウイルス対策のイベントログをエクスポートします。wevtutil epl "Microsoft-Windows-Windows Defender/Operational" C:\Logs\defender-av\defender-av.evtx(省略可)Windows タスク スケジューラを使用して定期的なエクスポートをスケジュール設定します。
$action = New-ScheduledTaskAction -Execute "wevtutil" -Argument 'epl "Microsoft-Windows-Windows Defender/Operational" C:\Logs\defender-av\defender-av.evtx /ow:true' $trigger = New-ScheduledTaskTrigger -RepetitionInterval (New-TimeSpan -Hours 1) -Once -At (Get-Date) Register-ScheduledTask -Action $action -Trigger $trigger -TaskName "ExportDefenderLogs" -Description "Export Windows Defender AV logs for Bindplane agent"エクスポートされたログファイルが `C:\Logs\defender-av` に作成されていることを確認します。
config.yamlの Bindplane エージェントincludeパスがエクスポート ディレクトリと一致していることを確認します。
UDM マッピング テーブル
| ログフィールド | UDM マッピング | ロジック |
|---|---|---|
| OpcodeValue、ThreadID、Channel、engine_version、security_intelligence_version、network_realtime_inspection_engine_version、network_realtime_inspection_security_intelligence_version、rtp_state、oa_state、ioav_state、bm_state、antivirus_security_intelligence_age、antispyware_security_intelligence_age、last_quick_scan_age、last_full_scan_age、antivirus_security_intelligence_creation_time、antispyware_security_intelligence_creation_time、last_quick_scan_start_time、last_quick_scan_end_time、last_quick_scan_source、last_full_scan_start_time、last_full_scan_end_time、last_full_scan_source、product_status | additional.fields | 空でない場合は、ラベルマップ {key: フィールド名, value: {string_value: フィールド値}} と統合されます |
| metadata.description | EventID に基づいてイベント固有の説明文字列に設定 | |
| metadata.event_type | has_principal が true の場合は「SCAN_HOST」、それ以外の場合は「GENERIC_EVENT」に設定します。EventID が 1011、1116、1117 の場合は「SCAN_FILE」に設定します。 | |
| ProviderGuid | metadata.product_deployment_id | {} を削除した後の ProviderGuid の値 |
| metadata.product_event_type | EventID に基づいてイベント固有のプロダクト イベントタイプ文字列に設定 | |
| RecordNumber | metadata.product_log_id | 文字列として直接コピーされた値 |
| platform_version | metadata.product_version | 値を直接コピー |
| FWLink | metadata.url_back_to_product | 値を直接コピー |
| metadata.vendor_name | 「Microsoft」に設定 | |
| metadata.product_name | 「Windows Defender AV」に設定 | |
| SourceModuleType | observer.application | 値を直接コピー |
| Domain、_domain | principal.administrative_domain | EventID 1116、1117 の grok を使用して検出ユーザーから抽出されたドメインまたは _domain の値 |
| ホスト名 | principal.hostname | 値を直接コピー |
| プロセス名 | principal.process.file.full_path | EventID 1116、1117 の値が直接コピーされる |
| ProcessID | principal.process.pid | 値を直接コピー |
| SourceModuleName | principal.resource.name | 値を直接コピー |
| AccountType | principal.user.role_description | 値を直接コピー |
| AccountName | principal.user.user_display_name | 値を直接コピー |
| User、UserID、_account | principal.user.userid | User からの値。空でない場合は UserID。空の場合は、EventID 1116、1117 の grok を使用して Detection User から抽出された _account |
| SourceName | security_result.about.resource.attribute.labels | 空でない場合は、ラベルマップ {key: "SourceName", value: SourceName} と統合されます |
| security_result.action | デフォルトでは「ALLOW」に設定されます。EventID 1116 の場合は「BLOCK」、EventID 1117 の場合は「QUARANTINE」に設定されます。 | |
| security_result.category | EventID 1011、1116、1117 の場合は「SOFTWARE_MALICIOUS」に設定 | |
| ActivityID | security_result.detection_fields | ActivityID が空ではなく、かつ「-」でない場合は、detection_fields {key: "Activity ID", value: ActivityID} と統合されます。 |
| EventID | security_result.description | 「EventID: %{EventID}」に設定 |
| 脅威名 | security_result.rule_name | EventID 1011、1116、1117 の値が直接コピーされる |
| Severity、Level、EventType | security_result.severity | 重大度が verbose|information|info の場合は LOW、warning|error の場合は MEDIUM、critical の場合は HIGH に設定します。重大度は Level(5|4 -> information、2|3 -> warning、1 -> critical)または EventType(ERROR -> %{severity}、INFO -> "INFORMATIONAL"、それ以外の場合は severity_details)から設定されます。 |
| 重大度名、重大度 | security_result.severity_details | EventID 1011、1116、1117 の重大度名、または ERROR または INFO 以外の EventType の重大度からの値 |
| 脅威名 | security_result.summary | EventID 1011、1116、1117 の値が直接コピーされる |
| カテゴリ名 | security_result.threat_name | EventID 1011、1116、1117 の値が直接コピーされる |
| FWLink | security_result.url_back_to_product | EventID 1011、1116、1117 の値が直接コピーされる |
| パス | target.file.full_path | EventID 1116、1117 の値が直接コピーされる |
| target.hostname | EventID 1117 の場合は "" に設定されます | |
| パス | target.registry.registry_key | EventID 1011 の値が直接コピーされました |
EventRecordID |
event.idm.read_only_udm.metadata.product_log_id |
変更履歴からマッピング |
Product Version |
event.idm.read_only_udm.metadata.product_version |
変更履歴からマッピング |
ProviderGuid |
event.idm.read_only_udm.metadata.product_deployment_id |
変更履歴からマッピング |
Hostname |
event.idm.read_only_udm.principal.asset.hostname |
変更履歴からマッピング |
xmlns |
event.idm.read_only_udm.principal.url |
変更履歴からマッピング |
Threat Resource Path |
event.idm.read_only_udm.target.file.full_path |
変更履歴からマッピング |
Hashes |
event.idm.read_only_udm.target.file.sha1 |
変更履歴からマッピング |
RenderingInfoLevel |
event.idm.read_only_udm.security_result.severity_details |
変更履歴からマッピング |
Action Name |
event.idm.read_only_udm.security_result.action_details |
変更履歴からマッピング |
Detection Time |
event.idm.read_only_udm.security_result.first_discovered_time |
変更履歴からマッピング |
Threat ID |
event.idm.read_only_udm.security_result.threat_id |
変更履歴からマッピング |
Remediation User |
event.idm.read_only_udm.security_result.detection_fields |
変更履歴からマッピング |
Status Description |
event.idm.read_only_udm.security_result.detection_fields |
変更履歴からマッピング |
Action ID |
event.idm.read_only_udm.security_result.detection_fields |
変更履歴からマッピング |
Additional Actions ID |
event.idm.read_only_udm.security_result.detection_fields |
変更履歴からマッピング |
Additional Actions String |
event.idm.read_only_udm.security_result.detection_fields |
変更履歴からマッピング |
Category ID |
event.idm.read_only_udm.security_result.detection_fields |
変更履歴からマッピング |
Detection ID |
event.idm.read_only_udm.security_result.detection_fields |
変更履歴からマッピング |
Engine Version |
event.idm.read_only_udm.security_result.detection_fields |
変更履歴からマッピング |
Error Code |
event.idm.read_only_udm.security_result.detection_fields |
変更履歴からマッピング |
Error Description |
event.idm.read_only_udm.security_result.detection_fields |
変更履歴からマッピング |
Execution ID |
event.idm.read_only_udm.security_result.detection_fields |
変更履歴からマッピング |
Execution Name |
event.idm.read_only_udm.security_result.detection_fields |
変更履歴からマッピング |
Origin ID |
event.idm.read_only_udm.security_result.detection_fields |
変更履歴からマッピング |
Origin Name |
event.idm.read_only_udm.security_result.detection_fields |
変更履歴からマッピング |
Post Clean Status |
event.idm.read_only_udm.security_result.detection_fields |
変更履歴からマッピング |
Pre Execution Status |
event.idm.read_only_udm.security_result.detection_fields |
変更履歴からマッピング |
Security Intelligence Version |
event.idm.read_only_udm.security_result.detection_fields |
変更履歴からマッピング |
Severity ID |
event.idm.read_only_udm.security_result.detection_fields |
変更履歴からマッピング |
Source ID |
event.idm.read_only_udm.security_result.detection_fields |
変更履歴からマッピング |
State |
event.idm.read_only_udm.security_result.detection_fields |
変更履歴からマッピング |
Status Code |
event.idm.read_only_udm.security_result.detection_fields |
変更履歴からマッピング |
Type ID |
event.idm.read_only_udm.security_result.detection_fields |
変更履歴からマッピング |
Type Name |
event.idm.read_only_udm.security_result.detection_fields |
変更履歴からマッピング |
Level |
event.idm.read_only_udm.additional.fields |
変更履歴からマッピング |
Culture |
event.idm.read_only_udm.additional.fields |
変更履歴からマッピング |
Keywords |
event.idm.read_only_udm.additional.fields |
変更履歴からマッピング |
Opcode |
event.idm.read_only_udm.additional.fields |
変更履歴からマッピング |
Product Name |
event.idm.read_only_udm.additional.fields |
変更履歴からマッピング |
Provider Name |
event.idm.read_only_udm.additional.fields |
変更履歴からマッピング |
RenderingInfoMessage |
event.idm.read_only_udm.additional.fields |
変更履歴からマッピング |
Service |
event.idm.read_only_udm.additional.fields |
変更履歴からマッピング |
Task |
event.idm.read_only_udm.additional.fields |
変更履歴からマッピング |
Version |
event.idm.read_only_udm.additional.fields |
変更履歴からマッピング |
Security UserID |
event.idm.read_only_udm.additional.fields |
変更履歴からマッピング |
EventID |
event.idm.read_only_udm.security_result.summary |
変更履歴からマッピング |
変更履歴
さらにサポートが必要な場合 コミュニティ メンバーや Google SecOps のプロフェッショナルから回答を得ることができます。