Catalog

pfSense

pfSense

Pack namepfSense
Version1.0.0
VendorNetgate
CapabilitiesParser · Streaming Rules · Correlation Rules · Dashboard
CategoriesFirewall · Network · Perimeter Security

Overview

Pack cung cấp khả năng giám sát perimeter từ pfSense firewall, bao gồm:

  • Parser — chuẩn hóa log filterlog (IPv4/IPv6) sang ECS
  • 7 streaming rules — phát hiện blocked inbound, SSH/RDP/SMB probe, high-risk ports, ICMP recon, egress violation
  • 2 correlation rules — SSH brute-force campaign, inbound port scan
  • 1 dashboard — 12 chart giám sát SOC perimeter

Yêu cầu trước khi cài đặt

Yêu cầuChi tiết
pfSense 2.5+Bật remote syslog: Status → System Logs → Settings → Enable Remote Logging, tick Firewall Events
Log shipperFilebeat/rsyslog/syslog-ng đẩy log dạng JSON-wrapped về SecOps
Tag log sourcevendor = pfsenseservice = filterlog
Quyền platformRole Content Pack Manager

Định dạng log bắt buộc

{
  "message": "<raw pfSense syslog line chứa filterlog CSV>",
  "timestamp": "2026-03-04T09:15:22.445Z",
  "host": "pfsense.corp"
}

Parser đọc field timestamp (không phải @timestamp), hostobserver.hostname, message → toàn bộ CSV.

Ví dụ log hợp lệ

IPv4 TCP — Blocked Inbound (SSH probe):

{"@timestamp":"2026-03-04T09:15:22.445Z","message":"<134>1 2026-03-04T09:15:22+07:00 pfsense.corp filterlog 1234 - - 12,,,b2e74a92,em0,match,block,in,4,0x0,,64,54321,0,DF,6,tcp,60,203.0.113.45,192.168.10.10,44523,22,0,S","timestamp":"2026-03-04T09:15:22.445Z","host":"pfsense.corp"}

IPv4 UDP — Blocked Inbound:

{"@timestamp":"2026-03-04T11:05:45.789Z","message":"<134>1 2026-03-04T11:05:45+07:00 pfsense.corp filterlog 1234 - - 99,,,deadbeef,em0,match,block,in,4,0x0,,64,67890,0,none,17,udp,28,198.51.100.22,192.168.1.1,50000,53,28","timestamp":"2026-03-04T11:05:45.789Z","host":"pfsense.corp"}

IPv4 TCP — Allowed Outbound:

{"@timestamp":"2026-03-04T10:30:00.120Z","message":"<134>1 2026-03-04T10:30:00+07:00 pfsense.corp filterlog 1234 - - 58,,,a1b2c3d4,em1,match,pass,out,4,0x0,,64,12345,0,DF,6,tcp,60,192.168.10.50,8.8.8.8,55210,443,0,S","timestamp":"2026-03-04T10:30:00.120Z","host":"pfsense.corp"}

IPv6 TCP — Blocked Inbound (RDP):

{"@timestamp":"2026-03-04T14:20:10.333Z","message":"<134>1 2026-03-04T14:20:10+07:00 pfsense.corp filterlog 1234 - - 7,,,11223344,em0,match,block,in,6,0x00000000,64,6,tcp,52,2001:db8::1,2001:db8::100,55000,3389,0,S","timestamp":"2026-03-04T14:20:10.333Z","host":"pfsense.corp"}

Lưu ý: Message phải chứa từ khóa filterlog — parser bỏ qua các dòng không có từ khóa này. IPv6 có layout CSV khác IPv4 (source IP ở field 15 thay vì 18), parser tự động phân biệt qua field 8 (IP version).


Cài đặt

  1. Vào Marketplace → tìm "pfSense Security"Install
  2. Kiểm tra Parserspfsense-parser đang active
  3. Kiểm tra Detection Rules → filter tag pfSense → 9 rules đang enabled
  4. Mở DashboardspfSense Security Overview

Parser — Các trường ECS chính

