ArcSight CEF ログを収集する
パーサーのバージョン: 34.0
このドキュメントでは、Bindplane エージェントを使用して ArcSight CEF ログを Google Security Operations に取り込む方法について説明します。
ArcSight(現在は OpenText の一部)は、複数のソースからのセキュリティ イベントを正規化するために Common Event Format(CEF)を使用します。ArcSight SmartConnector はイベントを収集し、syslog 経由で CEF 形式で SIEM プラットフォームなどのダウンストリーム コンシューマーに転送します。
始める前に
次の前提条件を満たしていることを確認してください。
- Google SecOps インスタンス
- Windows Server 2016 以降、または
systemdを使用する Linux ホスト - Bindplane エージェントと ArcSight SmartConnector ホスト間のネットワーク接続
- プロキシの背後で実行している場合は、Bindplane エージェントの要件に従ってファイアウォール ポートが開いていることを確認します。
- OpenText サポート ポータルにアクセスして SmartConnector をダウンロードする
- SmartConnector サーバーに対する管理者権限
Google SecOps の取り込み認証ファイルを取得する
- 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インストールが完了するまで待ちます。
次のコマンドを実行して、インストールの内容を確認します。
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 /etc/bindplane-agent/config.yamlWindows:
notepad "C:\Program Files\observIQ OpenTelemetry Collector\config.yaml"
構成ファイルを編集します。
config.yamlの内容全体を次の構成に置き換えます。receivers: udplog: listen_address: "0.0.0.0:514" exporters: chronicle/arcsight_cef: compression: gzip creds_file_path: '/etc/bindplane-agent/ingestion-auth.json' customer_id: '<customer_id>' endpoint: malachiteingestion-pa.googleapis.com log_type: ARCSIGHT_CEF raw_log_field: body service: pipelines: logs/arcsight_to_chronicle: receivers: - udplog exporters: - chronicle/arcsight_cef
構成パラメータ
各プレースホルダを次のように置き換えます。
レシーバーの構成:
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"
ArcSight SmartConnector をダウンロードする
- OpenText サポート ポータルにログインします。
- 最新の ArcSight SmartConnector for Linux を検索してダウンロードします。
- ファイル名の例:
ArcSight-Connector-Linux64-8.4.0.8499.0.bin。
ArcSight SmartConnector をインストールする
.binファイルを SmartConnector サーバーにアップロードします。scp ArcSight-Connector-Linux64-8.4.0.8499.0.bin user@your-smartconnector-host:/tmpSSH を使用して SmartConnector サーバーにログインし、次のコマンドを実行します。
cd /tmp chmod +x ArcSight-Connector-Linux64-8.4.0.8499.0.bin ./ArcSight-Connector-Linux64-8.4.0.8499.0.binインタラクティブ インストーラの手順に沿って操作します。
- インストール ディレクトリを選択します(例:
/opt/arcsight/connectors/current)。 - ライセンスに同意します。
- プロンプトが表示されたら、[コネクタをインストール] を選択します。
- インストール ディレクトリを選択します(例:
CEF を syslog に送信するように ArcSight SmartConnector を構成する
SmartConnector ホストで、宛先ウィザードを起動します。
cd /opt/arcsight/connectors/current/bin ./arcsight connectorsウィザードで次の操作を行います。
- [宛先を追加] を選択します。
- [CEF Syslog] を選択します。
次の構成情報を提供してください。
- ホスト/IP: Bindplane エージェントの IP アドレスを入力します。
- ポート: Bindplane エージェントのポート番号(例:
514)を入力します。 - プロトコル: [UDP] を選択します。
セットアップを完了して、コネクタを再起動します。
./arcsight agents接続のチェックを実行します(
Successfully connected to syslog: X.X.X.X:514を探します)。tail -f /opt/arcsight/connectors/current/logs/agent.log
UDM マッピング テーブル
| ログフィールド | UDM マッピング | 論理 |
|---|---|---|
| act | security_result.action_details | act フィールドから直接マッピングされます。 |
| agt | principal.ip | agt フィールドから直接マッピングされます。 |
| agt | principal.asset.ip | agt フィールドから直接マッピングされます。 |
| アプリ | network.application_protocol | app フィールドから直接マッピングされます。 |
| アート | metadata.event_timestamp.seconds | art フィールドから直接マッピングされます。 |
| cs2 | additional.fields.value.string_value | cs2Label が EventlogCategory の場合、cs2 フィールドから直接マッピングされます。 |
| cs2Label | additional.fields.key | 値が EventlogCategory の場合、cs2Label フィールドから直接マッピングされます。 |
| cs3 | additional.fields.value.string_value | cs3Label が Process ID の場合、cs3 フィールドから直接マッピングされます。 |
| cs3Label | additional.fields.key | 値が Process ID の場合、cs3Label フィールドから直接マッピングされます。 |
| cs5 | additional.fields.value.string_value | cs5Label が Authentication Package Name の場合、cs5 フィールドから直接マッピングされます。 |
| cs5Label | additional.fields.key | 値が Authentication Package Name の場合、cs5Label フィールドから直接マッピングされます。 |
| cs6 | additional.fields.value.string_value | cs6Label が Logon GUID の場合、cs6 フィールドから直接マッピングされます。 |
| cs6Label | additional.fields.key | 値が Logon GUID の場合、cs6Label フィールドから直接マッピングされます。 |
| dhost | about.hostname | dhost フィールドから直接マッピングされます。 |
| dhost | target.hostname | dhost フィールドから直接マッピングされます。 |
| dntdom | about.administrative_domain | dntdom フィールドから直接マッピングされます。 |
| dntdom | target.administrative_domain | dntdom フィールドから直接マッピングされます。 |
| dproc | about.process.command_line | dproc フィールドから直接マッピングされます。 |
| dproc | target.process.command_line | dproc フィールドから直接マッピングされます。 |
| dst | principal.ip | dst フィールドから直接マッピングされます。 |
| dst | principal.asset.ip | dst フィールドから直接マッピングされます。 |
| dst | target.ip | dst フィールドから直接マッピングされます。 |
| duid | target.user.userid | duid フィールドから直接マッピングされます。 |
| duser | target.user.user_display_name | duser フィールドから直接マッピングされます。 |
| dvc | about.ip | dvc フィールドから直接マッピングされます。 |
| dvchost | about.hostname | dvchost フィールドから直接マッピングされます。 |
| eventId | additional.fields.value.string_value | eventId フィールドから直接マッピングされます。 |
| externalId | metadata.product_log_id | externalId フィールドから直接マッピングされます。 |
| fname | additional.fields.value.string_value | fname フィールドから直接マッピングされます。 |
| msg | metadata.description | msg フィールドから直接マッピングされます。 |
| proto | network.ip_protocol | proto フィールドから直接マッピングされます。プロトコル名をそれぞれの定数に変換します(例: tcp を TCP に変換)。 |
| rt | metadata.event_timestamp.seconds | rt フィールドから直接マッピングされます。 |
| shost | about.hostname | shost フィールドから直接マッピングされます。 |
| shost | principal.hostname | shost フィールドから直接マッピングされます。 |
| src | principal.ip | src フィールドから直接マッピングされます。 |
| src | principal.asset.ip | src フィールドから直接マッピングされます。 |
| src | target.ip | src フィールドから直接マッピングされます。 |
| sproc | principal.process.command_line | sproc フィールドから直接マッピングされます。 |
| spt | principal.port | spt フィールドから直接マッピングされます。 |
| spt | target.port | spt フィールドから直接マッピングされます。 |
| additional.EventRecordID | additional.fields.value.string_value | ad.EventRecordID フィールドから直接マッピングされます。 |
| additional.ThreadID | additional.fields.value.string_value | ad.ThreadID フィールドから直接マッピングされます。 |
| additional.Opcode | additional.fields.value.string_value | ad.Opcode フィールドから直接マッピングされます。 |
| additional.ProcessID | additional.fields.value.string_value | ad.ProcessID フィールドから直接マッピングされます。 |
| additional.TargetDomainName | additional.fields.value.string_value | ad.TargetDomainName フィールドから直接マッピングされます。 |
| additional.Version | additional.fields.value.string_value | ad.Version フィールドから直接マッピングされます。 |
| deviceExternalId | about.asset.hardware.serial_number | deviceExternalId フィールドから直接マッピングされます。 |
| deviceInboundInterface | additional.fields.value.string_value | deviceInboundInterface フィールドから直接マッピングされます。 |
| deviceOutboundInterface | additional.fields.value.string_value | deviceOutboundInterface フィールドから直接マッピングされます。 |
| PanOSConfigVersion | security_result.detection_fields.value | PanOSConfigVersion フィールドから直接マッピングされます。 |
| PanOSContentVersion | security_result.detection_fields.value | PanOSContentVersion フィールドから直接マッピングされます。 |
| PanOSDGHierarchyLevel1 | security_result.detection_fields.value | PanOSDGHierarchyLevel1 フィールドから直接マッピングされます。 |
| PanOSDestinationLocation | target.location.country_or_region | PanOSDestinationLocation フィールドから直接マッピングされます。 |
| PanOSRuleUUID | metadata.product_log_id | PanOSRuleUUID フィールドから直接マッピングされます。 |
| PanOSThreatCategory | security_result.category_details | PanOSThreatCategory フィールドから直接マッピングされます。 |
| PanOSThreatID | security_result.threat_id | PanOSThreatID フィールドから直接マッピングされます。 |
| about.asset.asset_id | Palo Alto Networks.、ベンダー名(LF)、deviceExternalId フィールドを連結して生成されます。 |
|
| extensions.auth.type | event_name フィールドに logged on が含まれている場合、AUTHTYPE_UNSPECIFIED に設定します。 |
|
| metadata.description | description フィールドに by と IP アドレスが含まれている場合、IP アドレスが抽出され、principal.ip と principal.asset.ip にマッピングされます。 |
|
| metadata.event_type | event_name、principal_*、target_*、device_event_class_id などのさまざまなフィールドに対する一連の条件チェックに基づいて決定されます。このロジックは、利用可能な情報に基づいて最も適切なイベントタイプを判断します。 |
|
| metadata.log_type | ARCSIGHT_CEF に設定します。 |
|
| metadata.product_event_type | \[, the device_event_class_id field, \] - と name フィールドを連結して生成されます。 |
|
| metadata.product_name | product_name フィールドが LF の場合、NGFW に設定します。 |
|
| principal.asset.ip | description フィールドに by と IP アドレスが含まれている場合、IP アドレスが抽出され、principal.ip と principal.asset.ip にマッピングされます。 |
|
| principal.ip | description フィールドに by と IP アドレスが含まれている場合、IP アドレスが抽出され、principal.ip と principal.asset.ip にマッピングされます。 |
|
| security_result.action | act フィールドが alert の場合は ALLOW に設定し、それ以外の場合は BLOCK に設定します。 |
|
| security_result.severity | sev フィールドが 7 以上の場合は HIGH に設定し、それ以外の場合は LOW に設定します。 |
|
PanOSFileType |
event.idm.read_only_udm.target.file.mime_type |
変更履歴からマッピング |
PanOSEmailSubject |
event.idm.read_only_udm.network.email.subject |
変更履歴からマッピング |
PanOSNSSAINetworkSliceType |
event.idm.read_only_udm.additional.fields |
変更履歴からマッピング |
PanOSURLCounter |
event.idm.read_only_udm.additional.fields |
変更履歴からマッピング |
PanOSReportID |
event.idm.read_only_udm.additional.fields |
変更履歴からマッピング |
PanOSDGHierarchyLevel2 |
event.idm.read_only_udm.additional.fields |
変更履歴からマッピング |
PanOSVirtualSystemName |
event.idm.read_only_udm.additional.fields |
変更履歴からマッピング |
PanOSSigFlags |
event.idm.read_only_udm.additional.fields |
変更履歴からマッピング |
PanOSPartialHash |
event.idm.read_only_udm.additional.fields |
変更履歴からマッピング |
version |
event.idm.read_only_udm.additional.fields |
変更履歴からマッピング |
cn3 |
network.duration.seconds |
変更履歴からマッピング |
PanOSTenantID |
additional.fields |
変更履歴からマッピング |
cn3 |
additional.fields |
変更履歴からマッピング |
PanOSCortexDataLakeTenantID |
additional.fields |
変更履歴からマッピング |
target_user |
target.user.userid |
変更履歴からマッピング |
principal_ip |
principal.ip |
変更履歴からマッピング |
PanOSStage", "PanOSConnectionError", and "PanOSEventDetails |
additional.fields |
変更履歴からマッピング |
outcome |
security_result.action_details |
変更履歴からマッピング |
PanOSDescription |
metadata.description |
変更履歴からマッピング |
PanOSSourceUser |
principal.user.userid |
変更履歴からマッピング |
app |
target.application |
変更履歴からマッピング |
flexString2", "PanOSFileHash", and "filePath |
additional.fields |
変更履歴からマッピング |
threat_name |
security_result.threat_name |
変更履歴からマッピング |
principal_ip1 |
principal.ip |
変更履歴からマッピング |
metadata.event_type |
NETWORK_CONNECTION |
変更履歴からマッピング |
deviceOutboundInterface", "deviceInboundInterface |
additional.fields |
変更履歴からマッピング |
query |
additional fields |
変更履歴からマッピング |
変更ログ
さらにサポートが必要な場合 コミュニティ メンバーや Google SecOps のプロフェッショナルから回答を得ることができます。