duggytuxy/syswarden-freebsd
GitHub: duggytuxy/syswarden-freebsd
一款面向 FreeBSD 的企业级主机入侵检测与防御系统,通过多层防火墙编排、威胁情报注入和应用层主动响应保护关键基础设施。
Stars: 3 | Forks: 1
# SysWarden-FreeBSD
**SysWarden-FreeBSD** 是一款企业级加固主机入侵检测与防御系统(HIDS - HIPS),专为关键 FreeBSD 基础设施设计。它强制执行了部分 CIS Level 2 加固规范,集成了全球威胁情报,并以近乎零的性能开销统筹动态网络防御。
它作为一道无情的防线。通过融合动态防火墙编排(`pf`/`pf`)、全球威胁情报([Data-Shield IPv4](https://github.com/duggytuxy/Data-Shield_IPv4_Blocklist)、GeoIP、ASN)、响应式 HIPS(优化过的 Fail2ban)以及 SIEM 告警路由,SysWarden 过滤掉了互联网的“背景噪音”,并在网络(L2/L3/L4)和应用(L7)层面上消除威胁。它通过极大地缩减现代 EDR/XDR 架构的分析面和服务器的 CPU 负载,对其进行了完美的补充。
## 企业级功能
**核心网络防御(硬件与第 2/3 层)**
* 将威胁情报直接注入 `pf` 下的 `netdev` 表(或 `pf` 下的 `raw PREROUTING`)。恶意数据包在网卡(NIC)处被直接销毁,完全绕过内核路由和 `conntrack` 模块,确保在超大体积 DDoS 攻击期间对 CPU 零影响。
* 自动封锁敌对国家(GeoIP)、已知的网络犯罪托管商和恶意自治系统号(ASN),瞬间消除 97% 的无用流量。
**状态与协议优化(第 3/4 层)**
* 通过静默销毁已过期 `conntrack` 会话的迟到的 `FIN-ACK`/`RST` 数据包,并严格拦截缺少 `SYN` 标志的 `NEW` 连接,实现了 pf 级别的状态强制执行。这绝对根除了高度联邦化和移动设备密集型环境中活动服务端口上的日志污染和端口扫描误报。
* 原生支持现代 Web 协议。只要允许 `TCP/443`,SysWarden 就会自动绑定并配置 `UDP/443`,防止在零信任(Catch-All)层发生激进的 QUIC 握手丢弃,并确保防火墙后 HTTP/3 的无缝运行。
**应用安全与主动响应(第 7 层)**
* 使用经过深度重构和加固的 Fail2ban "jails" 保护 56+ 项关键服务(Docker、Nginx、数据库、CMS),确保近乎零的内存占用和致命的准确性(载荷转义、绕过预防)。
* 通过 `syswarden-waf.sh` 组件无缝集成 [OWASP ModSecurity](https://github.com/owasp-modsecurity/ModSecurity),提供深度的 HTTP 流量检查。
* 原生对接 AbuseIPDB 网络,主动举报攻击者并共享遥测数据。
**加固与合规架构**
* 可选地对内核(eBPF、ASLR、源路由)、内存(核心转储限制)、SSH 和文件系统进行精细加固。它严格遵守 CIS Level 2 要求,且不会破坏现代容器化生产技术栈。
* 将您的 SSH 端口和管理界面隐蔽在隐形的 WireGuard VPN 隧道之后,实现无缝部署。
* 集成 `rsyslog`,原生地仅将高价值的行为封禁(第 7 层)转发至您的 SOC/SIEM(例如 Wazuh)。特意过滤掉第 3 层的噪音,以防止索引饱和并控制摄取成本。
* 通过 SSH 加密的 cron 任务,安全地将威胁情报状态、白名单和配置复制到被动节点。
**可观测性与生命周期管理**
* 通过安全的仪表板 TUI 和专用 CLI 界面监控活动威胁、被封锁的 IP 和系统健康状况。
* 卸载例程执行深度清理。它会安全地还原所有 CIS Level 2 配置(sysctl、modprobe、cron 权限),根除自定义的 `netdev` 和 `raw` 表,并立即将 OS 恢复至最原始的纯净状态,无需重启。
## 硬件感知加固架构
1. OSINT 黑名单、敌对 ASN 和 GeoIP 过滤应用于最低的硬件级别(NIC Ingress hook)。数据包在进入内核路由或状态跟踪(`conntrack`)之前被销毁,防止内存耗尽,并确保在海量攻击期间对 CPU 零影响。
2. 防止在高度联邦化的网络(CGNAT)中出现日志泛滥和端口扫描误报。静默销毁已过期 `conntrack` 会话的迟到的 `FIN-ACK`/`RST` 数据包,并严格丢弃无效的 TCP 连接噪音(例如,缺少 `SYN` 标志的 `NEW` 数据包)。
3. 合法的已建立连接、动态容器流量(例如,`DOCKER-USER` 链)和 Web 协议数据报(映射到 UDP/443 的 HTTP/3 QUIC)被赋予优先权。这种状态化绕过可确保您的生产应用流量零延迟。
4. 主动防御层实时分析应用日志(通过 syslog)。任何行为异常(暴力破解、SQLi、LFI)都会触发精准的 "AllPorts" 封禁,动态将该 IP 与硬件丢弃表同步。
5. 攻击面被绝对密封。任何未经管理员或自动服务发现引擎明确授权的传入流量都将被静默丢弃,强制执行严格的加固原则。
## 支持的操作系统与防火墙后端
SysWarden 动态适应现代企业 FreeBSD 环境的原生防火墙编排引擎。该架构依赖于深度的 rc.d 集成,并原生绑定到以下生态系统:
| 操作系统 | 支持的原生防火墙引擎 | 状态 |
| :--- | :--- | :--- |
| **FreeBSD 14.4+** | pf | 企业就绪 |
## “堡垒”仪表板(TUI 与 CLI)
**交互式 TUI 仪表板**
* 直接从您的控制台实时追踪 L7 行为封禁。
* 利用安全的、本地化的 `data.json` 引擎,可视化排名前列的 OSINT 违规者、被封锁的 ASN 和 GeoIP 拦截统计数据。
* 监控底层防火墙引擎近乎零的内存占用。
**编排、告警与交互式 CLI**
* 将第 7 层 IP 封禁事件安全地直接发送到 **Discord** 或 **Microsoft Teams**。采用严格的传输安全(强制执行 HTTPS/TLS 1.2+)和载荷清理机制进行设计,以防止 SSRF 或命令注入攻击。
* 通过 `syswarden-manager` 直接从 shell 管理您的基础设施(即时查看封锁、白名单和规则幂等性的可见性)。
* 部署过程针对 OS 加固、SIEM 集成、Webhook 配置以及加固策略的成功应用,提供精确的、带有颜色编码的视觉反馈。
## 战略路线图
| 版本 | 里程碑目标 | 状态 |
| :---: | :--- | :---: |
| **v0.00.** | 官方 Alpha 版本 | 🚧 |
## 安装指南
SysWarden 以预编译的、独立的 shell 脚本形式分发。所有复杂的模块都被打包成一个单一的部署构件。
支持两种安装方式:标准的交互模式,以及适用于要求严格供应链验证环境的“企业加固”模式。
### 1. 快速安装(标准)
```
# Clone the repository 并进入目录 (以 root 身份)
cd /usr/local/bin
git clone https://github.com/duggytuxy/syswarden-freebsd.git
cd syswarden || exit
# 赋予 builder 可执行权限并编译 artifact
chmod +x build.sh
./build.sh
# 导航至 distribution 文件夹并执行安装
cd dist/ || exit
./install-syswarden.sh
```
### 2. 快速安装(.txz 软件包)
```
# 从下方的 assets 中下载适用于您的 distribution 的软件包及其关联的 checksum 文件
wget https://github.com/duggytuxy/syswarden-freebsd/releases/download//*.txz
and
wget https://github.com/duggytuxy/syswarden-freebsd/releases/download//*.txt (SHA256SUMS)
# 验证完整性
sha256sum -c SHA256SUMS.txt --ignore-missing
# 针对 FreeBSD 系统
pkg install -y ./syswarden-.txz
## 在执行前如有需要,请查看或修改 auto-configuration 文件并安装该解决方案
nano /opt/syswarden/syswarden-auto.conf
syswarden /opt/syswarden/syswarden-auto.conf
syswarden /opt/syswarden/syswarden-auto.conf
```
### 3. 企业安装(加固 / SLSA Level 3)
SysWarden 发行版使用 GitHub Artifact Attestations 进行加密签名,以保证供应链完整性。对于符合 ISO 27001 或 NIS2 标准的环境,在执行前验证脚本的来源是必不可少的。
```
# 1. 下载 release bundle
cd /usr/local/bin
wget https://github.com/duggytuxy/syswarden-freebsd/releases/latest/download/syswarden-release.tar.gz
# 2. 使用官方 GitHub CLI 验证加密 attestation
gh attestation verify syswarden-release.tar.gz --owner duggytuxy
# 3. 如果验证成功 (exit code 0),请解压并运行
tar -xzf syswarden-release.tar.gz
chmod +x install-syswarden.sh
./install-syswarden.sh
```
### 4. 自动化 / 无人值守部署(CI/CD)
SysWarden 可以使用配置文件进行无人工干预的部署,非常适合 Ansible、Terraform 或 Cloud-init 流水线。
```
# 将配置模板复制到 distribution 目录
cp syswarden-auto.conf dist/
# 导航至 distribution 目录
cd dist/ || exit
# 保护配置文件的权限
chmod 600 syswarden-auto.conf (modify if needed)
# 使用 root 权限执行静默安装
./install-syswarden.sh syswarden-auto.conf
```
### 5. 快速卸载(root 用户)
在保留您原有合法网络设置的同时,正确卸载 SysWarden。
```
./install-syswarden.sh uninstall
```
## 文档
要全面了解 SysWarden 生态系统、探索详细配置并阅读高级使用指南,请访问我们的[官方文档页面](https://github.com/duggytuxy/syswarden-freebsd/wiki/Deployment-Tutorial)
## 目标与支持
[](https://ko-fi.com/laurentmduggytuxy)
## 许可证
SysWarden 是在 **GNU General Public License v3.0 (GPLv3)** 下分发的免费开源软件。
您可以自由使用、修改和分发本软件,但需遵守许可证条款。有关更多详细信息,请参阅 [LICENSE](/LICENSE) 文件。
*由 DuggyTuxy (Laurent M.) 开发与维护。*
标签:CSV导出, Cutter, FreeBSD, HIDS, 入侵防御, 系统加固, 网络信息收集, 进程监控