Trend Micro Apex One のログを収集する
このドキュメントでは、Bindplane エージェントを使用して Trend Micro Apex One ログを Google Security Operations に取り込む方法について説明します。
Trend Micro Apex One は、マルウェア検出、侵入防止イベント、不審なファイル アクティビティ、ウェブ レピュテーションの判定、デバイス制御イベントの CEF 形式の syslog メッセージを生成するエンドポイント セキュリティ プラットフォームです。パーサーは、CEF 形式のログからフィールドを抽出し、Unified Data Model(UDM)にマッピングします。
始める前に
次の前提条件を満たしていることを確認してください。
- Google SecOps インスタンス
- Windows Server 2016 以降、または
systemdを使用する Linux ホスト - Bindplane エージェントと Trend Micro Apex Central サーバー間のネットワーク接続
- プロキシの背後で実行している場合は、Bindplane エージェントの要件に従ってファイアウォール ポートが開いていることを確認します
- Apex Central コンソールへの管理者権限
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サービスが [アクティブ(実行中)] と表示されます。
その他のインストール リソース
その他のインストール オプションとトラブルシューティングについては、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/trendmicro_apex_one: compression: gzip creds_file_path: '/etc/bindplane-agent/ingestion-auth.json' customer_id: '<customer_id>' endpoint: malachiteingestion-pa.googleapis.com log_type: TRENDMICRO_APEX_ONE raw_log_field: body service: pipelines: logs/trendmicro_apex_one_to_chronicle: receivers: - udplog exporters: - chronicle/trendmicro_apex_one
構成パラメータ
各プレースホルダを次のように置き換えます。
レシーバーの構成:
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"
Trend Micro Apex One で syslog 転送を構成する
- 管理者認証情報を使用して Apex Central コンソールにログインします。
- [Administration] > [Settings] > [Syslog Settings] に移動します。
- [Syslog 転送を有効にする] チェックボックスをオンにします。
- [Syslog サーバーの詳細] を構成します。
- サーバー アドレス: Bindplane エージェントの IP アドレスまたは FQDN を入力します。
- ポート: Bindplane エージェントのポート番号を入力します(例:
UDPの場合は514)。 - プロトコル: 伝送プロトコルとして [UDP] を選択します。
- 省略可: プロキシ設定を構成する - [SOCKS プロキシ サーバーを使用] をオンにします(プロキシ設定が [管理 > 設定 > プロキシ設定] で構成されていることを確認します)。
- ログ形式: [CEF] を選択します。
- 頻度: ログが Syslog サーバーに転送される頻度を定義します。
- ログタイプ: [セキュリティ ログ] と [商品情報] を選択します。
- [接続をテスト] をクリックして、Apex Central が Syslog サーバーと通信できることを確認します。
- [Save] をクリックして設定を適用します。
UDM マッピング テーブル
| ログフィールド | UDM マッピング | 論理 |
|---|---|---|
act |
security_result.action_details |
act フィールドから直接マッピングされます。 |
ApexCentralHost |
about.asset.asset_id |
asset_id 生成ロジックの一部として使用されます。deviceExternalId フィールドの先頭に「Trend Micro.Apex Central:」という値が付加されます。 |
app |
target.port |
app フィールドから直接マッピングされます。 |
cat |
security_result.category_details |
cat フィールドから直接マッピングされます。 |
cn1 |
additional.fields[4].value.string_value |
cn1 フィールドから直接マッピングされます。キーは cn1Label から導出されます。 |
cn1Label |
additional.fields[4].key |
cn1Label フィールドから直接マッピングされます。 |
cn2 |
additional.fields[6].value.string_value |
cn2 フィールドから直接マッピングされます。キーは cn2Label から導出されます。 |
cn2Label |
additional.fields[6].key |
cn2Label フィールドから直接マッピングされます。 |
cn3 |
additional.fields[2].value.string_value |
cn3 フィールドから直接マッピングされます。キーは cn3Label から導出されます。 |
cn3Label |
additional.fields[2].key |
cn3Label フィールドから直接マッピングされます。 |
cs1 |
additional.fields[0].value.string_value |
cs1 フィールドから直接マッピングされます。キーは cs1Label から導出されます。 |
cs1Label |
additional.fields[0].key |
cs1Label フィールドから直接マッピングされます。 |
cs2 |
additional.fields[1].value.string_value |
cs2 フィールドから直接マッピングされます。キーは cs2Label から導出されます。 |
cs2Label |
additional.fields[1].key |
cs2Label フィールドから直接マッピングされます。 |
cs3 |
additional.fields[5].value.string_value |
cs3 フィールドから直接マッピングされます。キーは cs3Label から導出されます。 |
cs3Label |
additional.fields[5].key |
cs3Label フィールドから直接マッピングされます。 |
cs4 |
additional.fields[0].value.string_value |
cs4 フィールドから直接マッピングされます。キーは cs4Label から導出されます。 |
cs4Label |
additional.fields[0].key |
cs4Label フィールドから直接マッピングされます。 |
cs5 |
additional.fields[2].value.string_value |
cs5 フィールドから直接マッピングされます。キーは cs5Label から導出されます。 |
cs5Label |
additional.fields[2].key |
cs5Label フィールドから直接マッピングされます。 |
cs6 |
additional.fields[7].value.string_value |
cs6 フィールドから直接マッピングされます。キーは cs6Label から導出されます。 |
cs6Label |
additional.fields[7].key |
cs6Label フィールドから直接マッピングされます。 |
deviceExternalId |
about.asset.asset_id |
asset_id 生成ロジックの一部として使用されます。このフィールドの先頭に「Trend Micro.Apex Central:」という値が付加されます。 |
deviceNtDomain |
about.administrative_domain |
deviceNtDomain フィールドから直接マッピングされます。 |
devicePayloadId |
additional.fields[3].value.string_value |
devicePayloadId フィールドから直接マッピングされます。キーは「devicePayloadId」としてハードコードされています。 |
deviceProcessName |
about.process.command_line |
deviceProcessName フィールドから直接マッピングされます。 |
dhost |
target.hostname |
dhost フィールドから直接マッピングされます。 |
dntdom |
target.administrative_domain |
dntdom フィールドから直接マッピングされます。 |
dst |
target.ip |
dst フィールドから直接マッピングされます。 |
duser |
target.user.userid、target.user.user_display_name |
duser フィールドから直接マッピングされます。 |
dvchost |
about.hostname |
dvchost フィールドから直接マッピングされます。 |
fileHash |
about.file.full_path |
fileHash フィールドから直接マッピングされます。 |
fname |
additional.fields[9].value.string_value |
fname フィールドから直接マッピングされます。キーは「fname」としてハードコードされています。 |
message |
metadata.product_event_type |
CEF ヘッダーはメッセージ フィールドから抽出されます。 |
request |
target.url |
request フィールドから直接マッピングされます。 |
rt |
metadata.event_timestamp |
rt フィールドから直接マッピングされます。 |
shost |
principal.hostname |
shost フィールドから直接マッピングされます。 |
src |
principal.ip |
src フィールドから直接マッピングされます。 |
TMCMdevicePlatform |
principal.platform |
パーサーのロジックに基づいてマッピングされます。値は「WINDOWS」、「MAC」、「LINUX」に正規化されます。 |
TMCMLogDetectedHost |
principal.hostname |
TMCMLogDetectedHost フィールドから直接マッピングされます。 |
TMCMLogDetectedIP |
principal.ip |
TMCMLogDetectedIP フィールドから直接マッピングされます。他のフィールドの有無に基づいてパーサー ロジックから取得されます。有効な値は、「USER_UNCATEGORIZED」、「STATUS_UPDATE」、「GENERIC_EVENT」です。「TRENDMICRO_APEX_ONE」にハードコードされています。「TRENDMICRO_APEX_ONE」にハードコードされています。message フィールドの CEF ヘッダーから抽出されます。「LOW」にハードコードされています。 |
TMCMdevicePlatform |
event.idm.read_only_udm.principal.platform_version |
変更履歴からマッピング |
filePath |
event.idm.read_only_udm.target.file.full_path |
変更履歴からマッピング |
cnt |
event.idm.read_only_udm.additional.fields |
変更履歴からマッピング |
ihost |
event.idm.read_only_udm.intermediary.hostname |
変更履歴からマッピング |
ihost |
event.idm.read_only_udm.intermediary.asset.hostname |
変更履歴からマッピング |
deviceFacility |
event.idm.read_only_udm.additional.fields |
変更履歴からマッピング |
ApexCentralHost |
event.idm.read_only_udm.observer.hostname |
変更履歴からマッピング |
ApexCentralHost |
event.idm.read_only_udm.observer.asset.hostname |
変更履歴からマッピング |
cs2 |
event.idm.read_only_udm.principal.ip |
変更履歴からマッピング |
cs2 |
event.idm.read_only_udm.principal.asset.ip |
変更履歴からマッピング |
suser |
event.idm.read_only_udm.target.user.userid |
変更履歴からマッピング |
fname |
event.idm.read_only_udm.about.file.full_path |
変更履歴からマッピング |
priority |
event.idm.read_only_udm.additional.fields |
変更履歴からマッピング |
inter_ip |
intermediary.ip と intermediary.asset.ip |
変更履歴からマッピング |
intermediary |
event.idm.read_only_udm.intermediary |
変更履歴からマッピング |
fileHash |
event.idm.read_only_udm.target.file.sha1 |
変更履歴からマッピング |
cs5 |
event.idm.read_only_udm.security_result.action_details |
変更履歴からマッピング |
変更履歴
さらにサポートが必要な場合 コミュニティ メンバーや Google SecOps のプロフェッショナルから回答を得ることができます。