收集 Nutanix Prism 記錄

支援以下發布途徑:

總覽

這個剖析器會處理 Nutanix Prism 記錄,同時處理 JSON 和 syslog 格式。這項工具會從各種記錄結構中擷取欄位,並將這些欄位標準化為 UDM,同時加入使用者資訊、網路詳細資料和安全性嚴重性等額外背景資訊,以豐富資料。剖析器也會根據 HTTP 方法和記錄層級執行特定動作,將事件分類為 UDM 事件類型,例如 USER_LOGINSTATUS_UPDATEGENERIC_EVENT

事前準備

  • 確認您有 Google SecOps 執行個體。
  • 確認您具備 Nutanix Prism Central 的特殊存取權。
  • 請確認您有 Windows 2012 SP2 以上版本或 Linux 主機 (含 systemd)。
  • 如果在 Proxy 後方執行,請確認防火牆通訊埠已開啟。

取得 Google SecOps 擷取驗證檔案

  1. 登入 Google SecOps 控制台。
  2. 依序前往「SIEM 設定」>「收集代理程式」
  3. 下載擷取驗證檔案

取得 Google SecOps 客戶 ID

  1. 登入 Google SecOps 控制台。
  2. 依序前往「SIEM 設定」>「設定檔」
  3. 複製並儲存「機構詳細資料」部分中的客戶 ID

安裝 Bindplane 代理程式

  1. 如要安裝 Windows,請執行以下指令碼:msiexec /i "https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi" /quiet
  2. 如要安裝 Linux,請執行下列指令碼:sudo sh -c "$(curl -fsSlL https://github.com/observiq/bindplane-agent/releases/latest/download/install_unix.sh)" install_unix.sh
  3. 如需其他安裝選項,請參閱這份安裝指南

設定 Bindplane Agent 擷取 Syslog 並傳送至 Google SecOps

  1. 存取已安裝 Bindplane Agent 的電腦。
  2. 按照下列方式編輯 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
    
  3. 重新啟動 Bindplane 代理程式,使用下列指令套用變更: sudo systemctl bindplane restart

從 Nutanix Prism 匯出 Syslog

  1. 使用特權帳戶登入 Prism Central。
  2. 在選單中選取「Prism Central 設定」
  3. 前往「Syslog Server」
  4. 按一下「+ 設定 Syslog 伺服器」
  5. 在「Syslog Servers」對話方塊中指定輸入參數的值:
    • 伺服器名稱:輸入伺服器名稱 (例如「Google SecOps Bindplane Server」)
    • IP 位址:輸入 Bindplane 代理程式的 IP 位址。
    • Port:輸入 Bindplane 服務代理程式監聽的通訊埠。
    • 傳輸通訊協定:選取「TCP」
    • 按一下 [設定]
  6. 在「資料來源」選項上按一下「+ 編輯」
  7. 在「資料來源和相應的嚴重性等級」對話方塊中指定輸入參數的值:
    • 選取「API 稽核」、「稽核」和「流程」
    • 將每個項目的嚴重性等級設為 6 - Informational
    • 按一下 [儲存]

UDM 對應表

記錄欄位 UDM 對應 邏輯
@timestamp metadata.event_timestamp 事件時間戳記會從 @timestamp 欄位解析。支援 yyyy-MM-dd HH:mm:ss.SSSyyyy-MM-ddTHH:mm:ssZISO8601 格式。
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.ipprincipal.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.ipprincipal.asset.ip 主機 IP 位址。
host.mac principal.mac 主機 MAC 位址。
host.os.kernel principal.platform_patch_level 主機作業系統的核心版本。
host.os.platform principal.platform 主機作業系統的平台。對應至 LINUXWINDOWSMACUNKNOWN_PLATFORM
host.os.version principal.platform_version 主機作業系統的版本。
input.type network.ip_protocol 網路通訊協定。對應至「UDP」或「TCP」。
log.source.address principal.ipprincipal.asset.ipprincipal.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.iptarget.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.hostnameprincipal.asset.hostname 系統記錄檔主機。
timestamp metadata.event_timestamp 事件時間戳記。
username principal.user.user_display_nameprincipal.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_principalhas_targetaudit_lognetwork_sethttp_method 的值。可以是 GENERIC_EVENTUSER_LOGINSTATUS_UPDATEUSER_RESOURCE_ACCESSRESOURCE_CREATIONUSER_RESOURCE_UPDATE_CONTENTUSER_RESOURCE_DELETION
不適用 metadata.log_type 硬式編碼為「NUTANIX_PRISM」。
不適用 extensions.auth.type 如果 metadata.event_typeUSER_LOGIN,請將其設為「AUTHTYPE_UNSPECIFIED」。
不適用 security_result.severity 取決於根據 log_levelsyslog_pri 的剖析器邏輯。可以是 CRITICALERRORHIGHMEDIUMINFORMATIONAL

異動

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 專家尋求解答。