iwasaydev/pfSense-Squid-Wazuh-SIEM-Deployment
GitHub: iwasaydev/pfSense-Squid-Wazuh-SIEM-Deployment
该项目演示了如何将 pfSense 防火墙、Squid+ClamAV 代理与 Wazuh SIEM 集成,实现恶意软件检测、集中日志监控与事件响应的完整安全监控流程。
Stars: 0 | Forks: 0
# 🛡️ pfSense + Squid Proxy + ClamAV + Wazuh SIEM 集成
## 📋 项目概述
本代码库包含了我在 **ITSimplera Solutions** 担任 **SOC Analyst 实习生**期间完成的**第 3 周任务**的完整实现。目标是部署和配置 pfSense Firewall、带有 ClamAV 的 Squid Proxy 以及 Wazuh SIEM,以检测和监控恶意软件活动。
## 🎯 任务目标
- ✅ 部署并配置 pfSense Firewall 作为边界网关
- ✅ 安装并配置带有 ClamAV 防病毒软件的 Squid Proxy
- ✅ 配置 Syslog-NG 并与 Wazuh SIEM 集成
- ✅ 创建自定义 Wazuh 解码器和规则
- ✅ 使用 EICAR 测试文件测试恶意软件检测
- ✅ 在 Wazuh Dashboard 中监控并验证安全告警
- ✅ 分析日志并制定事件响应计划
## 🛠️ 使用的工具与技术
| 工具 | 用途 |
|------|---------|
| **pfSense CE** | 防火墙与路由平台 |
| **Squid Proxy** | Web 代理与缓存 |
| **ClamAV** | 防病毒引擎(通过 C-ICAP) |
| **Syslog-NG** | 日志转发 |
| **Wazuh SIEM (4.x)** | 集中式安全监控 |
| **VMware Workstation** | 虚拟化平台 |
## 📊 架构概述
┌─────────────────────────────────────────────────────────────────────┐
│ Internet │
└────────────────────────────┬────────────────────────────────────────┘
│
┌────────────────────────────┴────────────────────────────────────────┐
│ pfSense Firewall │
│ (192.168.18.72 / 192.168.1.1) │
│ │
│ ┌───────────────┐ ┌──────────────────────────────────────┐ │
│ │ Squid Proxy │ │ ClamAV (Antivirus via C-ICAP) │ │
│ │ Port 3128 │ │ Malware Scanning │ │
│ └───────────────┘ └──────────────────────────────────────┘ │
│ │ │
│ ┌─────────┴─────────┐ │
│ │ Syslog-NG │ │
│ │ (UDP 514) │ │
│ └─────────┬─────────┘ │
└──────────────────────────────┼──────────────────────────────────────┘
│
┌──────────────────────────────┴──────────────────────────────────────┐
│ Wazuh SIEM │
│ (192.168.18.87) │
│ Custom Decoders & Rules Created │
│ ┌────────────────────────────────────┐ │
│ │ Wazuh Dashboard │ │
│ │ Alerts & Threat Hunting │ │
│ └────────────────────────────────────┘ │
└─────────────────────────────────────────────────────────────────────┘
## ✅ 实施步骤摘要
### 1. pfSense Firewall 部署
- 下载 pfSense CE ISO
- 在 VMware 中创建具有 2GB 内存、20GB 磁盘的虚拟机 (VM)
- 配置 WAN (NAT) 和 LAN (Host-only) 接口
- 通过 `https://192.168.1.1` 访问 WebGUI
### 2. Squid Proxy 安装与配置
- 通过 pfSense Package Manager 安装 Squid Proxy 软件包
- 在 LAN 接口上启用 Squid Proxy,端口 3128
- 配置 Local Cache 设置
### 3. ClamAV 集成
- 通过 C-ICAP 启用 ClamAV 防病毒扫描
- 验证 ClamAV 服务正在运行
### 4. Syslog-NG 与 Wazuh 集成
- 在 pfSense 上安装 Syslog-NG 软件包
- 使用 Wazuh 目标配置 syslog-ng.conf
- 在 Wazuh `ossec.conf` 中启用远程 syslog 输入
### 5. 自定义 Wazuh 解码器与规则
- 创建 `squid-proxy` 和 `clamav-log` 解码器
- 创建自定义规则(100010, 100020, 100102)
- 使用 `wazuh-logtest` 进行验证
### 6. EICAR 恶意软件检测测试
- 创建 EICAR 测试文件
- 使用 ClamAV 扫描 → `Eicar-Signature FOUND`
- 通过 syslog 将日志转发至 Wazuh
- 在 Wazuh Dashboard 中验证告警
### 7. 事件响应计划
- 制定了符合 NIST SP 800-61 标准的事件响应 (IR) 计划
- 记录了以下阶段:准备、识别、遏制、根除、恢复、经验教训
## 📸 截图摘要
| # | 截图 | 描述 |
|---|------------|-------------|
| 1 | `01-pfsense-dashboard.png` | pfSense WebGUI Dashboard |
| 2 | `02-squid-proxy-settings.png` | Squid Proxy 常规设置 |
| 3 | `03-squid-local-cache.png` | Squid Local Cache 配置 |
| 4 | `04-clamav-antivirus.png` | ClamAV 与 Squid 集成 |
| 5 | `05-syslog-ng-install.png` | Syslog-NG 软件包安装 |
| 6 | `06-syslog-ng-config.png` | Syslog-NG 配置 |
| 7 | `07-syslog-ng-service.png` | Syslog-NG 服务运行中 |
| 8 | `08-wazuh-remote-syslog.png` | Wazuh 远程 Syslog 输入 |
| 9 | `09-custom-decoders-rules.png` | 自定义解码器与规则 |
| 10 | `10-wazuh-logtest.png` | wazuh-logtest 输出 |
| 11 | `11-eicar-clamscan.png` | ClamAV EICAR 检测 |
| 12 | `12-eicar-wazuh-alert.png` | Wazuh Dashboard 告警 |
| 13 | `13-firewall-logs.png` | 防火墙日志分析 |
| 14 | `14-incident-response-plan.png` | 事件响应计划 |
## 🔍 遇到的挑战与解决方案
| 挑战 | 解决方案 |
|-----------|------------|
| Syslog-NG 服务未启动 | 修复了权限和配置 |
| Wazuh 远程 syslog 未接收到日志 | 在 `ossec.conf` 中添加了 UDP 514 输入 |
| 自定义解码器 XML 语法错误 | 更正了根标签和文件结构 |
| Wazuh Manager 重启失败 | 移除了无效的 XML,重启成功 |
| EICAR 告警未在 Dashboard 中显示 | 通过 `wazuh-logtest` 和归档进行了验证 |
## 📚 关键学习点
- ✅ 端到端安全监控 pipeline 部署
- ✅ SIEM 与防火墙、代理和防病毒日志的集成
- ✅ 使用 Wazuh 解码器进行自定义日志解析
- ✅ 使用 EICAR 测试文件进行恶意软件检测验证
- ✅ 为 SOC 环境制定事件响应计划
- ✅ 开源安全工具的实践经验
## 📝 作者
**Abdul Wasay**
ITSimplera Solutions SOC Analyst 实习生
## 🔗 实用链接
- [pfSense 文档](https://docs.netgate.com/pfsense/en/latest/)
- [Squid Proxy 文档](http://www.squid-cache.org/Doc/)
- [ClamAV 文档](https://docs.clamav.net/)
- [Wazuh 文档](https://documentation.wazuh.com/)
- [Syslog-NG 文档](https://www.syslog-ng.com/technical-documents/)
## 📄 许可证
本项目用于教育目的,属于 ITSimplera 实习计划的一部分。
标签:DNS 反向解析, PB级数据处理, 安全运维, 网络信息收集, 网络安全, 防火墙, 隐私保护