ArcSight CEF ログを収集する
このドキュメントでは、Bindplane を使用して ArcSight CEF(Common Event Format)ログを Google Security Operations に取り込む方法について説明します。パーサーは、未加工データを構造化された Unified Data Model(UDM)形式に変換します。CEF ヘッダーと拡張機能からフィールドを抽出し、UDM フィールドにマッピングします。また、抽出された情報に基づいて、ユーザー ログイン、ネットワーク接続、リソース アクセスなどのイベントを分類する特定のロジックを実行します。
始める前に
次の前提条件を満たしていることを確認してください。
- Google SecOps インスタンス
- Windows 2016 以降、または
systemdを使用する Linux ホスト - プロキシの背後で実行されている場合、ファイアウォール ポートが開いている
- Bindplane エージェントにネットワーク アクセスできるホストにインストールされた ArcSight SmartConnector 8.4(以降)
- OpenText ポータルへの特権アクセス
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
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_file_path: '/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 log_type: 'ARCSIGHT_CEF' raw_log_field: body ingestion_labels: 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
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 host] で、宛先ウィザードを起動します。
cd /opt/arcsight/connectors/current/bin ./arcsight connectorsウィザードで次の操作を行います。
- [目的地を追加] を選択します。
- [CEF Syslog] を選択します。
次の構成情報を提供してください。
- ホスト/IP: Bindplane エージェントの IP アドレスを入力します。
- ポート: Bindplane エージェントのポート番号を入力します。
- Protocol: [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 に設定します。 |
さらにサポートが必要な場合 コミュニティ メンバーや Google SecOps のプロフェッショナルから回答を得ることができます。