ECS FieldNguồnMô tả
event.actionCSV field 6allowed / denied
network.directionCSV field 7inbound / outbound
network.transportDerivedtcp, udp, icmp, icmp6
source.ip / source.portCSV field 18/20 (IPv4), 15/17 (IPv6)IP và port nguồn
destination.ip / destination.portCSV field 19/21 (IPv4), 16/18 (IPv6)IP và port đích
observer.hostname.hostTên pfSense
observer.ingress.interface.nameCSV field 4Interface nhận gói
rule.idCSV field 0Rule number pfSense

IPv4 và IPv6 có field layout khác nhau — parser tự động phát hiện qua field 8 (IP version).


Detection Rules

Streaming Rules (7 rules — real-time)

#RuleSeverityMô tả
1Inbound Traffic BlockedMediumBất kỳ kết nối inbound nào bị pfSense block (TCP/UDP/ICMP, IPv4/IPv6)
2SSH Port BlockedMediumKết nối TCP đến port 22 bị block — phát hiện brute-force hoặc unauthorized SSH
3RDP Port BlockedHighKết nối TCP đến port 3389 bị block — RDP là vector ransomware phổ biến
4SMB Lateral Movement BlockedHighKết nối TCP đến port 445/139 bị block — dấu hiệu lateral movement hoặc ransomware
5High-Risk Port Probe BlockedHighKết nối đến các port nguy hiểm bị block: Telnet (23), MSSQL (1433), Oracle (1521), VNC (5900), MySQL (3306)
6ICMP Blocked InboundMediumICMP/ICMPv6 inbound bị block — phát hiện ping flood, host discovery, covert channel
7Outbound Egress ViolationHighKết nối outbound từ host nội bộ bị block — chỉ báo C2 malware hoặc exfiltration

Correlation Rules (2 rules — pattern)

#RuleSeverityMô tảNgưỡngLookback
8SSH Brute ForceHighNhiều lần bị block SSH liên tiếp từ cùng IP nguồn> 10 lần15 phút
9Inbound Port ScanHighHàng loạt kết nối inbound bị deny từ cùng IP — dấu hiệu nmap/masscan> 50 lần5 phút

Dashboard — pfSense Security Overview

#ChartLoạiMô tả
1Traffic Events TrendLINETrend allowed/denied theo thời gian
2Total Firewall EventsMETRICTổng số sự kiện
3Blocked Inbound EventsMETRICTổng inbound bị block
4Blocked Outbound EventsMETRICTổng outbound bị block
5Unique Attacker IPsMETRICSố IP nguồn khác nhau
6Event Action DistributionPIEAllowed vs Denied
7Traffic Direction DistributionPIEInbound vs Outbound
8Top Blocked Source IPsBARIP tấn công nhiều nhất
9Top Targeted Destination PortsBARPort bị probe nhiều nhất
10Top Targeted Destination IPsBARIP nội bộ bị nhắm nhiều nhất
11Recent Blocked Inbound TrafficTABLE20 sự kiện inbound bị block gần nhất
12Recent Egress ViolationsTABLE20 sự kiện outbound vi phạm gần nhất

SOC Triage nhanh:

  1. Metrics 2–5 → đánh giá mức độ tổng quan
  2. Chart 8 → một IP chiếm đa số → targeted attacker
  3. Chart 9 → port 22/3389/445 → brute-force/ransomware recon
  4. Tables 11–12 → xác nhận IP tấn công và host bị ảnh hưởng

Troubleshooting

Triệu chứngNguyên nhânCách xử lý
Không có eventSai tag log sourceKiểm tra vendor = pfsenseservice = filterlog
Event có nhưng field trốngThiếu từ filterlog trong messageBật Firewall Events trong pfSense syslog settings
source.ip trốngSai field CSVKiểm tra pfSense log format chuẩn (không custom)
IPv6 không parseSai IP version detectionField 8 trong CSV phải là 6 cho IPv6
Parser không khớpParser bị tắtKiểm tra pfsense-parser.yaml đang active trong Parsers

Checklist parser:

  • Tag vendor = pfsense + service = filterlog
  • JSON có đủ message, timestamp (ISO 8601 + .000Z), host
  • message chứa từ khóa filterlog
  • pfsense-parser.yaml đang active

Hỗ trợ

  • Lỗi platform: Mở ticket tại SecOps support portal
  • Góp ý pack: Dùng tính năng feedback trên trang Marketplace
  • Tuning rule: Slack #detection-engineering

Last updated: 2026-06-03 · Vendor: Netgate · Author: secops-team