收集 Netgate pfSense 記錄

支援以下發布途徑:

本文說明如何使用 Google 安全作業轉送器收集 Netgate pfSense 記錄。

詳情請參閱「將資料匯入 Google SecOps」。

擷取標籤可識別剖析器,將原始記錄資料正規化為結構化 UDM 格式。本文中的資訊適用於使用 PFSENSE 攝入標籤的剖析器。

設定 Netgate pfSense

  1. 使用管理員憑證登入 pfSense 介面。
  2. 在「Global log」設定中,執行下列操作:
    1. 依序選取「狀態」>「系統記錄」>「設定」
    2. 在「Settings」分頁中,選取「General logging options」,然後執行下列操作:
      1. 在「記錄訊息格式」欄位中,選取「syslog (RFC 5424, with RFC 3339 microsecond-precision timestamps)」
      2. 在「記錄防火牆預設封鎖」欄位中,勾選下列核取方塊:
        • 根據規則集合中的預設封鎖規則比對的記錄封包
        • 根據規則集中的預設通過規則比對的記錄封包
        • 記錄遭到「Block bogon networks」規則封鎖的封包
        • 記錄遭「封鎖私人網路」規則封鎖的封包
  3. 如要儲存新設定,請按一下「儲存」

將防火牆記錄傳送至 Google SecOps

  1. 在「全域記錄」設定中,依序選取「狀態」>「系統記錄」>「設定」
  2. 在「Settings」分頁中,選取「Remote logging options」,然後執行下列操作:
    • 在「Enable remote logging」欄位中,選取「Send log messages to remote syslog server」核取方塊。
    • 將「Source address」欄位中的預設值保留為「Any」
    • 如果「IP 通訊協定」欄位中的預設值是來源位址,您就不需要指定 IP 位址。否則請輸入 IP 位址。
    • 在「Remote log servers」(遠端記錄伺服器) 中,指定 Google SecOps 轉寄站 IP 位址。
    • 在「遠端 syslog 內容」中,勾選「防火牆事件」核取方塊。
  3. 如要儲存變更,請按一下「儲存」

設定 Google SecOps 轉送器,以便擷取 Netgate pfSense 記錄

  1. 依序選取「SIEM 設定」>「轉送器」
  2. 按一下「新增轉寄者」
  3. 在「轉介器名稱」欄位中,輸入轉介器的專屬名稱。
  4. 依序點選「提交」和「確認」。系統會新增轉送器,並顯示「Add collector configuration」視窗。
  5. 在「收集器名稱」欄位中,輸入收集器的專屬名稱。
  6. 選取「記錄類型」,然後選取「pfSense」
  7. 在「收集器類型」欄位中,選取「Syslog」
  8. 設定下列必要輸入參數:
    • Protocol:指定收集器用來監聽 syslog 資料的連線通訊協定。
    • Address:指定收集器所在位置和收聽 syslog 資料的目標 IP 位址或主機名稱。
    • Port:指定收集器所在位置,以及用於監聽 syslog 資料的目標通訊埠。
  9. 點選「提交」

如要進一步瞭解 Google SecOps 轉送器,請參閱「透過 Google SecOps UI 管理轉送器設定」。

如果在建立轉送器時遇到問題,請與 Google SecOps 支援團隊聯絡。

欄位對應參考資料

這個 pfSense 防火牆剖析器會使用 grok 模式從 syslog 訊息中擷取欄位,處理各種記錄格式,包括 DHCP 和防火牆事件。接著,系統會將這些擷取的欄位對應至 UDM,並透過 IP 位址、MAC 位址、使用者名稱和網路詳細資料等背景資訊,豐富資料內容。

UDM 對應表

