susheel-cybercode/pfsense-ids-ips

GitHub: susheel-cybercode/pfsense-ids-ips

该项目展示了在 pfSense 上部署双引擎 IDS/IPS 并集成 Wazuh SIEM 实现集中化威胁检测与告警的完整方案。

Stars: 0 | Forks: 0

# 使用 Wazuh 实现 pfSense IDS/IPS [![Stack](https://img.shields.io/badge/stack-pfSense%20%2B%20Snort%20%2B%20Suricata%20%2B%20Wazuh-blue?style=flat-square)]() [![Scope](https://img.shields.io/badge/scope-IDS%2FIPS%20%2B%20SIEM-orange?style=flat-square)]() [![Status](https://img.shields.io/badge/status-Completed-brightgreen?style=flat-square)]() 使用 **pfSense** 结合 **Snort & Suricata** 进行网络入侵检测/防御的实际 IDS/IPS 部署,并集成 **Wazuh SIEM** 以实现集中化的日志关联和告警。通过使用 Kali Linux 进行真实的攻击模拟验证。 **作者:** SUSHEEL M S | **日期:** 2025年8月23日 ## 架构 ``` ┌──────────────────┐ │ Kali Linux │ │ (Attacker VM) │ │ Nmap / SQLMap / │ │ Hydra / Metasploit│ └────────┬─────────┘ │ Attack Traffic ▼ ┌──────────────────────────────────────────────────────────┐ │ pfSense NGFW │ │ (WAN / LAN / OPT1) │ │ │ │ ┌─────────────────┐ ┌─────────────────┐ │ │ │ Snort │ │ Suricata │ │ │ │ (IDS/IPS #1) │ │ (IDS/IPS #2) │ │ │ │ VRT Rules │ │ ET Rules │ │ │ └────────┬────────┘ └────────┬────────┘ │ │ │ │ │ │ └───────────┬───────────┘ │ │ │ Logs │ │ ▼ │ │ ┌───────────────────────┐ │ │ │ Wazuh SIEM │ │ │ │ (Log Correlation & │ │ │ │ Alert Dashboard) │ │ │ └───────────────────────┘ │ └──────────────────────────────────────────────────────────┘ │ ▼ ┌──────────────────┐ │ Internal Network │ │ (Protected) │ └──────────────────┘ ``` ![架构图](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/c873b2bfdd061156.png) ## 核心亮点 - **双引擎 IDS/IPS** — 在 pfSense 上同时运行 Snort (VRT 规则) 和 Suricata (Emerging Threats),实现分层检测 - **集中化 SIEM** — 所有 pfSense、Snort 和 Suricata 日志均转发至 Wazuh,用于关联和仪表盘可视化 - **经攻击验证** — 针对 Nmap 扫描、SQL 注入 (SQLMap)、暴力破解 和漏洞利用 进行了测试 - **低噪音调优** — 进行规则调优以减少误报,专注于可操作的告警 - **高性价比** — 完全开源的技术栈,可部署在普通硬件上 ## 工具与技术 | 层级 | 工具 | 用途 | |---|---|---| | Firewall | pfSense | 具有接口规则的下一代防火墙 | | IDS/IPS | Snort | 基于特征的入侵检测 (VRT 规则) | | IDS/IPS | Suricata | 高性能 IDS/IPS (Emerging Threats 规则) | | SIEM | Wazuh | 日志聚合、关联、告警仪表盘 | | 攻击模拟 | Kali Linux | Nmap, SQLMap, Hydra, Metasploit | ## 攻击模拟与结果 | 攻击 | 工具 | 检测 | |---|---|---| | 端口扫描 | Nmap | Snort/Suricata SYN 扫描告警 | | SQL 注入 | SQLMap | HTTP payload 检查触发 | | 暴力破解 | Hydra | 重复身份验证失败模式检测 | | 漏洞利用 | Metasploit | 基于特征的漏洞利用检测 | 所有告警均在 Wazuh 仪表盘中进行关联和可视化。 ## 实施步骤 1. 部署 pfSense 虚拟机 — 配置 WAN、LAN 和防火墙基线规则 2. 安装并配置带有 VRT 规则集的 Snort 3. 安装并配置带有 Emerging Threats 规则的 Suricata 4. 部署 Wazuh 服务器并配置来自 pfSense 的日志转发 5. 从 Kali Linux 执行攻击模拟 6. 在 Wazuh 仪表盘中验证告警并调整规则以减少误报 ## 复现此实验环境 ``` # 1. 安装 pfSense (VirtualBox/Proxmox),配置 WAN/LAN 接口 # 2. 在 pfSense 中启用 Snort 和 Suricata 包 # 3. 加载 Emerging Threats 和 Snort VRT 规则集 # 4. 安装 Wazuh 服务器(推荐使用 Docker) # 5. 配置 pfSense 将日志转发至 Wazuh # 6. 从 Kali:nmap -sS 、sqlmap -u 、hydra -l admin ssh # 7. 在 Wazuh dashboard 中验证告警 ``` ## 仓库结构 ``` pfsense-ids-ips/ ├── docs/ │ ├── project_report.pdf # Full project report │ └── architecture.png # System architecture diagram ├── screenshots/ # 46 screenshots — pfSense, Snort, Suricata, Wazuh ├── project_report.pdf # Report (root copy) └── README.md ``` ## 正式报告 包含详细配置步骤和分析的完整项目报告: [`docs/project_report.pdf`](docs/project_report.pdf) ## 作者 **Susheel M S** — Cybersecurity | Network Security | SIEM [GitHub](https://github.com/susheel-cybercode)
标签:CISA项目, IDS/IPS, Metaprompt, PB级数据处理, pfSense, Wazuh, 安全运维, 插件系统, 网络安全, 请求拦截, 隐私保护