收集 Trellix DLP 記錄
支援的國家/地區:
Google SecOps
SIEM
本文說明如何使用 Bindplane,將 Trellix (前身為 McAfee) DLP (資料外洩防護) 記錄擷取至 Google Security Operations。這個剖析器會處理 CSV 格式的 McAfee DLP 記錄,並轉換為 Unified Data Model (UDM)。這個外掛程式會清除輸入內容、剖析 CSV 資料、將欄位對應至 UDM、處理特定 DLP 事件類型和嚴重程度,並使用額外中繼資料和安全性結果詳細資料擴充 UDM。
事前準備
請確認您已完成下列事前準備事項:
- Google SecOps 執行個體
- Windows 2016 以上版本,或搭載
systemd
的 Linux 主機 - 如果透過 Proxy 執行,防火牆通訊埠已開啟
- McAfee EPO 的特殊存取權
- 已安裝並啟用 McAfee DLP Endpoint Extension
取得 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
Linux 安裝
- 開啟具有根層級或 sudo 權限的終端機。
執行下列指令:
sudo sh -c "$(curl -fsSlL https://github.com/observiq/bindplane-agent/releases/latest/download/install_unix.sh)" install_unix.sh
其他安裝資源
如需其他安裝選項,請參閱安裝指南。
設定 Bindplane 代理程式,擷取系統記錄檔並傳送至 Google SecOps
- 存取設定檔:
- 找出
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 位址。
- 「Port」(通訊埠):輸入 Bindplane 代理程式通訊埠編號 (預設為
514
)。 - 通訊協定:選取 UDP 或 TCP (視 Bindplane Agent 安裝方式而定)。
- 格式:使用
CSV
或CEF
。
- 名稱:Syslog 伺服器的專屬名稱 (例如
- 按一下 [儲存]。
設定 DLP 事件轉送
- 依序點選「選單」>「資料保護」>「資料遺失防護政策管理員」。
- 按一下「DLP 政策指派規則」分頁標籤。
- 編輯適用於目標系統的規則,或建立新規則。
- 前往規則的「動作」分頁。
- 勾選「Log to Syslog Server」(記錄到系統記錄伺服器) 方塊,然後選取先前建立的系統記錄伺服器。
- 儲存規則。
啟用資料遺失防護事件轉送功能
- 依序前往「選單」>「資料保護」>「DLP 事件管理員」。
- 按一下「事件動作」。
- 建立或編輯轉送至系統記錄檔伺服器的動作。
- 將這項動作指派給資料遺失防護政策中的規則。
部署政策
- 前往「系統樹狀結構」> 選取所需群組或系統。
- 依序點選「動作」>「代理程式」>「喚醒代理程式」。
- 選取「傳送政策」。
- 按一下 [確定]。
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 欄位中的時間戳記,經過剖析並轉換為自 Epoch 起算的秒數。 |
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,則為「高」。如果 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 專業人員尋求答案。