Trellix DLP のログを収集する
このドキュメントでは、Bindplane を使用して Trellix(旧 McAfee)DLP(データ損失防止)ログを Google Security Operations に取り込む方法について説明します。このパーサーは、CSV 形式の McAfee DLP ログを処理し、統合データモデル(UDM)に変換します。入力をクリーンアップし、CSV データを解析し、フィールドを UDM にマッピングし、特定の DLP イベントタイプと重大度を処理し、追加のメタデータとセキュリティ結果の詳細で UDM を拡充します。
始める前に
次の前提条件を満たしていることを確認してください。
- Google SecOps インスタンス
- Windows 2016 以降、または
systemd
を使用する Linux ホスト - プロキシの背後で実行されている場合、ファイアウォール ポートが開いている
- McAfee EPO への特権アクセス
- McAfee DLP Endpoint Extension がインストールされ、有効になっている
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 ingestion_labels: log_type: 'MCAFEE_DLP' 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 エージェントを再起動するには、サービス コンソールを使用するか、次のコマンドを入力します。
net stop BindPlaneAgent && net start BindPlaneAgent
McAfee ePO で Syslog サーバーを構成する
- McAfee ePO コンソールにログインします。
- [メニュー] > [構成] > [登録済みサーバー] に移動します。
- [New Server > Syslog Server] をクリックします。
- 次の構成の詳細を指定します。
- 名前: Syslog サーバーの一意の名前(例:
Google SecOps
)。 - サーバー アドレス: Bindplane エージェントの IP アドレスを入力します。
- ポート: Bindplane エージェントのポート番号を入力します(デフォルトは
514
)。 - プロトコル: UDP または TCP を選択します(Bindplane Agent のインストールによって異なります)。
- 形式:
CSV
またはCEF
を使用します。
- 名前: Syslog サーバーの一意の名前(例:
- [保存] をクリックします。
DLP イベント転送を構成する
- メニュー > [データの保護] > [DLP ポリシー マネージャー] に移動します。
- [DLP Policy Assignment Rules] タブをクリックします。
- ターゲット システムに適用されるルールを編集するか、新しいルールを作成します。
- ルールの [アクション] タブに移動します。
- [Log to Syslog Server] チェックボックスをオンにして、以前に作成した Syslog サーバーを選択します。
- ルールを保存します。
DLP インシデント転送を有効にする
- メニュー アイコン > [データの保護] > [DLP インシデント マネージャー] に移動します。
- [インシデントの操作] をクリックします。
- syslog サーバーに転送するアクションを作成または編集します。
- このアクションを DLP ポリシーのルールに割り当てます。
ポリシーをデプロイする
- [システム ツリー] > 目的のグループまたはシステムを選択します。
- [アクション] > [エージェント] > [エージェントを起動] をクリックします。
- [送信ポリシー] を選択します。
- [OK] をクリックします。
UDM マッピング テーブル
ログフィールド | UDM マッピング | 論理 |
---|---|---|
action |
security_result.action_details |
action フィールドから直接マッピングされます。 |
action |
security_result.action |
action フィールドから取得されます。action が 1 の場合、BLOCK になります。action が 0 の場合、ALLOW になります。action が 6 の場合は UNKNOWN_ACTION です。 |
agent_ver |
metadata.product_version |
agent_ver フィールド(column8 から取得)から直接マッピングされます。 |
class_count |
additional.fields[4].key |
値は ClassCount です。 |
class_count |
additional.fields[4].value.string_value |
class_count フィールドから直接マッピングされます。 |
class_display |
additional.fields[5].key |
値は ClassDisplay です。 |
class_display |
additional.fields[5].value.string_value |
class_display フィールドから直接マッピングされます。 |
count |
additional.fields[6].key |
値は Count です。 |
count |
additional.fields[6].value.string_value |
count フィールドから直接マッピングされます。 |
device_name |
principal.hostname |
device_name フィールドから直接マッピングされます。 |
dst |
target.hostname |
inc_type が 10000 の場合、dst フィールドから直接マッピングされます。 |
dst |
target.user.userid |
inc_type が 10000 でない場合、dst フィールドから直接マッピングされます。 |
dst_app |
target.application |
dst_app フィールドから直接マッピングされます。 |
dst_url |
target.url |
dst_url フィールドから直接マッピングされます。 |
encrypt |
security_result.detection_fields[1].key |
値は EncryptionProvider です。 |
encrypt |
security_result.detection_fields[1].value |
encrypt フィールドから直接マッピングされます。 |
evidence_count |
additional.fields[2].key |
値は EvidenceCount です。 |
evidence_count |
additional.fields[2].value.string_value |
evidence_count フィールドから直接マッピングされます。 |
fail_reason |
additional.fields[3].key |
値は FailReason です。 |
fail_reason |
additional.fields[3].value.string_value |
fail_reason フィールドから直接マッピングされます。 |
fail_reason |
security_result.description |
fail_reason が 0 の場合、値は No Failure です。それ以外の場合、値は Failure Occurred です。 |
file |
target.file.full_path |
file フィールドから直接マッピングされます。 |
file_size |
target.file.size |
file_size フィールドから直接マッピングされ、符号なし整数に変換されます。 |
group |
principal.user.attribute.labels.key |
値は group です。 |
group |
principal.user.attribute.labels.value |
group フィールドから直接マッピングされます。 |
inc_id |
metadata.product_log_id |
inc_id フィールド(column1 から取得)から直接マッピングされます。 |
inc_type |
metadata.event_type |
条件付きロジックで使用され、metadata.event_type を決定します。詳しくはロジックをご覧ください。 |
inc_type |
metadata.product_event_type |
inc_type フィールド(column2 から取得)から直接マッピングされます。 |
ip |
principal.ip |
grok を使用して ip フィールドから抽出された IP アドレス。 |
local_date |
metadata.event_timestamp |
local_date フィールドのタイムスタンプが解析され、エポックからの経過秒数に変換されます。 |
name |
principal.user.user_display_name |
name フィールドから直接マッピングされます。inc_type が [10000 ,10001 ,10002 ,40101 ,40400 ,40500 ,40700 ] に含まれており、ip が有効な IP の場合、値は SCAN_NETWORK です。inc_type が 40102 で、file が空でない場合、値は SCAN_FILE です。inc_type が [40301 ,40602 ] の場合、値は PROCESS_UNCATEGORIZED です。それ以外の場合、値は GENERIC_EVENT です。ハードコードされた値: GCP_CLOUDAUDIT 。ハードコードされた値: Mcafee DLP 。ハードコードされた値: Mcafee 。status_id が [1 ,2 ] の場合、値は NEW です。status_id が [3 ,4 ] の場合、値は CLOSED です。status_id が [5 ,6 ] の場合、値は REVIEWED です。値は StatusId です。値は Resolution Id です。値は Expected Action です。 |
process_name |
target.process.file.full_path |
process_name フィールドから直接マッピングされます。 |
resolution_id |
security_result.about.labels[0].value |
resolution_id フィールドから直接マッピングされます。 |
rule_name |
security_result.rule_name |
rule_name フィールドから直接マッピングされます。 |
rule_set |
security_result.rule_labels.key |
値は rule_set です。 |
rule_set |
security_result.rule_labels.value |
rule_set フィールドから直接マッピングされます。 |
sev |
security_result.severity |
sev フィールドから取得されます。sev が 1 の場合は、INFORMATIONAL です。sev が 2 の場合は、ERROR です。sev が 3 の場合は、LOW です。sev が 4 の場合は HIGH です。sev が 5 の場合は、重大です。 |
sev |
security_result.severity_details |
sev フィールドから直接マッピングされます。 |
status_id |
principal.labels.value |
status_id フィールドから直接マッピングされます。 |
total_count |
additional.fields[1].key |
値は TotalCount です。 |
total_count |
additional.fields[1].value.string_value |
total_count フィールドから直接マッピングされます。 |
total_size |
additional.fields[0].key |
値は TotalSize です。 |
total_size |
additional.fields[0].value.string_value |
total_size フィールドから直接マッピングされます。 |
usb_serial_number |
security_result.detection_fields[0].key |
値は USBSerialNumber です。 |
usb_serial_number |
security_result.detection_fields[0].value |
usb_serial_number フィールドから直接マッピングされます。 |
user |
principal.user.userid |
user フィールドから直接マッピングされます。 |
user_ou |
principal.user.group_identifiers |
user_ou フィールドから直接マッピングされます。 |
volume_serial_number |
security_result.detection_fields[2].key |
値は VolumeSerialNumber です。 |
volume_serial_number |
security_result.detection_fields[2].value |
volume_serial_number フィールドから直接マッピングされます。 |
expected_action |
security_result.about.labels[1].value |
expected_action フィールドから直接マッピングされます。 |
さらにサポートが必要な場合 コミュニティ メンバーや Google SecOps のプロフェッショナルから回答を得ることができます。