Symantec Endpoint Protection のログを収集する
このドキュメントでは、Bindplane を使用して Symantec Endpoint Protection ログを Google Security Operations に取り込む方法について説明します。パーサーは SYSLOG 形式または KV 形式のログを処理し、まずログデータ内のさまざまな形式からタイムスタンプを抽出します。次に、別の構成ファイル(sep_pt2.include
)を使用してログイベントの解析と構造化をさらに行い、最初のタイムスタンプ抽出が成功した場合にのみ処理が成功するようにします。
始める前に
次の前提条件を満たしていることを確認します。
- Google SecOps インスタンス
- Windows 2016 以降、または systemd を使用する Linux ホスト
- プロキシの背後で実行されている場合、ファイアウォール ポートが開いている
- Symantec Endpoint Protection プラットフォームへの特権アクセス
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: 'CES' 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-agent
Windows で Bindplane エージェントを再起動するには、Services コンソールを使用するか、次のコマンドを入力します。
net stop BindPlaneAgent && net start BindPlaneAgent
Symantec Endpoint Protection で Syslog を構成する
- Symantec Endpoint Protection Manager ウェブ UI にログインします。
- [管理] アイコンをクリックします。
- [View Servers] セクションを見つけて、[Servers] をクリックします。
- [Local Site>Configure External Logging] をクリックします。
- [Enable Transmission of Logs to a Syslog Server] チェックボックスをオンにします。
- 次の構成の詳細を指定します。
- Syslog サーバー: Bindplane の IP アドレスを入力します。
- UDP 宛先ポート: Bindplane ポート番号を入力します(例: UDP の場合は
514
)。 - ログ ファシリティ: 「Local6」と入力します。
- [監査ログ] チェックボックスをオンにします。
- [セキュリティ ログ] チェックボックスをオンにします。
- [リスク] チェックボックスをオンにします。
- [OK] をクリックします。
UDM マッピング テーブル
ログフィールド | UDM マッピング | ロジック |
---|---|---|
アクション | security_result.action | この値は、未加工ログの Action フィールドから取得され、UDM アクションにマッピングされます。 |
アクションの種類 | security_result.action_details | この値は、未加工ログの Action Type フィールドから取得されます。 |
管理者 | ||
許可されたアプリケーションの理由 | security_result.action_details | この値は、未加工ログの Allowed application reason フィールドから取得されます。 |
アプリケーション | principal.process.command_line | この値は、未加工ログの Application フィールドから取得されます。 |
アプリケーション ハッシュ | target.file.sha256 | この値は、未加工ログの Application hash フィールドから取得されます。 |
アプリケーション名 | target.application | この値は、未加工ログの Application name フィールドから取得されます。 |
アプリケーションの種類 | target.resource.attribute.labels.value | この値は、未加工ログの Application type フィールドから取得されます。キーは Application Type にハードコードされています。 |
アプリケーションのバージョン | target.application.version | この値は、未加工ログの Application version フィールドから取得されます。 |
開始 | ||
開始時刻 | extensions.vulns.vulnerabilities.scan_start_time | この値は、未加工ログの Begin Time フィールドから取得されます。 |
開始: | extensions.vulns.vulnerabilities.scan_start_time | この値は、未加工ログの Begin: フィールドから取得されます。 |
カテゴリ | principal.resource.attribute.labels.value | この値は、未加工ログの Category フィールドから取得されます。キーは Category にハードコードされています。 |
カテゴリ セット | security_result.category | この値は、未加工ログの Category set フィールドから取得され、UDM カテゴリにマッピングされます。 |
カテゴリタイプ | security_result.category_details | この値は、未加工ログの Category type フィールドから取得されます。 |
CIDS シグネチャ ID | ||
CIDS シグネチャ文字列 | security_result.summary | この値は、未加工ログの CIDS Signature string フィールドから取得されます。 |
CIDS シグネチャのサブ ID | ||
クライアント ポリシー | ||
コマンド | ||
パソコン | target.hostname | この値は、未加工ログの Computer フィールドから取得されます。 |
コンピュータ名 | principal.hostname | この値は、未加工ログの Computer name フィールドから取得されます。 |
信頼度 | security_result.confidence_details | この値は、未加工ログの Confidence フィールドから取得されます。 |
データ | ||
説明 | security_result.action_details | この値は、未加工ログの Description フィールドから取得されます。 |
説明: | security_result.action_details | この値は、未加工ログの Description: フィールドから取得されます。 |
検出スコア | ||
検出の送信: いいえ | ||
検出タイプ | security_result.summary | この値は、未加工ログの Detection type フィールドから取得されます。 |
デバイス ID | target.asset.hostname | この値は、未加工ログの Device ID フィールドから取得されます。 |
処理 | security_result.action | この値は、未加工ログの Disposition フィールドから取得され、UDM アクションにマッピングされます。 |
ドメイン | principal.administrative_domain | この値は、未加工ログの Domain フィールドから取得されます。 |
ドメイン名 | principal.administrative_domain | この値は、未加工ログの Domain Name フィールドから取得されます。 |
Domain Name: | principal.administrative_domain | この値は、未加工ログの Domain Name: フィールドから取得されます。 |
ダウンロードしたユーザー | principal.process.file.full_path | この値は、未加工ログの Downloaded by フィールドから取得されます。 |
ダウンロード サイト | ||
期間(秒) | extensions.vulns.vulnerabilities.scan_end_time | この値は、未加工ログの Duration (seconds) フィールドから取得され、スキャンの開始時刻に追加されます。 |
終了 | ||
終了時刻 | extensions.vulns.vulnerabilities.scan_end_time | この値は、未加工ログの End Time フィールドから取得されます。 |
終了時間: | extensions.vulns.vulnerabilities.scan_end_time | この値は、未加工ログの End Time: フィールドから取得されます。 |
終了: | extensions.vulns.vulnerabilities.scan_end_time | この値は、未加工ログの End: フィールドから取得されます。 |
イベントの説明 | metadata.description | この値は、未加工ログの Event Description フィールドから取得されます。 |
イベントの説明: | metadata.description | この値は、未加工ログの Event Description: フィールドから取得されます。 |
イベントの挿入時間 | ||
イベント時間 | metadata.event_timestamp | この値は、未加工ログの Event time フィールドから取得されます。 |
イベントの時間: | metadata.event_timestamp | この値は、未加工ログの Event time: フィールドから取得されます。 |
イベントタイプ | metadata.product_event_type | この値は、未加工ログの Event Type フィールドから取得されます。 |
イベント タイプ: | metadata.product_event_type | この値は、未加工ログの Event Type: フィールドから取得されます。 |
ファイルパス | target.file.full_path | この値は、未加工ログの File path フィールドから取得されます。 |
ファイルパス: | target.file.full_path | この値は、未加工ログの File path: フィールドから取得されます。 |
ファイルサイズ(バイト) | target.file.size | この値は、未加工ログの File size (bytes) フィールドから取得されます。 |
初回検知 | security_result.action_details | この値は、未加工ログの First Seen フィールドから取得されます。 |
初回表示日: | security_result.action_details | この値は、未加工ログの First Seen: フィールドから取得されます。 |
グループ | principal.group.group_display_name | この値は、未加工ログの Group フィールドから取得されます。 |
グループ名 | principal.group.group_display_name | この値は、未加工ログの Group Name フィールドから取得されます。 |
グループ名: | principal.group.group_display_name | この値は、未加工ログの Group Name: フィールドから取得されます。 |
ハッシュタイプ | target.resource.attribute.labels.value | この値は、未加工ログの Hash type フィールドから取得されます。キーは Hash Type にハードコードされています。 |
厳重な保護レベル | ||
侵入 ID | ||
侵入ペイロード URL | ||
侵入 URL | ||
IP アドレス | principal.ip | この値は、未加工ログの IP Address フィールドから取得されます。 |
IP アドレス: | principal.ip | この値は、未加工ログの IP Address: フィールドから取得されます。 |
最終更新時刻 | ||
ローカルホスト | principal.ip | この値は、未加工ログの Local Host フィールドから取得されます。 |
ローカルホストの IP | principal.ip | この値は、未加工ログの Local Host IP フィールドから取得されます。 |
ローカルホストの MAC アドレス | principal.mac | この値は、未加工ログの Local Host MAC フィールドから取得されます。 |
ローカルポート | principal.port | この値は、未加工ログの Local Port フィールドから取得されます。 |
場所 | ||
MD-5 | ||
発生回数 | security_result.about.resource.attribute.labels.value | この値は、未加工ログの Occurrences フィールドから取得されます。キーは Occurrences にハードコードされています。 |
許可された申請理由 | security_result.action_details | この値は、未加工ログの Permitted application reason フィールドから取得されます。 |
普及率 | security_result.description | この値は、未加工ログの Prevalence フィールドから取得されます。 |
リモートパス | target.file.full_path | この値は、未加工ログの Remote file path フィールドから取得されます。 |
リモートホストの IP | target.ip | この値は、未加工ログの Remote Host IP フィールドから取得されます。 |
リモートホストの MAC アドレス | target.mac | この値は、未加工ログの Remote Host MAC フィールドから取得されます。 |
リモートホスト名 | target.hostname | この値は、未加工ログの Remote Host Name フィールドから取得されます。 |
リモートポート | target.port | この値は、未加工ログの Remote Port フィールドから取得されます。 |
リクエストされたアクション | security_result.action | この値は、未加工ログの Requested action フィールドから取得され、UDM アクションにマッピングされます。 |
リスクレベル | security_result.severity | この値は、未加工ログの Risk Level フィールドから取得され、UDM の重大度にマッピングされます。 |
リスク名 | security_result.threat_name | この値は、未加工ログの Risk name フィールドから取得されます。 |
リスクの種類 | security_result.detection_fields.value | この値は、未加工ログの Risk type フィールドから取得されます。キーは Risk Type にハードコードされています。 |
ルール | principal.resource.name | この値は、未加工ログの Rule フィールドから取得されます。 |
ルール: | principal.resource.name | この値は、未加工ログの Rule: フィールドから取得されます。 |
スキャン ID | extensions.vulns.vulnerabilities.name | この値は、未加工ログの Scan ID フィールドから取得されます。 |
スキャン ID: | extensions.vulns.vulnerabilities.name | この値は、未加工ログの Scan ID: フィールドから取得されます。 |
Scan Type | ||
サブアクション | target.resource.attribute.labels.value | この値は、未加工ログの Secondary action フィールドから取得されます。キーは Secondary action にハードコードされています。 |
セキュリティ上のリスクが検出されました | metadata.description | この値は、未加工ログの Security risk found フィールドから取得されます。 |
サーバー | intermediary.hostname | この値は、未加工ログの Server フィールドから取得されます。 |
サーバー名 | intermediary.hostname | この値は、未加工ログの Server Name フィールドから取得されます。 |
サーバー名: | intermediary.hostname | この値は、未加工ログの Server Name: フィールドから取得されます。 |
SHA-256 | principal.process.file.sha256 | この値は、未加工ログの SHA-256 フィールドから取得されます。 |
サイト | additional.fields.value.string_value | この値は、未加工ログの Site フィールドから取得されます。キーは Site Name にハードコードされています。 |
サイト名 | additional.fields.value.string_value | この値は、未加工ログの Site Name フィールドから取得されます。キーは Site Name にハードコードされています。 |
サイト: | additional.fields.value.string_value | この値は、未加工ログの Site: フィールドから取得されます。キーは Site Name にハードコードされています。 |
ソース | metadata.product_event_type | この値は、未加工ログの Source フィールドから取得され、ハードコードされた文字列 Security risk found - に追加されます。 |
移行元のコンピュータ | ||
ソース コンピュータ: | ||
ソース IP | ||
送信元 IP: | ||
出典: | metadata.product_event_type | この値は、未加工ログの Source: フィールドから取得され、ハードコードされた文字列 Security risk found - に追加されます。 |
ts | metadata.event_timestamp | この値は、未加工ログの ts フィールドから取得されます。 |
URL トラッキングのステータス | ||
ユーザー | principal.user.userid | この値は、未加工ログの User フィールドから取得されます。 |
ユーザー名 | principal.user.userid | この値は、未加工ログの User Name フィールドから取得されます。 |
ユーザー名: | principal.user.userid | この値は、未加工ログの User Name: フィールドから取得されます。 |
ウェブドメイン | ||
metadata.description | 未加工ログに文字列 The client has downloaded が含まれている場合、説明は The client has downloaded {target file name} に設定されます。未加工ログに文字列 The management server received が含まれている場合、説明は The management server received the client log successfully に設定されます。それ以外の場合、説明は未加工ログの Event Description フィールドの値に設定されます。 |
|
metadata.event_type | イベントタイプは、未加工のログの内容に基づいてパーサー ロジックによって決定されます。 | |
metadata.log_type | ログタイプは SEP にハードコードされています。 |
|
metadata.product_name | プロダクト名は SEP にハードコードされています。 |
|
metadata.vendor_name | ベンダー名は Symantec にハードコードされています。 |
さらにサポートが必要な場合 コミュニティ メンバーや Google SecOps のプロフェッショナルから回答を得ることができます。