收集 IBM Guardium 記錄
本文說明如何使用 Bindplane,將 IBM Guardium 記錄擷取至 Google Security Operations。
IBM Guardium 是一個資料庫活動監控和資料保護平台,可即時監控、稽核及保護資料庫和檔案系統。Guardium 提供弱點評估、資料探索與分類、資料庫活動監控和法規遵循報表功能。
事前準備
請確認您已完成下列事前準備事項:
- Google SecOps 執行個體
- Windows Server 2016 以上版本,或搭載
systemd的 Linux 主機 - Bindplane 代理程式與 IBM Guardium Collector 之間的網路連線
- 如果透過 Proxy 執行,請確保防火牆通訊埠已根據 Bindplane 代理程式需求開啟
- IBM Guardium CLI 的特殊存取權
- IBM Guardium 9.1 以上版本,支援加密的系統記錄 (選用)
取得 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)" install_unix.sh等待安裝完成。
執行下列指令來驗證安裝:
sudo systemctl status observiq-otel-collector
服務應顯示為啟用 (執行中)。
其他安裝資源
如需其他安裝選項和疑難排解資訊,請參閱 Bindplane 代理程式安裝指南。
設定 Bindplane 代理程式,擷取系統記錄檔並傳送至 Google SecOps
找出設定檔
Linux:
sudo nano /etc/bindplane-agent/config.yamlWindows:
notepad "C:\Program Files\observIQ OpenTelemetry Collector\config.yaml"
編輯設定檔
將
config.yaml的所有內容替換為下列設定:receivers: udplog: listen_address: "0.0.0.0:514" exporters: chronicle/guardium: compression: gzip creds_file_path: '/etc/bindplane-agent/ingestion-auth.json' customer_id: 'YOUR_CUSTOMER_ID' endpoint: malachiteingestion-pa.googleapis.com log_type: GUARDIUM raw_log_field: body ingestion_labels: log_source: guardium service: pipelines: logs/guardium_to_chronicle: receivers: - udplog exporters: - chronicle/guardium
設定參數
請替換下列預留位置:
接收器設定:
- 使用
udplog做為 UDP Syslog (Guardium 最常見的設定)。 - 如需 TCP 系統記錄,請使用
tcplog。 - 監聽位址
0.0.0.0:514會監聽通訊埠 514 的所有介面。
- 使用
匯出工具設定:
creds_file_path:擷取驗證檔案的完整路徑:- Linux:
/etc/bindplane-agent/ingestion-auth.json - Windows:
C:\Program Files\observIQ OpenTelemetry Collector\ingestion-auth.json
- Linux:
customer_id:上一個步驟中的客戶 ID。endpoint:區域端點網址:- 美國:
malachiteingestion-pa.googleapis.com - 歐洲:
europe-malachiteingestion-pa.googleapis.com - 亞洲:
asia-southeast1-malachiteingestion-pa.googleapis.com
- 美國:
log_type:必須為GUARDIUM。ingestion_labels:YAML 格式的選用標籤。
儲存設定檔
編輯完成後,請儲存檔案:
- Linux:依序按下
Ctrl+O、Enter和Ctrl+X - Windows:依序點選「檔案」>「儲存」
重新啟動 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"
- 按下
設定 IBM Guardium 系統記錄檔轉送
透過 CLI 設定系統記錄目的地
如要為 IBM Guardium 上的事件建立系統記錄目的地,您必須登入指令列介面,並定義 Bindplane 代理程式主機的 IP 位址。
- 使用 SSH 以 CLI 使用者身分登入 IBM Guardium Collector。
輸入下列指令,設定系統記錄目的地:
適用於 UDP Syslog (建議):
store remotelog add non_encrypted daemon.all BINDPLANE_AGENT_IP udpTCP Syslog:
store remotelog add non_encrypted daemon.all BINDPLANE_AGENT_IP:514 tcp如要查看特定嚴重程度的警報:
store remotelog add non_encrypted daemon.alert BINDPLANE_AGENT_IP udp store remotelog add non_encrypted daemon.err BINDPLANE_AGENT_IP udp store remotelog add non_encrypted daemon.warning BINDPLANE_AGENT_IP udp- 將
BINDPLANE_AGENT_IP替換為安裝 Bindplane 代理程式的主機 IP 位址。
- 將
執行下列指令來驗證設定:
show remotelog輸出內容應會顯示您設定的遠端系統記錄目的地。
設定加密的系統記錄 (選用)
如要轉送加密的系統記錄,IBM Guardium 9.1 以上版本支援透過 TCP 進行 TLS 加密。
- 從遠端系統記錄接收器使用的憑證授權單位,取得 PEM 格式的公用憑證。
- 登入 Guardium Collector 的 CLI。
輸入下列指令:
store remotelog add encrypted daemon.all BINDPLANE_AGENT_IP:6514 tcp系統提示時,請貼上 PEM 格式的 CA 憑證,包括 BEGIN 和 END 行,然後按下
Ctrl+D。Guardium 會將憑證儲存為
/etc/pki/rsyslog/ca.pem。
設定訊息範本 (選用)
Guardium 支援多種訊息格式,包括 CEF (通用事件格式) 和 LEEF (記錄事件擴充格式)。預設格式適用於大多數部署作業。
如要自訂訊息範本,請按照下列步驟操作:
- 以具備管理員權限的使用者身分登入 Guardium 設備 GUI。
- 依序前往「管理控制台」>「設定」>「全域設定檔」。
- 在「訊息範本」部分,以所需格式編輯範本。
- 按一下 [儲存]。
設定政策,將快訊傳送至系統記錄
IBM Guardium 中的政策負責對事件做出反應,並將事件資訊轉送至遠端系統記錄接收器。
設定政策快訊動作
- 登入 Guardium 設備 GUI。
- 按一下「工具」分頁標籤。
- 選取左側導覽面板中的「政策建立工具」。
- 在「政策搜尋器」窗格中,選取現有政策,然後按一下「編輯規則」。
- 按一下「個別編輯這項規則」。
- 系統隨即會顯示「存取規則定義」。
- 按一下「新增動作」。
- 在「動作」清單中,選取下列其中一種快訊類型:
- 每場比賽的警示:系統會針對每項違規行為發出通知。
- 每日快訊:當天首次發生違反政策事件時,系統會發送通知。
- 每個工作階段發出一次快訊:針對每個工作階段的違規行為發出通知。
- 依時間細微程度發出快訊:系統會根據您選取的時間範圍發出通知。
- 在「訊息範本」清單中,選取所需範本或保留「預設」。
- 從「通知類型」選取「SYSLOG」。
- 按一下「新增」,然後按一下「套用」。
- 按一下 [儲存]。
- 針對要轉送至 Google SecOps 的政策中所有規則,重複執行這個程序。
安裝政策
IBM Guardium 中任何新增或編輯的政策都必須先安裝,才能更新快訊動作或規則變更。
- 按一下「管理控制台」分頁標籤。
- 在左側導覽選單中,依序選取「設定」>「政策安裝」。
- 在「Policy Installer」(政策安裝程式) 窗格中,選取您在上一個步驟中修改的政策。
- 從下拉式清單中選取「Install and Override」(安裝並覆寫)。
- 系統會顯示確認訊息,要求您將政策安裝至所有檢查引擎。
- 按一下 [確定]。
UDM 對應表
| 記錄欄位 | UDM 對應 | 邏輯 |
|---|---|---|
| deviceNtDomain | about.administrative_domain | 關於實體的管理網域 |
| deviceExternalId | about.asset.asset_id | 資產 ID |
| filePath、fileHash | about.file.full_path | 檔案的完整路徑 |
| __hash、fileHash | about.file.sha256 | 檔案的 SHA256 雜湊 |
| fsize | about.file.size | 檔案大小 |
| dvchost | about.hostname | 關於實體的主機名稱 |
| dvc | about.ip | 關於實體的 IP 位址 |
| smac、dmac、dvcmac | about.mac | 關於實體的 MAC 位址 |
| deviceProcessName、Subject、Emne、Path | about.process.command_line | 程序的指令列 |
| dvcpid | about.process.pid | 程序 ID |
| filePermission | about.resource.attribute.permissions | 與資源相關聯的權限 |
| extensions.auth.type | 驗證類型 | |
| sender_ip | intermediary.ip | 中介裝置的 IP 位址 |
| 中介 | 中介實體詳細資料 | |
| 收到、產生、時間戳記 | metadata.collected_timestamp | 收集事件時的時間戳記 |
| msg、signature_name | metadata.description | 事件說明 |
| metadata.event_type | 事件類型 (例如USER_LOGIN、NETWORK_CONNECTION) | |
| device_event_class_id、event_name、eventType | metadata.product_event_type | 產品專屬事件類型 |
| externalId | metadata.product_log_id | 產品記錄 ID |
| metadata.product_version | 產品版本 | |
| network.application_protocol | 網路連線中使用的應用程式通訊協定 | |
| deviceDirection | network.direction | 網路流量方向 |
| requestMethod | network.http.method | 要求中使用的 HTTP 方法 |
| requestClientApplication | network.http.user_agent | HTTP 要求的 User-Agent 字串 |
| proto | network.ip_protocol | 使用的 IP 通訊協定 |
| 在 | network.received_bytes | 接收的位元組數 |
| out | network.sent_bytes | 傳送的位元組數 |
| session_id | network.session_id | 網路連線的工作階段 ID |
| sntdom、Domain、Domene | principal.administrative_domain | 主體的管理網域 |
| sourceServiceName、source_program | principal.application | 與主體相關聯的應用程式 |
| prin_host、Device_name、Enhetsnavn、shost、principal_hostname、client_hostname | principal.asset.hostname | 主要資產的主機名稱 |
| sender_ip、src_ip、src、principal_ip、client_ip | principal.asset.ip | 主要資產的 IP 位址 |
| Group_name、Gruppenavn | principal.group.group_display_name | 主體群組的顯示名稱 |
| prin_host、Device_name、Enhetsnavn、shost、principal_hostname、client_hostname | principal.hostname | 主體的主機名稱 |
| sender_ip、src_ip、src、principal_ip、client_ip | principal.ip | 主體的 IP 位址 |
| smac | principal.mac | 主體的 MAC 位址 |
| sourceTranslatedAddress | principal.nat_ip | 主體的 NAT IP 位址 |
| sourceTranslatedPort | principal.nat_port | 主體的 NAT 連接埠 |
| spt、client_port | principal.port | 主體使用的通訊埠 |
| sproc | principal.process.command_line | 主要程序的指令列 |
| spid | principal.process.pid | 主體的程序 ID |
| spriv | principal.user.attribute.roles | 與主體使用者相關聯的角色 |
| suser、usrName、CustomerName | principal.user.user_display_name | 主要使用者的顯示名稱 |
| dbUser、usrName、db_user、os_user、suid、db_username | principal.user.userid | 主體的使用者 ID |
| security_result | 安全性結果詳細資料 | |
| security_result.action | 安全性結果中採取的動作 | |
| act、Action_Taken | security_result.action_details | 已採取行動的詳細資料 |
| cat | security_result.category_details | 安全性結果的類別詳細資料 |
| msg_data_2、alert_description、Type、Scan_Type | security_result.description | 安全性結果說明 |
| operation_label、operasjon_label、permission_label、tillatelse_label、infection_channel_label、spyware_Grayware_Type_label、threat_probability_label | security_result.detection_fields | 安全結果中用於偵測的欄位 |
| mwProfile、alert_name | security_result.rule_name | 觸發安全結果的規則名稱 |
| 嚴重程度、事件嚴重程度 | security_result.severity | 安全結果的嚴重性等級 |
| 原因、規則說明、應用程式類別、結果 | security_result.summary | 安全性結果摘要 |
| Spyware、Virus_Malware_Name、Unknown_Threat | security_result.threat_name | 偵測到的威脅名稱 |
| oldFilePath | src.file.full_path | 來源檔案的完整路徑 |
| oldFileSize | src.file.size | 來源檔案大小 |
| oldFilePermission | src.resource.attribute.permissions | 來源資源的權限 |
| os_user | src.user.userid | 來源使用者的使用者 ID |
| dntdom | target.administrative_domain | 目標的管理網域 |
| destinationServiceName、service_name | target.application | 與目標相關聯的應用程式 |
| prin_host、dest_host、server_hostname | target.asset.hostname | 目標資產的主機名稱 |
| dst_ip、dest_ip、server_ip、IPv6_Address | target.asset.ip | 目標資產的 IP 位址 |
| temp_dhost、dest_host、server_hostname | target.hostname | 目標主機名稱 |
| dst_ip、dst、dest_ip、server_ip、IPv6_Address | target.ip | 目標的 IP 位址 |
| dmac | target.mac | 目標的 MAC 位址 |
| destinationTranslatedAddress | target.nat_ip | 目標的 NAT IP 位址 |
| destinationTranslatedPort | target.nat_port | 目標的 NAT 連接埠 |
| dpt、dstPort、dest_port、server_port | target.port | 目標使用的通訊埠 |
| dproc、full_sql | target.process.command_line | 目標程序的指令列 |
| File_name、Object、Objekt、Infected_Resource | target.process.file.full_path | 目標程序檔案的完整路徑 |
| dpid、full_sql_id | target.process.pid | 目標的程序 ID |
| session_start | target.resource.attribute.creation_time | 目標資源的建立時間 |
| additional_environment_name、additional_db_protocol_version、additional_dbProtocolVersion、additional_operation_name、additional_signature_id、resource_Type_label | target.resource.attribute.labels | 與目標資源相關聯的標籤 |
| session_end | target.resource.attribute.last_update_time | 目標資源的上次更新時間 |
| db_name、database_name | target.resource.name | 目標資源名稱 |
| db_type、server_type | target.resource.resource_subtype | 目標資源的子類型 |
| target.resource.resource_type | 目標資源類型 | |
| 要求 | target.url | 與目標相關聯的網址 |
| dpriv、roles | target.user.attribute.roles | 與目標使用者相關聯的角色 |
| temp_duser、CustomerName | target.user.user_display_name | 目標使用者的顯示名稱 |
| temp_duid、User、Bruker、db_username | target.user.userid | 目標的使用者 ID |
| metadata.product_name | 產品名稱 | |
| metadata.vendor_name | 供應商名稱 |
還有其他問題嗎?向社群成員和 Google SecOps 專業人員尋求答案。