收集 Netgate pfSense 記錄

支援的國家/地區:

本文說明如何使用 Google Security Operations 轉送器收集 Netgate pfSense 記錄。

詳情請參閱「將資料擷取至 Google SecOps」。

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

設定 Netgate pfSense

  1. 使用管理員憑證登入 pfSense 介面。
  2. 在「Global log」(全域記錄) 設定中,執行下列操作:
    1. 依序選取「狀態」>「系統記錄」>「設定」
    2. 在「設定」分頁中,選取「一般記錄選項」,然後執行下列操作:
      1. 在「記錄訊息格式」欄位中,選取「syslog (RFC 5424,含 RFC 3339 微秒精確度時間戳記)」
      2. 在「記錄防火牆預設封鎖」欄位中,勾選下列核取方塊:
        • 規則集中預設封鎖規則相符的記錄檔封包
        • 記錄檔封包符合規則集中預設的傳遞規則
        • 記錄遭「封鎖虛假網路」規則封鎖的封包
        • 記錄遭「封鎖私人網路」規則封鎖的封包
  3. 如要儲存新設定,請按一下「儲存」

將防火牆記錄傳送至 Google SecOps

  1. 在「全域記錄」設定中,依序選取「狀態」>「系統記錄」>「設定」
  2. 在「設定」分頁中,選取「遠端記錄選項」,然後執行下列操作:
    • 在「啟用遠端記錄」欄位中,勾選「將記錄訊息傳送至遠端系統記錄伺服器」核取方塊。
    • 保留「來源位址」欄位的預設值「任何」
    • 在「IP Protocol」(IP 通訊協定) 欄位中,如果來源地址已選取為預設值,則不需要指定 IP 位址。否則請輸入 IP 位址。
    • 在「Remote log servers」(遠端記錄伺服器) 中,指定 Google SecOps 轉寄站 IP 位址。
    • 在「Remote syslog contents」(遠端系統記錄內容) 中,選取「Firewall events」(防火牆事件) 核取方塊。
  3. 如要儲存變更,請按一下「儲存」

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

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

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

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

欄位對應參考資料

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

UDM 對應表

記錄欄位 UDM 對應 邏輯
調度應用程式資源 principal.application 系統會使用 Grok 模式從記錄訊息中擷取值。如果是系統記錄訊息,應用程式名稱通常位於主機名稱和時間戳記之後。
指令 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 格式,則會從第七個 CSV 欄位對應。轉換為「BLOCK」或「ALLOW」。
column8 network.direction 如果說明採用 CSV 格式,則會從第八個 CSV 欄位對應。轉換為「INBOUND」或「OUTBOUND」。
column13 network.ip_protocol (如果是 UDP 或 ICMP) 如果說明採用 CSV 格式,且通訊協定為 UDP 或 ICMP,則會從第 13 個 CSV 欄位對應。如果是 TCP/UDP 事件,系統會使用這個值建立含有「Id」鍵的額外欄位。
column16 principal.ipprincipal.asset.ip (如果 IPv6 和 column9 為 6) 如果說明採用 CSV 格式,且 column9 為 6,則會從第十六個 CSV 欄位對應。如果是 TCP/UDP 事件,則用於通訊協定識別 (如果第 9 欄為 4)。
column17 target.iptarget.asset.ip (如果為 IPv6 且不是 ip_failure) 如果說明採用 CSV 格式,且第 9 欄為 6,值為有效 IP,則會對應至第 17 個 CSV 欄。如果是 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,則會從第二十個 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 個 CSV 欄位對應。
column24 additional.fields (鍵:「tcp_flags」) (如果是 TCP) 如果說明採用 CSV 格式且通訊協定為 TCP,則會從第 24 個 CSV 欄位對應。
column25 additional.fields (鍵:「sequence_number」) (如果是 TCP/UDP) 如果說明採用 CSV 格式,且通訊協定為 TCP 或 UDP,則會從第 25 個 CSV 欄位對應。
column29 additional.fields (鍵:「tcp_options」) (如果是 TCP) 如果說明採用 CSV 格式且通訊協定為 TCP,則會從第 29 個 CSV 欄位對應。
compression_algo additional.fields (key: "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」。

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