記錄欄位 UDM 對應 邏輯
調度應用程式資源 principal.application 系統會使用 grok 模式從記錄訊息中擷取值。對於 syslog 訊息,應用程式名稱通常會出現在主機名稱和時間戳記之後。
指令 principal.process.command_line 當記錄指出指令執行時,從說明欄位擷取。
說明 metadata.description 說明欄位會對應至 UDM 中繼資料說明,但 syslog-ng 應用程式記錄會對應至 metadata.description。對於 DHCP 事件,說明會加上 dhcp_type
dhcp_type metadata.product_event_type DHCP 訊息類型 (例如DHCPDISCOVER、DHCPOFFER) 已擷取並對應。
主機 intermediary.hostnameintermediary.ip 如果主機值是有效的 IP 位址,則會對應至 intermediary.ip。否則會對應至 intermediary.hostname
主機 principal.hostnameprincipal.asset.hostname 如未提供主要 IP,主機會視為主要主機名稱。
mac principal.macnetwork.dhcp.chaddr 系統會擷取與 DHCP 要求相關聯的 MAC 位址,並進行對應。
src_ip principal.ipprincipal.asset.ip 使用 grok 模式從特定記錄格式擷取。
src_mac principal.mac 使用 grok 模式從特定記錄格式擷取。
dst_mac target.mac 使用 grok 模式從特定記錄格式擷取。
時間戳記 metadata.event_timestamp 系統會從記錄訊息中擷取時間戳記,並轉換為 UDM 時間戳記格式。如果可用,系統會在轉換前將時區資訊 (tz) 附加至時間戳記。
timestamp_no_year metadata.event_timestamp 如果有未附帶年份的時間戳記,系統會在剖析過程中剖析該戳記,並在剖析過程中新增目前的年份。
使用者 principal.user.userid 系統會擷取與事件相關聯的使用者名稱,並進行對應。
第 1 欄 security_result.rule_id 如果說明為 CSV 格式,則會從第一個 CSV 欄對應。
column6 security_result.rule_type 如果說明為 CSV 格式,則會從第六個 CSV 欄對應。
column7 security_result.action 如果說明為 CSV 格式,則會從第七欄對應。已轉換為「BLOCK」或「ALLOW」。
column8 network.direction 如果說明為 CSV 格式,則會從第八個 CSV 欄對應。已轉換為「INBOUND」或「OUTBOUND」。
column13 network.ip_protocol (如果是 UDP 或 ICMP) 如果說明為 CSV 格式,且通訊協定為 UDP 或 ICMP,則會從第十三個 CSV 欄進行對應。針對 TCP/UDP 事件,這項屬性會用來建立具有「Id」鍵的額外欄位。
column16 principal.ipprincipal.asset.ip (如果 IPv6 和第 9 欄為 6) 如果說明為 CSV 格式,且第 9 欄為 6,則會從第 16 欄的 CSV 資料進行對應。針對 TCP/UDP 事件,如果第 9 欄為 4,則會用於通訊協定識別。
column17 target.iptarget.asset.ip (如果是 IPv6 且非 ip_failure) 如果說明為 CSV 格式,則會從第 17 欄對應,第 9 欄為 6,且值為有效 IP。針對 TCP/UDP 事件,這項屬性用於識別通訊協定。
column18 principal.port (如果是 UDP) 如果說明為 CSV 格式且通訊協定為 UDP,則會從第十八個 CSV 欄對應。對於 TCP/UDP 事件,會對應至 network.received_bytes
column19 target.port (如果是 UDP) 如果說明為 CSV 格式,且通訊協定為 UDP,則會從第十九個 CSV 欄位對應。對於 DHCP 事件,則會對應至 network.dhcp.yiaddr。對於其他事件,則會對應至 principal.ipprincipal.asset.ip
column20 additional.fields (鍵:"data_length") (如果是 UDP) 如果說明為 CSV 格式,且通訊協定為 UDP,則會從第 20 欄的 CSV 資料對應。對於其他事件,則會對應至 target.iptarget.asset.ip
column21 principal.port (如果是 TCP/UDP) 如果說明為 CSV 格式,且通訊協定為 TCP 或 UDP,則會從 CSV 的第二十一欄對應。
column22 target.port (如果是 TCP/UDP) 如果說明為 CSV 格式,且通訊協定為 TCP 或 UDP,則會從 CSV 的第二十二欄進行對應。
column23 additional.fields (鍵:"data_length") (如果是 TCP/UDP) 如果說明為 CSV 格式,且通訊協定為 TCP 或 UDP,則會從第 23 欄的值對應而來。
column24 additional.fields (鍵:"tcp_flags") (如果是 TCP) 如果說明為 CSV 格式且通訊協定為 TCP,則會從第 24 欄的值對應。
column25 additional.fields (鍵:"sequence_number") (如果是 TCP/UDP) 如果說明為 CSV 格式,且通訊協定為 TCP 或 UDP,則會從第 25 欄的值對應而來。
column29 additional.fields (鍵值:「tcp_options」) (如果是 TCP) 如果說明為 CSV 格式且通訊協定為 TCP,則會從第 29 欄的 CSV 對應。
compression_algo additional.fields (鍵值:「Compression Algorithm」) 從說明欄位擷取,並新增為額外欄位。
遞減 metadata.description 從訊息欄位擷取,用於說明。
principal_ip principal.ipprincipal.asset.ip 從說明欄位擷取,代表主要 IP 位址。
principal_username principal.user.userid 從說明欄位擷取,代表主要使用者名稱。
狀態 security_result.detection_fields (鍵:"status") 從說明欄位擷取,並新增為安全性結果中的偵測欄位。
target_host target.hostnametarget.asset.hostname 從說明欄位擷取,代表目標主機名稱。
src_port principal.port 從說明欄位擷取,代表來源埠。根據各種記錄檔欄位和剖析器邏輯決定。可以是 NETWORK_CONNECTION、NETWORK_DHCP、STATUS_UPDATE 或 GENERIC_EVENT。已硬式編碼為「PFSENSE」。已硬式編碼為「PFSENSE」。已硬式編碼為「PFSENSE」。針對 DHCP 事件,將這個欄位設為「DHCP」。將 DHCPDISCOVER 和 DHCPREQUEST 設為「BOOTREQUEST」,將 DHCPOFFER 和 DHCPACK 設為「BOOTREPLY」。根據 dhcp_type 欄位將其設為「DISCOVER」、「REQUEST」、「OFFER」或「ACK」。

