收集 Netgate pfSense 記錄
支援的國家/地區:
Google SecOps
SIEM
本文說明如何使用 Google Security Operations 轉送器收集 Netgate pfSense 記錄。
詳情請參閱「將資料擷取至 Google SecOps」。
擷取標籤會識別剖析器,該剖析器會將原始記錄資料正規化為結構化 UDM 格式。本文件中的資訊適用於具有 PFSENSE
攝入標籤的剖析器。
設定 Netgate pfSense
- 使用管理員憑證登入 pfSense 介面。
- 在「Global log」(全域記錄) 設定中,執行下列操作:
- 依序選取「狀態」>「系統記錄」>「設定」。
- 在「設定」分頁中,選取「一般記錄選項」,然後執行下列操作:
- 在「記錄訊息格式」欄位中,選取「syslog (RFC 5424,含 RFC 3339 微秒精確度時間戳記)」。
- 在「記錄防火牆預設封鎖」欄位中,勾選下列核取方塊:
- 規則集中預設封鎖規則相符的記錄檔封包
- 記錄檔封包符合規則集中預設的傳遞規則
- 記錄遭「封鎖虛假網路」規則封鎖的封包
- 記錄遭「封鎖私人網路」規則封鎖的封包
- 如要儲存新設定,請按一下「儲存」。
將防火牆記錄傳送至 Google SecOps
- 在「全域記錄」設定中,依序選取「狀態」>「系統記錄」>「設定」。
- 在「設定」分頁中,選取「遠端記錄選項」,然後執行下列操作:
- 在「啟用遠端記錄」欄位中,勾選「將記錄訊息傳送至遠端系統記錄伺服器」核取方塊。
- 保留「來源位址」欄位的預設值「任何」。
- 在「IP Protocol」(IP 通訊協定) 欄位中,如果來源地址已選取為預設值,則不需要指定 IP 位址。否則請輸入 IP 位址。
- 在「Remote log servers」(遠端記錄伺服器) 中,指定 Google SecOps 轉寄站 IP 位址。
- 在「Remote syslog contents」(遠端系統記錄內容) 中,選取「Firewall events」(防火牆事件) 核取方塊。
- 如要儲存變更,請按一下「儲存」。
設定 Google SecOps 轉送器,擷取 Netgate pfSense 記錄
- 依序選取「SIEM 設定」>「轉送器」。
- 按一下「新增轉寄者」。
- 在「轉寄者名稱」欄位中,輸入轉寄者的專屬名稱。
- 依序點選「提交」和「確認」。轉送器新增完成後,系統會顯示「新增收集器設定」視窗。
- 在「Collector name」(收集器名稱) 欄位中,輸入收集器的專屬名稱。
- 選取「pfSense」做為「記錄類型」。
- 在「收集器類型」欄位中,選取「Syslog」。
- 設定下列必要輸入參數:
- 通訊協定:指定收集器用來監聽系統記錄資料的連線通訊協定。
- 地址:指定收集器所在位置的目標 IP 位址或主機名稱,並監聽系統記錄資料。
- 通訊埠:指定收集器所在位置的目標通訊埠,並監聽系統記錄資料。
- 按一下「提交」。
如要進一步瞭解 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.hostname 或 intermediary.ip |
如果主機值是有效的 IP 位址,則會對應至 intermediary.ip 。否則會對應至 intermediary.hostname 。 |
主機 | principal.hostname 、principal.asset.hostname |
如果沒有主體 IP,主機就會視為主要主機名稱。 |
mac | principal.mac 、network.dhcp.chaddr |
系統會擷取與 DHCP 要求相關聯的 MAC 位址,並進行對應。 |
src_ip | principal.ip 、principal.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.ip 、principal.asset.ip (如果 IPv6 和 column9 為 6) |
如果說明採用 CSV 格式,且 column9 為 6,則會從第十六個 CSV 欄位對應。如果是 TCP/UDP 事件,則用於通訊協定識別 (如果第 9 欄為 4)。 |
column17 | target.ip 、target.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.ip 、principal.asset.ip 。 |
column20 | additional.fields (鍵:「data_length」) (如果是 UDP) |
如果說明採用 CSV 格式,且通訊協定為 UDP,則會從第二十個 CSV 欄位對應。其他事件則會對應至 target.ip 、target.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.ip 、principal.asset.ip |
從說明欄位擷取,代表主要 IP 位址。 |
principal_username | principal.user.userid |
從說明欄位擷取,代表主要使用者名稱。 |
狀態 | security_result.detection_fields (鍵:「status」) |
從說明欄位擷取,並新增為安全結果中的偵測欄位。 |
target_host | target.hostname 、target.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 專業人員尋求答案。