收集 Skyhigh Secure Web Gateway (舊稱 McAfee Web Gateway) 記錄
本文說明如何使用 Bindplane,將 Skyhigh Secure Web Gateway (舊稱 McAfee Web Gateway) 記錄檔擷取至 Google Security Operations。
Skyhigh Secure Web Gateway 是地端部署的網路 Proxy 裝置,可檢查 HTTP、HTTPS 和 FTP 流量,保護機構免於網路威脅。提供網址篩選、惡意軟體掃描、SSL 檢查、資料遺失防護和應用程式控管功能。這款設備會強制執行網路存取政策,並提供所有網路活動的詳細記錄,以便進行法規遵循和安全監控。
事前準備
請確認您符合下列必要條件:
- Google SecOps 執行個體。
- Windows 2016 以上版本,或搭載
systemd的 Linux 主機。 - 如果透過 Proxy 執行,請確認防火牆通訊埠已開啟。
- Skyhigh Secure Web Gateway 管理主控台的特殊存取權。
取得 Bindplane 代理程式的 Google SecOps 憑證
如要向 Google SecOps 驗證 Bindplane 代理程式,請選擇下列其中一種方法:
- 新部署作業:使用 Chronicle API (選項 1)。
- 舊版部署作業:繼續使用擷取驗證檔案 (選項 2),直到 Ingestion API 於 2027 年 7 月 20 日停用。
方法 1:為 Chronicle API 建立服務帳戶 (建議)
- 登入 Google Cloud 控制台,選取連結至 Google SecOps 執行個體的 Google Cloud 專案。
- 依序前往「IAM & Admin」(IAM 與管理) >「Service Accounts」(服務帳戶)。
- 按一下「建立服務帳戶」。
- 提供下列設定詳細資料:
- 服務帳戶名稱:輸入帳戶名稱 (例如
bindplane-ingest)。 - 「服務帳戶說明」:輸入說明 (例如
Bindplane agent log ingestion)。
- 服務帳戶名稱:輸入帳戶名稱 (例如
- 點按「Create and continue」(建立並繼續)。
- 在「將專案存取權授予這個服務帳戶」部分,按一下「選取角色」,然後選取「Chronicle 編輯者」。
- 依序點選「繼續」和「完成」。
- 按一下您建立的服務帳戶,然後前往「金鑰」分頁。
- 依序點選「新增金鑰」>「建立新的金鑰」。
- 選取「JSON」,然後點選「建立」。金鑰檔案會下載到電腦。
- 將金鑰檔案儲存為 Bindplane 收集器目錄中的
ingestion-auth.json(Linux 為/opt/observiq-otel-collector/ingestion-auth.json,Windows 為C:\Program Files\observIQ OpenTelemetry Collector\ingestion-auth.json),或更新config.yaml中的creds_file_path,使其與儲存檔案的路徑相符。 - 依序前往「IAM & Admin」(IAM 與管理) >「Settings」(設定),然後複製「Project number」(專案編號)。設定匯出工具時會用到。
方法 2:下載擷取驗證檔案 (舊版)
- 登入 Google SecOps 控制台。
- 依序前往「SIEM Settings」 > 「Collection Agents」。
- 下載擷取驗證檔案。
- 將檔案安全地儲存在要安裝 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
其他安裝資源
如需其他安裝選項,請參閱安裝指南。
設定 Bindplane 代理程式,擷取系統記錄並傳送至 Google SecOps
存取設定檔:
- 找出
config.yaml檔案。通常位於 Linux 的/observiq-otel-collector/目錄,或 Windows 的安裝目錄。 - 使用文字編輯器 (例如
nano、vi或記事本) 開啟檔案。
- 找出
按照下列方式編輯
config.yaml檔案:receivers: tcplog: listen_address: "0.0.0.0:514" exporters: chronicle/mcafee_webproxy: protocol: https # Region of your instance, for example us, europe, asia-southeast1 location: <LOCATION> # Project number of the Google Cloud project linked to the instance project: '<PROJECT_NUMBER>' compression: gzip creds_file_path: '/path/to/ingestion-authentication-file.json' customer_id: '<customer_id>' endpoint: chronicle.googleapis.com log_type: 'MCAFEE_WEBPROXY' raw_log_field: body ingestion_labels: service: pipelines: logs/mcafee_webproxy_to_chronicle: receivers: - tcplog exporters: - chronicle/mcafee_webproxy
- 視基礎架構需求更換連接埠和 IP 位址。
- 將
<LOCATION>替換為 Google SecOps 執行個體的區域 (例如us、europe或asia-southeast1)。匯出工具會在這個值前面加上chronicle.googleapis.com。 - 將
<PROJECT_NUMBER>替換為「IAM 與管理」>「設定」中的專案編號。 - 將
<customer_id>替換為實際的客戶 ID。 - 將
/path/to/ingestion-authentication-file.json更新為服務帳戶金鑰檔案 (選項 1) 在「取得 Bindplane 代理程式的 Google SecOps 憑證」一節中儲存的路徑。
舊版擷取 API 匯出工具
如果您使用方式 2 的擷取驗證檔案,請將
exporters區塊替換成下列內容。將creds_file_path設為擷取驗證檔案的路徑。如果執行個體位於美國境外,請將malachiteingestion-pa.googleapis.com替換為區域端點 (例如europe-malachiteingestion-pa.googleapis.com)。exporters: chronicle/mcafee_webproxy: compression: gzip creds_file_path: '/path/to/ingestion-authentication-file.json' customer_id: '<customer_id>' endpoint: malachiteingestion-pa.googleapis.com log_type: 'MCAFEE_WEBPROXY' raw_log_field: body ingestion_labels:
重新啟動 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"
在 Skyhigh Secure Web Gateway 設定系統記錄轉送
- 登入 Skyhigh Secure Web Gateway 管理控制台。
- 依序前往「Policy」>「Settings」>「Logging」>「Syslog」。
- 按一下「新增」,建立新的系統記錄目的地。
- 請提供下列設定詳細資料:
- Syslog Server:輸入 Bindplane 代理程式 IP 位址 (例如
192.168.1.100)。 - 通訊埠:輸入
514。 - 「通訊協定」:選取「TCP」。
- 「記錄層級」:選取所需的記錄層級 (例如「資訊」或更高等級)。
- 格式:選取「最佳做法存取記錄」或所需記錄格式。
- Syslog Server:輸入 Bindplane 代理程式 IP 位址 (例如
- 選取要轉送的記錄類型:
- 存取記錄:記錄通過閘道的所有網站流量。
- 封鎖記錄:記錄遭到封鎖的要求。
- 掃描記錄:記錄惡意軟體掃描結果。
- 按一下 [儲存變更]。
依序前往「疑難排解」>「確認變更」,然後點選「儲存變更」套用設定。
UDM 對應表
| 記錄欄位 | UDM 對應 | 邏輯 |
|---|---|---|
entry_format |
about |
對應:json_format → about,kv_format1 → about |
deviceNtDomain |
about.administrative_domain |
已重新命名/對應 |
deviceExternalId |
about.asset.asset_id |
直接對應 |
device_product |
about.asset.asset_id |
直接對應 |
device_vendor |
about.asset.asset_id |
直接對應 |
fileHash |
about.file.full_path |
直接對應 |
filePath |
about.file.full_path |
已重新命名/對應 |
_hash |
about.file.sha256 |
已重新命名/對應 |
fileHash |
about.file.sha256 |
已重新命名/對應 |
fsize |
about.file.size |
已重新命名/對應 |
dvchost |
about.hostname |
已重新命名/對應 |
entry_format |
about.ip |
對應:json_format → ips,kv_format1 → ips |
ips |
about.ip |
已合併 |
dvc_mac |
about.mac |
對應:slot → mac_address |
dvcmac |
about.mac |
已合併 |
entry_format |
about.mac |
對應:json_format → mac_address、json_format → dvcmac、kv_format1 → `mac_address... |
mac_address |
about.mac |
已合併 |
deviceTranslatedAddress |
about.nat_ip |
已合併 |
entry_format |
about.nat_ip |
對應:json_format → deviceTranslatedAddress,kv_format1 → deviceTranslatedAddress |
Emne |
about.process.command_line |
直接對應 |
Path |
about.process.command_line |
直接對應 |
Subject |
about.process.command_line |
直接對應 |
deviceProcessName |
about.process.command_line |
已重新命名/對應 |
dvcpid |
about.process.pid |
已重新命名/對應 |
entry_format |
about.resource.attribute.permissions |
對應:json_format → permissions,kv_format1 → permissions |
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_flexString1 |
additional.fields |
已合併 |
additional_fname |
additional.fields |
已合併 |
application_name_label |
additional.fields |
已合併 |
block_id_label |
additional.fields |
已合併 |
cs2 |
additional.fields |
已對應:arc_test → additional_cs2 |
cs5_label |
additional.fields |
已合併 |
entry_format |
additional.fields |
對應值 (共 43 個,例如 json_format → additional_eventId、json_format → `additio... |
facility_label |
additional.fields |
已合併 |
priority_label |
additional.fields |
已合併 |
reputation_label |
additional.fields |
已合併 |
entry_format |
intermediary |
對應:json_format → intermediary,kv_format1 → intermediary |
intermediary_hostname |
intermediary.hostname |
直接對應 |
intermediary_ip |
intermediary.ip |
已合併 |
json_entry.client_ip |
intermediary.ip |
已合併 |
_metadata |
metadata |
已重新命名/對應 |
msg |
metadata.description |
已重新命名/對應 |
Generated |
metadata.event_timestamp |
已剖析為 yyyy-MM-ddTHH:mm:ss |
Received |
metadata.event_timestamp |
剖析為 yyyy-MM-ddTHH:mm:ss |
_timestamp |
metadata.event_timestamp |
已剖析為 RFC 3339 |
rt |
metadata.event_timestamp |
剖析為 yyyy-MM-ddTHH:mm:ssZ |
ts |
metadata.event_timestamp |
已剖析為 dd/MM/yyyy:HH:mm:ss Z |
entry_format |
metadata.event_type |
對應:json_format → PROCESS_UNCATEGORIZED、json_format → SCAN_UNCATEGORIZED、`kv_f... |
event_name |
metadata.event_type |
對應:"LogSpyware","LogPredictiveMachineLearning" → SCAN_UNCATEGORIZED |
event_type |
metadata.event_type |
直接對應 |
device_event_class_id |
metadata.product_event_type |
直接對應 |
event_name |
metadata.product_event_type |
直接對應 |
externalId |
metadata.product_log_id |
直接對應 |
device_product |
metadata.product_name |
直接對應 |
device_version |
metadata.product_version |
直接對應 |
device_vendor |
metadata.vendor_name |
已重新命名/對應 |
_network |
network |
已重新命名/對應 |
app_protocol_output |
network.application_protocol |
直接對應 |
proto |
network.application_protocol |
直接對應 |
proto_version |
network.application_protocol_version |
直接對應 |
deviceDirection |
network.direction |
對應:0 → INBOUND,1 → OUTBOUND |
entry_format |
network.direction |
對應:json_format → INBOUND、json_format → OUTBOUND、kv_format1 → INBOUND、`kv... |
http_method |
network.http.method |
直接對應 |
requestMethod |
network.http.method |
已重新命名/對應 |
userAgent |
network.http.parsed_user_agent |
已重新命名/對應 |
requestContext |
network.http.referral_url |
直接對應 |
http_response |
network.http.response_code |
直接對應 |
requestClientApplication |
network.http.user_agent |
已重新命名/對應 |
userAgent |
network.http.user_agent |
直接對應 |
ip_protocol_out |
network.ip_protocol |
直接對應 |
proto |
network.ip_protocol |
直接對應 |
bytesToClient |
network.received_bytes |
直接對應 |
entry_format |
network.received_bytes |
對應:json_format → uinteger,kv_format1 → uinteger |
in |
network.received_bytes |
已重新命名/對應 |
bytesFromClient |
network.sent_bytes |
直接對應 |
entry_format |
network.sent_bytes |
對應:json_format → uinteger,kv_format1 → uinteger |
out |
network.sent_bytes |
已重新命名/對應 |
_principal |
principal |
已重新命名/對應 |
sntdom |
principal.administrative_domain |
已重新命名/對應 |
sourceServiceName |
principal.application |
已重新命名/對應 |
clientIP |
principal.asset.ip |
已合併 |
entry_format |
principal.asset.ip |
已對應:json_format → clientIP、json_format → principal_ip、kv_format1 → `clientIP... |
principal_ip |
principal.asset.ip |
已合併 |
Group_name |
principal.group.group_display_name |
直接對應 |
Gruppenavn |
principal.group.group_display_name |
直接對應 |
Device_name |
principal.hostname |
直接對應 |
Enhetsnavn |
principal.hostname |
直接對應 |
principal_hostname |
principal.hostname |
直接對應 |
shost |
principal.hostname |
已重新命名/對應 |
clientIP |
principal.ip |
已合併 |
entry_format |
principal.ip |
對應值 (共 6 個,例如 json_format → principal_ip、json_format → shost、`json_... |
principal_ip |
principal.ip |
已合併 |
shost |
principal.ip |
已合併 |
entry_format |
principal.mac |
已對應:json_format → mac、kv_format1 → mac |
mac |
principal.mac |
已合併 |
entry_format |
principal.nat_ip |
對應:json_format → sourceTranslatedAddress,kv_format1 → sourceTranslatedAddress |
sourceTranslatedAddress |
principal.nat_ip |
已合併 |
sourceTranslatedPort |
principal.nat_port |
已重新命名/對應 |
spt |
principal.port |
已重新命名/對應 |
sproc |
principal.process.command_line |
已重新命名/對應 |
fileType |
principal.process.file.mime_type |
直接對應 |
spid |
principal.process.pid |
已重新命名/對應 |
entry_format |
principal.user.attribute.roles |
已對應:json_format → principal_role、kv_format1 → principal_role |
principal_role |
principal.user.attribute.roles |
已合併 |
suser |
principal.user.user_display_name |
直接對應 |
suid |
principal.user.userid |
已重新命名/對應 |
userName |
principal.user.userid |
直接對應 |
entry_format |
security_result |
對應:json_format → security_result,kv_format1 → security_result |
_action |
security_result.action |
已合併 |
act |
security_result.action |
對應:accept → _action,deny → _action |
action |
security_result.action |
已合併 |
cn1_Label |
security_result.action |
已對應:Block Reason → action |
entry_format |
security_result.action |
對應值 (共 6 個,例如 json_format → _action、json_format → action、`json_form... |
security_action |
security_result.action |
已合併 |
Action_Taken |
security_result.action_details |
直接對應 |
act |
security_result.action_details |
直接對應 |
_security_category |
security_result.category |
已合併 |
entry_format |
security_result.category |
已對應:json_format → _security_category、kv_format1 → _security_category |
_category_details |
security_result.category_details |
已合併 |
cat |
security_result.category_details |
已合併 |
entry_format |
security_result.category_details |
對應:json_format → cat、json_format → _category_details、kv_format1 → cat、`k... |
sec_result_category_details |
security_result.category_details |
已合併 |
Scan_Type |
security_result.description |
直接對應 |
Type |
security_result.description |
直接對應 |
msg_data_2 |
security_result.description |
直接對應 |
entry_format |
security_result.detection_fields |
對應值 (共 14 個,例如 json_format → operation_label、json_format → `operasjon_... |
infection_channel_label |
security_result.detection_fields |
已合併 |
operasjon_label |
security_result.detection_fields |
已合併 |
operation_label |
security_result.detection_fields |
已合併 |
permission_label |
security_result.detection_fields |
已合併 |
spyware_Grayware_Type_label |
security_result.detection_fields |
已合併 |
threat_probability_label |
security_result.detection_fields |
已合併 |
tillatelse_label |
security_result.detection_fields |
已合併 |
mwProfile |
security_result.rule_name |
直接對應 |
policy |
security_result.rule_name |
直接對應 |
rule_name |
security_result.rule_name |
直接對應 |
entry_format |
security_result.severity |
對應值 (共 8 個,例如 json_format → LOW、json_format → MEDIUM、json_format ... |
risk |
security_result.severity |
對應:High Risk → HIGH,Medium Risk → MEDIUM |
severity |
security_result.severity |
對應:"0", "1", "2", "3", "LOW" → LOW、`"4", "5", "6", "MEDIUM", "SUBSTANTIAL", "INFO"... |
risk |
security_result.severity_details |
直接對應 |
Result |
security_result.summary |
直接對應 |
appcategory |
security_result.summary |
直接對應 |
av_status |
security_result.summary |
直接對應 |
block_reason |
security_result.summary |
直接對應 |
content |
security_result.summary |
直接對應 |
icap_status |
security_result.summary |
直接對應 |
reason |
security_result.summary |
已重新命名/對應 |
summary |
security_result.summary |
直接對應 |
Spyware |
security_result.threat_name |
直接對應 |
Unknown_Threat |
security_result.threat_name |
直接對應 |
Virus_Malware_Name |
security_result.threat_name |
直接對應 |
oldFilePath |
src.file.full_path |
已重新命名/對應 |
oldFileSize |
src.file.size |
已重新命名/對應 |
entry_format |
src.resource.attribute.permissions |
對應:json_format → old_permissions,kv_format1 → old_permissions |
old_permissions |
src.resource.attribute.permissions |
已合併 |
_target |
target |
已重新命名/對應 |
dntdom |
target.administrative_domain |
已重新命名/對應 |
appname |
target.application |
直接對應 |
destinationServiceName |
target.application |
已重新命名/對應 |
tar_host |
target.asset.hostname |
直接對應 |
tar_host |
target.hostname |
直接對應 |
target_hostname |
target.hostname |
直接對應 |
temp_dhost |
target.hostname |
直接對應 |
IPv6_Address |
target.ip |
已合併 |
dst_ip |
target.ip |
已合併 |
entry_format |
target.ip |
已對應:json_format → dst_ip、json_format → IPv6_Address、kv_format1 → dst_ip、`... |
ipv6 |
target.ip |
對應:- → IPv6_Address |
entry_format |
target.mac |
對應:json_format → mac_address,kv_format1 → mac_address |
mac_address |
target.mac |
已合併 |
destination_translated_address |
target.nat_ip |
已合併 |
entry_format |
target.nat_ip |
已對應:json_format → destination_translated_address、kv_format1 → `destination_transl... |
destinationTranslatedPort |
target.nat_port |
已重新命名/對應 |
dpt |
target.port |
已重新命名/對應 |
tar_port |
target.port |
直接對應 |
dproc |
target.process.command_line |
已重新命名/對應 |
File_name |
target.process.file.full_path |
直接對應 |
Infected_Resource |
target.process.file.full_path |
直接對應 |
Object |
target.process.file.full_path |
直接對應 |
Objekt |
target.process.file.full_path |
直接對應 |
dpid |
target.process.pid |
已重新命名/對應 |
entry_format |
target.resource.attribute.labels |
已對應:json_format → resource_Type_label、kv_format1 → resource_Type_label |
resource_Type_label |
target.resource.attribute.labels |
已合併 |
request |
target.url |
直接對應 |
tar_host |
target.url |
直接對應 |
tar_port |
target.url |
直接對應 |
entry_format |
target.user.attribute.roles |
對應:json_format → target_role,kv_format1 → target_role |
target_role |
target.user.attribute.roles |
已合併 |
CustomerName |
target.user.user_display_name |
直接對應 |
temp_duser |
target.user.user_display_name |
直接對應 |
Bruker |
target.user.userid |
直接對應 |
User_value |
target.user.userid |
直接對應 |
temp_duid |
target.user.userid |
直接對應 |
| 不適用 | metadata.event_type |
常數:PROCESS_UNCATEGORIZED |
| 不適用 | network.direction |
常數:INBOUND |
| 不適用 | security_result.severity |
常數:LOW |
url |
event.idm.read_only_udm.target.url |
從變更記錄對應 |
categories |
event.idm.read_only_udm.security_result.category_details |
從變更記錄對應 |
rt |
event.idm.read_only_udm.metadata.event_timestamp |
從變更記錄對應 |
reputationString |
event.idm.read_only_udm.additional.fields |
從變更記錄對應 |
blockID |
event.idm.read_only_udm.additional.fields |
從變更記錄對應 |
applicationName |
event.idm.read_only_udm.additional.fields |
從變更記錄對應 |
facility |
event.idm.read_only_udm.additional.fields |
從變更記錄對應 |
priority |
event.idm.read_only_udm.additional.fields |
從變更記錄對應 |
userName |
event.idm.read_only_udm.principal.user.userid |
從變更記錄對應 |
appname |
event.idm.read_only_udm.target.application |
從變更記錄對應 |
http_method |
event.idm.read_only_udm.network.http.method |
從變更記錄對應 |
proto_version |
event.idm.read_only_udm.network.application_protocol_version |
從變更記錄對應 |
userAgent |
event.idm.read_only_udm.network.http.user_agent |
從變更記錄對應 |
userAgent |
event.idm.read_only_udm.network.http.parsed_user_agent |
從變更記錄對應 |
bytesFromClient |
event.idm.read_only_udm.network.sent_bytes |
從變更記錄對應 |
bytesToClient |
event.idm.read_only_udm.network.received_bytes |
從變更記錄對應 |
clientIP |
event.idm.read_only_udm.principal.ip |
從變更記錄對應 |
clientIP |
event.idm.read_only_udm.principal.asset.ip |
從變更記錄對應 |
fileType |
event.idm.read_only_udm.principal.process.file.mime_type |
從變更記錄對應 |
Type |
event.idm.read_only_udm.target.file.mime_type |
從變更記錄對應 |
sr_bytes |
network.send_bytes |
從變更記錄對應 |
requested_host" and "requested_path |
target.url |
從變更記錄對應 |
username |
principal.user.userid |
從變更記錄對應 |
destination_ip |
target.ip |
從變更記錄對應 |
destination_port |
target.port |
從變更記錄對應 |
target_ip |
target.ip |
從變更記錄對應 |
變更記錄
還有其他問題嗎?向社群成員和 Google SecOps 專家尋求解答。