異動

2024-05-08

  • 新增 Grok 模式,用於剖析「description」欄位。
  • 將「principal_ip」對應至「principal.ip」和「principal.asset.ip」。
  • 將「src_port」對應至「principal.port」。
  • 將「compression_algo」對應至「additional.fields」。
  • 將「status」對應至「security_result.detection_fields」。
  • 將「principal_username」對應至「principal.user.userid」。
  • 將「target_host」對應至「target.hostname」和「target.asset.hostname」。

2023-05-05

  • 在對應「network.ip_protocol」之前,新增轉換為大寫的功能。
  • 當「column13」中含有通訊協定時,系統會將「column18」對應至「principal.port」。
  • 當「column13」中含有通訊協定時,系統會將「column19」對應至「target.port」。
  • 當「column13」中出現通訊協定時,將「column20」對應至「additional.fields」做為「data-length」。

2023-02-20

  • 新增 Grok 模式,支援新的篩選器記錄格式和 syslog-ng 格式。

2022-10-04

  • 針對 event_types 為「NETWORK_CONNECTION」的記錄,將防火牆裝置名稱重新對應為 intermediary.hostname,而非 principal.hostname。

2022-09-05

  • Enhancement-
  • 針對 CSV 格式記錄檔,系統會對應下列欄位。
  • 新增 grok 模式,用於擷取「IP」和「MAC」。
  • 將「column19」(「source-address」) 對應至「network.dhcp.yiaddr」。
  • 當「column7」等於「pass」時,將「security_result.action」對應至「ALLOW」。
  • 如果「column9」等於「6」,代表「IPV6」,系統會將下列欄位對應如下:
  • 將「column17」(「destination-address」) 對應至「target.ip」。
  • 將「column16」(「source-address」) 對應至「principal.ip」。
  • 當「column16」和「column17」不為空值時,會將「event_type」對應至「NETWORK_CONNECTION」。
  • 將「column12」(即「hop_limit」) 對應至「additional.fields」。
  • 將「column13」(「ip_protocol」) 對應至「network.ip_protocol」。
  • 將自訂剖析器遷移至預設剖析器。
  • 新增條件式檢查,將「event_type」設為「STATUS_UPDATE」

2022-06-30

  • 已將「ttl」對應至「additional.fields」。
  • 已將「Id」對應至「additional.fields」。
  • 已將「Offset」對應至「additional.fields」。
  • 已將「資料長度」對應至「additional.fields」。
  • 已將「Length」對應至「additional.fields」。
  • 已將「序號」對應至「additional.fields」。

2022-04-11

  • 新建立的剖析器

還有其他問題嗎?向社群成員和 Google SecOps 專家尋求解答。