收集 Nutanix Prism 記錄
支援以下發布途徑:
Google secops
Siem
總覽
這個剖析器會處理 Nutanix Prism 記錄,同時處理 JSON 和 syslog 格式。這項工具會從各種記錄結構中擷取欄位,並將這些欄位標準化為 UDM,同時加入使用者資訊、網路詳細資料和安全性嚴重性等額外背景資訊,以豐富資料。剖析器也會根據 HTTP 方法和記錄層級執行特定動作,將事件分類為 UDM 事件類型,例如 USER_LOGIN、STATUS_UPDATE 和 GENERIC_EVENT。
事前準備
- 確認您有 Google SecOps 執行個體。
- 確認您具備 Nutanix Prism Central 的特殊存取權。
- 請確認您有 Windows 2012 SP2 以上版本或 Linux 主機 (含 systemd)。
- 如果在 Proxy 後方執行,請確認防火牆通訊埠已開啟。
取得 Google SecOps 擷取驗證檔案
- 登入 Google SecOps 控制台。
- 依序前往「SIEM 設定」>「收集代理程式」。
- 下載擷取驗證檔案。
取得 Google SecOps 客戶 ID
- 登入 Google SecOps 控制台。
- 依序前往「SIEM 設定」>「設定檔」。
- 複製並儲存「機構詳細資料」部分中的客戶 ID。
安裝 Bindplane 代理程式
- 如要安裝 Windows,請執行以下指令碼:
msiexec /i "https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi" /quiet
。 - 如要安裝 Linux,請執行下列指令碼:
sudo sh -c "$(curl -fsSlL https://github.com/observiq/bindplane-agent/releases/latest/download/install_unix.sh)" install_unix.sh
。 - 如需其他安裝選項,請參閱這份安裝指南。
設定 Bindplane Agent 擷取 Syslog 並傳送至 Google SecOps
- 存取已安裝 Bindplane Agent 的電腦。
按照下列方式編輯
config.yaml
檔案:receivers: tcplog: # Replace the below port <54525> and IP (0.0.0.0) with your specific values listen_address: "0.0.0.0:54525" exporters: chronicle/chronicle_w_labels: compression: gzip # Adjust the creds location below according the placement of the credentials file you downloaded creds: '{ json file for creds }' # Replace <customer_id> below with your actual ID that you copied customer_id: <customer_id> endpoint: malachiteingestion-pa.googleapis.com # You can apply ingestion labels below as preferred ingestion_labels: log_type: SYSLOG namespace: Namespace raw_log_field: body service: pipelines: logs/source0__chronicle_w_labels-0: receivers: - tcplog exporters: - chronicle/chronicle_w_labels
重新啟動 Bindplane 代理程式,使用下列指令套用變更:
sudo systemctl bindplane restart
從 Nutanix Prism 匯出 Syslog
- 使用特權帳戶登入 Prism Central。
- 在選單中選取「Prism Central 設定」。
- 前往「Syslog Server」。
- 按一下「+ 設定 Syslog 伺服器」。
- 在「Syslog Servers」對話方塊中指定輸入參數的值:
- 伺服器名稱:輸入伺服器名稱 (例如「Google SecOps Bindplane Server」)
- IP 位址:輸入 Bindplane 代理程式的 IP 位址。
- Port:輸入 Bindplane 服務代理程式監聽的通訊埠。
- 傳輸通訊協定:選取「TCP」。
- 按一下 [設定]。
- 在「資料來源」選項上按一下「+ 編輯」。
- 在「資料來源和相應的嚴重性等級」對話方塊中指定輸入參數的值:
- 選取「API 稽核」、「稽核」和「流程」。
- 將每個項目的嚴重性等級設為 6 - Informational。
- 按一下 [儲存]。
UDM 對應表
記錄欄位 | UDM 對應 | 邏輯 |
---|---|---|
@timestamp |
metadata.event_timestamp |
事件時間戳記會從 @timestamp 欄位解析。支援 yyyy-MM-dd HH:mm:ss.SSS 、yyyy-MM-ddTHH:mm:ssZ 和 ISO8601 格式。 |
agent.id |
observer.asset_id |
與 agent.type 結合,以「agent.type:agent.id」格式組成觀察器素材資源 ID。 |
agent.type |
observer.application |
用於觀察的應用程式。 |
agent.version |
observer.platform_version |
觀察器應用程式的版本。 |
alertUid |
security_result.detection_fields.value |
警示 UID 的值會對應至 detection_fields 中的 value 欄位。key 已設為「Alert Uid」。 |
api_version |
metadata.product_version |
API 版本。 |
clientIp |
principal.ip 、principal.asset.ip |
用戶端 IP 位址。 |
client_type |
principal.labels.value |
用戶端類型的值。key 設為「client_type」。 |
defaultMsg |
metadata.description |
預設訊息。 |
entity_uuid |
metadata.product_log_id |
實體 UUID。 |
http_method |
network.http.method |
HTTP 方法。已轉換為大寫。 |
host.architecture |
principal.asset.hardware.cpu_platform |
主機的架構。 |
host.id |
principal.asset_id |
前置「NUTANIX:」建立主要資產 ID。 |
host.ip |
principal.ip 、principal.asset.ip |
主機 IP 位址。 |
host.mac |
principal.mac |
主機 MAC 位址。 |
host.os.kernel |
principal.platform_patch_level |
主機作業系統的核心版本。 |
host.os.platform |
principal.platform |
主機作業系統的平台。對應至 LINUX 、WINDOWS 、MAC 或 UNKNOWN_PLATFORM 。 |
host.os.version |
principal.platform_version |
主機作業系統的版本。 |
input.type |
network.ip_protocol |
網路通訊協定。對應至「UDP」或「TCP」。 |
log.source.address |
principal.ip 、principal.asset.ip 、principal.port |
剖析以擷取來源 IP 和通訊埠。 |
logstash.collect.host |
observer.ip |
Logstash 收集器的 IP 位址。 |
logstash.collect.timestamp |
metadata.collected_timestamp |
收集記錄時的時間戳記。 |
logstash.ingest.host |
intermediary.hostname |
Logstash 攝入伺服器的主機名稱。 |
logstash.ingest.timestamp |
metadata.ingested_timestamp |
記錄擷取的時間戳記。 |
logstash.irm_environment |
principal.labels.value |
irm 環境的值。key 設為「irm_environment」。 |
logstash.irm_region |
principal.labels.value |
irm 區域的值。key 已設為「irm_region」。 |
logstash.irm_site |
principal.labels.value |
irm 網站的值。key 已設為「irm_site」。 |
logstash.process.host |
intermediary.hostname |
Logstash 處理伺服器的主機名稱。 |
operationType |
metadata.product_event_type |
作業類型。 |
originatingClusterUuid |
additional.fields.value.string_value |
來源叢集的 UUID。key 設為「起始叢集 Uuid」。 |
params.mac_address |
target.mac |
參數中的 MAC 位址。 |
params.requested_ip_address |
target.ip 、target.asset.ip |
參數中要求的 IP 位址。 |
params.vm_name |
target.resource.name |
參數中的 VM 名稱。 |
program |
metadata.product_event_type |
方案名稱。 |
rest_endpoint |
target.url |
REST 端點。 |
sessionId |
additional.fields.value.string_value |
工作階段 ID。key 設為「工作階段 ID」。 |
syslog_host |
principal.hostname 、principal.asset.hostname |
系統記錄檔主機。 |
timestamp |
metadata.event_timestamp |
事件時間戳記。 |
username |
principal.user.user_display_name 或principal.user.userid |
使用者名稱。如果 http_method 為「POST」,則做為使用者 ID 使用。 |
uuid |
metadata.product_log_id |
UUID。 |
不適用 | metadata.vendor_name |
已硬式編碼為「Nutanix_Prism」。 |
不適用 | metadata.product_name |
已硬式編碼為「Nutanix_Prism」。 |
不適用 | metadata.event_type |
由剖析器邏輯判斷,根據 has_principal 、has_target 、audit_log 、network_set 和 http_method 的值。可以是 GENERIC_EVENT 、USER_LOGIN 、STATUS_UPDATE 、USER_RESOURCE_ACCESS 、RESOURCE_CREATION 、USER_RESOURCE_UPDATE_CONTENT 或 USER_RESOURCE_DELETION 。 |
不適用 | metadata.log_type |
硬式編碼為「NUTANIX_PRISM」。 |
不適用 | extensions.auth.type |
如果 metadata.event_type 為 USER_LOGIN ,請將其設為「AUTHTYPE_UNSPECIFIED」。 |
不適用 | security_result.severity |
取決於根據 log_level 和 syslog_pri 的剖析器邏輯。可以是 CRITICAL 、ERROR 、HIGH 、MEDIUM 或 INFORMATIONAL 。 |
異動
2024-02-21
- 如果「inner_message」不為空白,且「not_json」為「true」,請將「audit_log」設為「true」,以支援已捨棄的 JSON 記錄。
- 已對齊「principal.ip」和「principal.asset.ip」對應項目。
- 對齊「target.ip」和「target.asset.ip」對應項目。
- 對齊「principal.hostname」和「principal.asset.hostname」對應項目。
- 如果「network_set」為「false」、「has_principal」為「true」、「has_target」為「false」,且「audit_log」為「false」,請將「metadata.event_type」設為「STATUS_UPDATE」。
- 如果「network_set」為「true」、「has_principal」為「true」、「has_target」為「false」,且「audit_log」為「false」,請將「metadata.event_type」設為「GENERIC_EVENT」。
2024-01-12
- 新增支援 syslog 記錄的新格式。
- 在將「logstash.ingest.host」對應至「intermediary.hostname」之前,新增空值條件檢查。
- 在將「logstash.process.host」對應至「intermediary.hostname」之前,新增空值條件檢查。
- 在將「logstash.collect.host」對應至「observer.ip」之前,新增空值條件檢查。
2023-12-23
- 新增對新類型稽核記錄的支援。
- 新增 Grok 模式,用於剖析 SYSLOG+JSON 記錄。
- 將「affectedEntityList」和「alertUid」對應至「security_result.detection_fields」。
- 將「clientIp」和「params.requested_ip_address」對應至「principal.ip」。
- 將「defaultMsg」對應至「metadata.description」。
- 將「operationType」對應至「metadata.product_event_type」。
- 將「originatingClusterUuid」和「sessionId」對應至「additional.fields」。
- 將「params.mac_address」對應至「principal.mac」。
- 已將「uuid」對應至「metadata.product_log_id」。
- 將「userName」對應至「principal.user.user_display_name」。
- 將「params.vm_name」對應至「target.resource.name」。
2023-01-23
- 將「logstash.ingest.host」對應至「intermediary[0].hostname」,而非「observer.hostname」。
- 將「logstash.collect.host」對應至「observer.ip」。
- 已為「logstash.ingest.host」新增空值檢查。
還有其他問題嗎?向社群成員和 Google SecOps 專家尋求解答。