收集 Trellix Email Security (舊稱 FireEye eMPS) 記錄檔
剖析器版本:16.0
本文說明如何使用 Bindplane,將 Trellix Email Security (舊稱 FireEye eMPS) 記錄檔擷取至 Google Security Operations。
Trellix Email Security 是一種電子郵件安全裝置,可即時分析電子郵件內容和附件,保護機構免受魚叉式網路釣魚、惡意軟體和目標性攻擊等進階電子郵件威脅。
事前準備
請確認您已完成下列事前準備事項:
- Google SecOps 執行個體
- Windows Server 2016 以上版本,或搭載 systemd 的 Linux 主機
- Bindplane 代理程式與 FireEye eMPS 裝置之間的網路連線
- 如果透過 Proxy 執行,請確保防火牆通訊埠已根據 Bindplane 代理程式需求開啟
- FireEye eMPS 裝置 CLI 的特殊存取權 (管理員或操作人員角色)
- 具備 Syslog 通知功能的 FireEye eMPS 裝置
取得 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 安裝
- 開啟具有根層級或 sudo 權限的終端機。
執行下列指令:
sudo sh -c "$(curl -fsSlL [https://github.com/observiq/bindplane-agent/releases/latest/download/install_unix.sh](https://github.com/observiq/bindplane-agent/releases/latest/download/install_unix.sh))" install_unix.sh等待安裝完成。
執行下列指令,確認安裝成功:
sudo systemctl status observiq-otel-collector
服務應顯示為有效 (執行中)。
其他安裝資源
如需其他安裝選項和疑難排解資訊,請參閱 Bindplane 代理程式安裝指南。
設定 Bindplane 代理程式,擷取系統記錄檔並傳送至 Google SecOps
找出設定檔
- Linux:
/opt/observiq-otel-collector/config.yaml - Windows:
C:\Program Files\observIQ OpenTelemetry Collector\config.yaml
編輯設定檔
將
config.yaml的所有內容替換為下列設定:receivers: udplog: listen_address: "0.0.0.0:514" exporters: chronicle/fireeye_emps: compression: gzip creds_file_path: '/etc/bindplane-agent/ingestion-auth.json' customer_id: 'YOUR_CUSTOMER_ID' endpoint: malachiteingestion-pa.googleapis.com log_type: FIREEYE_EMPS raw_log_field: body ingestion_labels: env: production service: pipelines: logs/fireeye_to_chronicle: receivers: - udplog exporters: - chronicle/fireeye_emps
設定參數
替換下列預留位置:
接收器設定:
- 接收器已設定為透過通訊埠 514 傳送 UDP 系統記錄檔。
- 如要在 Linux 上使用非專屬通訊埠,請將
514變更為1514以上版本。 - 如要使用 TCP 而非 UDP,請將
udplog改成tcplog。
匯出工具設定:
creds_file_path:擷取驗證檔案的完整路徑。YOUR_CUSTOMER_ID:請替換為實際的客戶 ID。endpoint:區域端點網址 (例如malachiteingestion-pa.googleapis.com)。log_type:必須為FIREEYE_EMPS。ingestion_labels:YAML 格式的選用標籤。
重新啟動 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"
設定 FireEye eMPS 系統記錄檔轉送
存取 FireEye eMPS CLI
- 透過 SSH 或控制台連線至 FireEye eMPS 設備。
- 登入並進入啟用模式:
hostname> enable - 進入設定模式:
hostname# configure terminal
設定系統記錄伺服器
- 將 Bindplane 代理程式新增為 Syslog 陷阱接收器:
hostname(config)# fenotify rsyslog trap-sink chronicle address <BINDPLANE_IP_ADDRESS> - 將系統記錄格式設為 CEF:
hostname(config)# fenotify rsyslog trap-sink chronicle prefer message format cef - 將系統記錄設施設為 local4 (建議):
hostname(config)# fenotify rsyslog default facility local4 - 設定放送模式:
hostname(config)# fenotify rsyslog trap-sink chronicle message delivery per-event - 設定快訊嚴重程度:
hostname(config)# fenotify rsyslog trap-sink chronicle prefer message send-as alert - 設定通訊協定:
hostname(config)# fenotify rsyslog trap-sink chronicle protocol udp - 設定通訊埠:
hostname(config)# fenotify rsyslog trap-sink chronicle port 514
啟用系統記錄通知
- 全域啟用 rsyslog 通知:
hostname(config)# fenotify rsyslog enable - 啟用全域通知:
hostname(config)# fenotify enable 啟用特定快訊類型:
hostname(config)# fenotify rsyslog alert malware-object enable hostname(config)# fenotify rsyslog alert malware-callback enable hostname(config)# fenotify rsyslog alert infection-match enable hostname(config)# fenotify rsyslog alert domain-match enable驗證設定:
hostname(config)# show fenotify alerts儲存並結束:
hostname(config)# write memory hostname(config)# exit hostname# exit
UDM 對應表
| 記錄欄位 | UDM 對應 | 邏輯 |
|---|---|---|
| about.asset.asset_id | 由 device_vendor、device_product 和 deviceExternalId 串連而成 | |
| 關於 | 關於 | 從 about_token 合併 |
| about.file.full_path | about.file.full_path | 直接複製值 |
| about.file.sha256 | about.file.sha256 | 直接複製值 |
| about.file.size | about.file.size | 直接複製值 |
| about.hostname | about.hostname | 直接複製值 |
| about.ip | about.ip | 從 ips 陣列合併 |
| about.mac | about.mac | 如果 MAC 有效,則為 dvcmac 的值,否則為 mac_address 的值 |
| about.nat_ip | about.nat_ip | 直接從 deviceTranslatedAddress 複製的值 |
| about.process.command_line | about.process.command_line | 如果「主旨」不為空值,則為「主旨」的值;否則為「Emne」的值;否則為「路徑」的值 |
| about.process.file.full_path | about.process.file.full_path | 直接複製值 |
| about.process.pid | about.process.pid | 直接複製值 |
| about.resource.attribute.permissions | about.resource.attribute.permissions | 直接從權限複製值 |
| 其他 | 其他 | 直接重新命名 |
| additional_cfp1 | additional.fields | 併入其他欄位 |
| additional_cfp2 | additional.fields | 併入其他欄位 |
| additional_cfp3 | additional.fields | 併入其他欄位 |
| additional_cfp4 | additional.fields | 併入其他欄位 |
| additional_cn1 | additional.fields | 併入其他欄位 |
| additional_cn2 | additional.fields | 併入其他欄位 |
| additional_cn3 | additional.fields | 併入其他欄位 |
| additional_cs1 | additional.fields | 併入其他欄位 |
| additional_cs2 | additional.fields | 併入其他欄位 |
| additional_cs3 | additional.fields | 併入其他欄位 |
| additional_cs4 | additional.fields | 併入其他欄位 |
| additional_cs5 | additional.fields | 併入其他欄位 |
| additional_cs6 | additional.fields | 併入其他欄位 |
| additional_cs7 | additional.fields | 併入其他欄位 |
| additional_devicePayloadId | additional.fields | 併入其他欄位 |
| additional_eventId | additional.fields | 併入其他欄位 |
| additional_fname | additional.fields | 併入其他欄位 |
| additional_flexString1 | additional.fields | 併入其他欄位 |
| additional_flexString2 | additional.fields | 併入其他欄位 |
| app_protocol_output | network.application_protocol | 直接複製值 |
| cs1Label、cs1 | additional.fields | cs1Label 中的鍵,cs1 中的值 |
| cs2Label、cs2 | additional.fields | cs2Label 中的鍵,cs2 中的值 |
| cs3Label、cs3 | additional.fields | cs3Label 中的鍵,cs3 中的值 |
| cs4Label、cs4 | additional.fields | cs4Label 中的鍵,cs4 中的值 |
| cs5Label、cs5 | additional.fields | cs5Label 中的鍵,cs5 中的值 |
| cs6Label、cs6 | additional.fields | cs6Label 中的鍵,cs6 中的值 |
| cs7Label、cs7 | additional.fields | cs7Label 中的鍵,cs7 中的值 |
| cfp1Label、cfp1 | additional.fields | cfp1Label 中的鍵,cfp1 中的值 |
| cfp2Label、cfp2 | additional.fields | cfp2Label 中的鍵,cfp2 中的值 |
| cfp3Label、cfp3 | additional.fields | cfp3Label 中的鍵,cfp3 中的值 |
| cfp4Label、cfp4 | additional.fields | cfp4Label 中的鍵,cfp4 中的值 |
| cn1Label、cn1 | additional.fields | cn1Label 的鍵,cn1 的值 |
| cn2Label、cn2 | additional.fields | cn2Label 中的鍵,cn2 中的值 |
| cn3Label、cn3 | additional.fields | cn3Label 中的鍵,cn3 中的值 |
| customer_label | security_result.detection_fields | 已併入偵測欄位 |
| destination_translated_address | target.nat_ip | 直接複製值 |
| device_name_not_present, Enhetsnavn | principal.hostname | 如果 Device_name 不為空白,則為該值,否則為 Enhetsnavn |
| deviceExternalId | about.asset.asset_id | 串連的一部分 |
| devicePayloadId | additional.fields | 以 devicePayloadId 做為鍵,並複製值 |
| deviceTranslatedAddress | about.nat_ip | 直接複製值 |
| device_vendor | about.asset.asset_id | 串連的一部分 |
| device_product | about.asset.asset_id | 串連的一部分 |
| device_version | metadata.product_version | 直接複製值 |
| device_event_class_id、event_name | metadata.product_event_type | 如果兩者皆存在,則串連為 [%{device_event_class_id}] - %{event_name},否則為 device_event_class_id 或 event_name |
| device_process_name | about.process.command_line | 直接複製值 |
| device_vendor | metadata.vendor_name | 直接複製值 |
| device_product | metadata.product_name | 直接複製值 |
| dhost | target.hostname | 直接複製值 |
| dmac | target.mac | 直接複製值 |
| dntdom | target.administrative_domain | 直接複製值 |
| dpid | target.process.pid | 直接複製值 |
| dproc | target.process.command_line | 直接複製值 |
| dst | target.asset.ip | 直接複製值 |
| dst_ip | target.ip | 直接複製值 |
| duid | target.user.userid | 擷取 grok 後的 temp_duid 值 |
| duser | target.user.user_display_name | 直接複製值 |
| dvchost | about.hostname | 直接複製值 |
| deviceNtDomain | about.administrative_domain | 直接複製值 |
| dvcmac | about.mac | 如果 MAC 有效,則為 dvcmac 的值 |
| dvc_mac | about.mac | 如果 MAC 有效,則為 dvc_mac 的值 |
| eventId | additional.fields | 鍵為 eventId,已複製值 |
| eventid | additional.fields | 鍵為 eventId,值來自 eventid |
| externalId | metadata.product_log_id | 直接複製值 |
| externalID_value | metadata.product_log_id | 直接複製值 |
| file_full_path | metadata.event_type | 如果 file_full_path 不為空白,則設為 PROCESS_UNCATEGORIZED |
| fileHash | about.file.sha256 | 如果不是雜湊,則直接複製值;否則為 about.file.full_path |
| filePath | about.file.full_path | 直接複製值 |
| fileType | about.file.mime_type | 直接複製值 |
| flexString1Label、flexString1 | additional.fields | flexString1Label 的鍵,flexString1 的值 |
| flexString2Label、flexString2 | additional.fields | flexString2Label 中的鍵,flexString2 中的值 |
| fname | additional.fields | 鍵為 fname,值已複製 |
| 已產生 | metadata.event_timestamp | 已使用日期比對 yyyy-MM-ddTHH:mm:ss 轉換 |
| Generert | metadata.event_timestamp | 已使用日期比對 yyyy-MM-ddTHH:mm:ss 轉換 |
| Group_name | principal.group.group_display_name | 直接複製值 |
| Gruppenavn | principal.group.group_display_name | 如果 Group_name 為空,則值來自 Gruppenavn |
| infection_channel_label | security_result.detection_fields | 已併入偵測欄位 |
| 在 | network.received_bytes | 如果不是 0,則轉換為 uinteger |
| IPv6_Address | target.ip | 如果不是「-」,則合併 |
| ipv6 | target.ip | 如果不是「-」,則合併 |
| mac | principal.mac | 直接複製值 |
| mac_address | target.mac | 直接複製值 |
| mac_address | about.mac | mac_address 的值 |
| 中繼資料 | 中繼資料 | 直接重新命名 |
| msg | metadata.description | 直接複製值 |
| msg_data_2 | security_result.description | 直接複製值 |
| mottatt_not_present、Mottatt | metadata.collected_timestamp | 已使用日期比對 yyyy-MM-ddTHH:mm:ss 轉換 |
| 網路 | 網路 | 直接重新命名 |
| oldFilePath | src.file.full_path | 直接複製值 |
| oldFileSize | src.file.size | 已轉換為 uinteger |
| old_permissions | src.resource.attribute.permissions | 直接複製值 |
| operasjon_label | security_result.detection_fields | 已併入偵測欄位 |
| operation_label | security_result.detection_fields | 已併入偵測欄位 |
| out | network.sent_bytes | 如果不是 0,則轉換為 uinteger |
| permission_label | security_result.detection_fields | 已併入偵測欄位 |
| 權限 | about.resource.attribute.permissions | 直接複製值 |
| 主體 | 主體 | 直接重新命名 |
| principal_ip | principal.ip | 直接複製值 |
| principal_role | principal.user.attribute.roles | 已併入角色 |
| protocol_number_src | network.ip_protocol | 直接複製值 |
| 已接收 | metadata.collected_timestamp | 已使用日期比對 yyyy-MM-ddTHH:mm:ss 轉換 |
| 原因 | security_result.summary | 直接複製值 |
| 要求 | target.url | 直接複製值 |
| requestClientApplication | network.http.user_agent | 直接複製值 |
| requestMethod | network.http.method | 直接複製值 |
| resource_Type_label | target.resource.attribute.labels | 已合併到標籤 |
| rt | @timestamp | 使用各種日期格式和時區調整項轉換 |
| security_result | security_result | 直接合併 |
| security_result_token | security_result | 直接合併 |
| 嚴重性 | security_result.severity | 如果值介於 [0,1,2,3,LOW],請設為 LOW;如果值介於 [4,5,6,MEDIUM,SUBSTANTIAL,INFO],請設為 MEDIUM;如果值介於 [7,8,HIGH,SEVERE],請設為 HIGH;如果值介於 [9,10,VERY-HIGH,CRITICAL],請設為 CRITICAL |
| shost | principal.hostname | 如果不是 IP,則直接複製值,否則為 principal.ip |
| shost | principal.ip | 如果是 IP,則直接複製值 |
| shost_present | principal.machine_id_present | 設為 true |
| smac | principal.mac | 格式化後直接複製的值 |
| sntdom | principal.administrative_domain | 直接複製值 |
| sourceDnsDomain | target.asset.hostname、target.hostname | 透過 grok 從 sourceDnsDomain 取得的值,並傳送至 tar_host |
| sourceServiceName | principal.application | 直接複製值 |
| sourceTranslatedAddress | principal.nat_ip | 直接複製值 |
| sourceTranslatedPort | principal.nat_port | 已轉換為整數 |
| spid | principal.process.pid | 直接複製值 |
| sproc | principal.process.command_line | 直接複製值 |
| spt | principal.port | 如果不是 0 或 {srcPort},則會轉換為整數 |
| src | principal.asset.ip | 直接複製值 |
| src_ip | principal.ip | 直接複製值 |
| srcaddr | principal.ip | 直接複製值 |
| spyware_Grayware_Type_label | security_result.detection_fields | 已併入偵測欄位 |
| suser | principal.user.user_display_name | 如果不是以 { 開頭,則直接複製值 |
| suid | principal.user.userid | 直接複製值 |
| 目標 | 目標 | 直接重新命名 |
| target_ip | target.ip | 直接複製值 |
| target_role | target.user.attribute.roles | 已併入角色 |
| temp_data | 用於 grok 模式 | |
| temp_dhost | target.hostname | 直接複製值 |
| temp_duser | target.user.user_display_name | 直接複製值 |
| temp_duid | target.user.userid | grok 後 temp_duid 的值 |
| threat_probability_label | security_result.detection_fields | 已併入偵測欄位 |
| tillatelse_label | security_result.detection_fields | 已併入偵測欄位 |
| type_label | security_result.detection_fields | 已併入偵測欄位 |
| 使用者 | target.user.userid | 直接複製值 |
| Bruker | target.user.userid | 如果使用者為空白,則使用 Bruker 的值 |
| 使用者名稱 | principal.user.userid | 直接複製值 |
| Virus_Malware_Name | security_result.threat_name | 如果 Spyware 為空,則使用 Virus_Malware_Name 的值 |
| 間諜軟體 | security_result.threat_name | 直接複製值 |
| Unknown_Threat | security_result.threat_name | 如果 Virus_Malware_Name 為空,則值來自 Unknown_Threat |
| _hash | about.file.sha256 | 直接複製值 |
| __message | security_result.description | 如果值有效,則直接複製 |
| _metadata.customer | security_result.detection_fields | 金鑰為「客戶」,已複製值 |
| _metadata.proxy.address | principal.hostname、principal.asset.hostname | 直接複製值 |
| _metadata.source.address | principal.hostname、principal.asset.hostname | 直接複製值 |
| _metadata.source.port | principal.port | 已轉換為整數 |
| _metadata.source.type | security_result.detection_fields | 以型別做為鍵,值已複製 |
| _metadata.timestamp.producer_process | metadata.event_timestamp | 已使用日期比對 yyyy-MM-ddTHH:mm:ss.SSSZ 轉換 |
| act | security_result.action_details | 直接複製值 |
| act | security_result.action | 如果 act 位於 [accept, notified] 或 outcome 為 REDIRECTED_USER_MAY_PROCEED 或 categoryOutcome 為 Success 或 cs2 為 Allow,則設為 ALLOW;如果 act 為 deny/blocked 或 outcome 為 BLOCKED 或 categoryOutcome 為 Failure 或 cs2 為 Denied,則設為 BLOCK;如果 outcome 為 Failure,則設為 FAIL |
| 動作 | security_result.action | 直接複製值 |
| 應用程式 | app_protocol_src | 直接複製值 |
| app_protocol_src | network.application_protocol | 將 app_protocol_src 轉換為大寫並對應後的值 |
| categoryOutcome | security_result.action | 動作的條件式部分 |
| cs2 | security_result.action | 動作的條件式部分 |
| cs5 | additional.fields | cs5Label 中的鍵,cs5 中的值 |
| cs7 | additional.fields | cs7Label 中的鍵,cs7 中的值 |
| destinationTranslatedAddress | target.nat_ip | 直接複製值 |
| destinationTranslatedPort | target.nat_port | 已轉換為整數 |
| deviceDirection | network.direction | 設為 0 代表「INBOUND」,設為 1 代表「OUTBOUND」 |
| device_event_class_id | metadata.product_event_type | 串連的一部分 |
| duid | target.user.userid | grok 後 temp_duid 的值 |
| dvcmac | about.mac | 格式化後 dvcmac 的值 |
| event_name | metadata.product_event_type | 串連的一部分 |
| event_name | metadata.event_type | 如果位於 [LogSpyware, LogPredictiveMachineLearning],請設為 SCAN_UNCATEGORIZED |
| fileHash | about.file.sha256 | 如果為雜湊,則直接複製值,否則為 about.file.full_path |
| Mottatt | metadata.collected_timestamp | 已使用日期比對 yyyy-MM-ddTHH:mm:ss 轉換 |
| 結果 | security_result.action | 動作的條件式部分 |
| 通訊埠 | principal.port | 已轉換為整數 |
| protocol_number_src | network.ip_protocol | 對應後 protocol_number_src 的值 |
| proto | protocol_number_src | 直接複製值 |
| 嚴重性 | security_result.severity | 根據值範圍對應 |
| shost | principal.hostname | 如果不是 IP,則直接複製值 |
| act | security_result.action | 根據條件式邏輯設定 |
| app_protocol_src | network.application_protocol | 從 app_protocol_src 對應 |
| protocol_number_src | network.ip_protocol | 從 protocol_number_src 對應 |
| Virus_Malware_Name | security_result.threat_name | 如果 Virus_Malware_Name 的值為 |
flexString2 |
event.idm.read_only_udm.network.email.subject |
從變更記錄對應 |
version |
event.idm.read_only_udm.additional.fields |
從變更記錄對應 |
device_product |
event.idm.read_only_udm.additional.fields |
從變更記錄對應 |
cs1 |
event.idm.read_only_udm.security_result.rule_name |
從變更記錄對應 |
cs4 |
event.idm.read_only_udm.metadata.url_back_to_product |
從變更記錄對應 |
suser |
event.idm.read_only_udm.network.email.from |
從變更記錄對應 |
duser |
event.idm.read_only_udm.network.email.to |
從變更記錄對應 |
fname |
event.idm.read_only_udm.target.file.names |
從變更記錄對應 |
fileHash |
event.idm.read_only_udm.target.file.md5 |
從變更記錄對應 |
flexString1 |
event.idm.read_only_udm.about.file.sha256 |
從變更記錄對應 |
observer_application |
event.idm.read_only_udm.observer.application |
從變更記錄對應 |
syslog_severity_label |
event.idm.read_only_udm.additional.fields |
從變更記錄對應 |
start |
event.idm.read_only_udm.security_result.first_discovered_time |
從變更記錄對應 |
變更記錄
還有其他問題嗎?向社群成員和 Google SecOps 專業人員尋求答案。