yogi1700/FirewallX-Core
GitHub: yogi1700/FirewallX-Core
基于 Python 和 Scapy 从零构建的智能防火墙与入侵检测防御系统,通过多层检测 pipeline 和威胁评分机制实现从异常识别到自动拦截的闭环防御。
Stars: 0 | Forks: 0
# FirewallX-Core
从零开始使用 Python 构建的智能防火墙与入侵检测系统 (IDS)。
## 🔄 系统流程
FirewallX-Core 遵循多阶段 pipeline 架构:
```
Packet Capture → Parsing → Detection → Threat Scoring → Enforcement → Logging → Summary
```
### 1. 数据包捕获
* 使用 Scapy 捕获实时网络数据包
* 每个数据包均被实时处理
### 2. 数据包解析
* 提取:
* 源 IP
* 目标 IP
* 协议 (TCP/UDP)
* 端口号
### 3. 监控过滤
* 仅关注源自本机的流量
* 减少来自外部网络流量的干扰
### 4. 检测层 (IDS)
应用了多种异常检测技术:
* **速率检测**
在短时间窗口内检测突发流量
* **主机扫描检测**
检测与多个目标 IP 的通信(可能是网络侦察)
* **端口扫描检测**
检测来自单一源对多个端口的访问
* **重复拦截检测**
识别来自同一源的重复被拦截流量
### 5. 威胁评分系统
每个检测到的事件都会累加到综合威胁评分中:
* 重复拦截 → +2
* 速率告警 → +3
* 主机扫描 → +3
* 端口扫描 → +4
### 6. 威胁级别
根据累积的分数划分:
* LOW (低危, 0–3)
* MEDIUM (中危, 4–6)
* HIGH (高危, 7–9)
* CRITICAL (严重, 10+)
### 7. 规则引擎
根据配置应用防火墙规则:
* 拦截特定 IP
* 拦截特定端口
### 8. 执行
* 使用 Windows 防火墙 自动应用拦截规则
### 9. 日志记录
* 所有事件均被记录以供分析
* 存储于 `logs/firewall.log` 中
### 10. 会话摘要
显示:
* 被拦截的来源
* 扫描追踪
* 目标追踪
* 速率追踪
* 威胁评分
## 📅 进度日志
### 第 1 天
* 安装配置 Python, Scapy, Npcap
* 捕获数据包
* 提取源/目标 IP 和端口
### 第 2 天
* 添加 TCP 过滤
* 实现基本的基于端口的拦截逻辑
### 第 3 天
* 添加基于 IP 的过滤
* 实现对被拦截 IP 的规则检查
### 第 4 天
* 将模块合并到 `firewall_engine.py` 中
* 构建统一的规则引擎(IP + 端口过滤)
### 第 5 天
* 添加动态 JSON 规则配置 (`rules.json`)
* 将规则检查重构为函数
* 测试模拟执行行为
### 第 6 天
* 使用 subprocess 和 netsh 添加 Windows 防火墙执行功能
* 将规则引擎的决策连接到自动响应
* 添加重复规则防止机制
### 第 7 天
* 为防火墙事件添加日志系统
* 添加基于阈值的入侵告警检测
* 针对重复被拦截流量生成告警
* 将旧版模块重组至 `archive/src`
### 第 8 天
* 添加基本端口扫描检测
* 添加会话摘要输出
* 添加主机扫描(侦察)检测
* 改进异常检测逻辑
### 第 9 天
* 添加基于时间的速率检测(突发流量检测)
* 通过防止重复告警改进告警系统
* 增强多层 IDS 检测 pipeline
### 第 10 天
* 添加威胁评分系统,基于多重告警评估风险
* 引入严重级别 (LOW, MEDIUM, HIGH, CRITICAL)
* 跨所有检测机制整合评分
* 使用动态本地 IP 检测取代静态 IP 检查
* 添加灵活的监控系统,用于可扩展的网络分析
* 重构代码结构,提升可读性与可维护性
### 第 11 天
* 实现自动响应系统(IPS 层)
* 添加基于威胁的决策逻辑 (LOW → CRITICAL)
* 在 CRITICAL 威胁级别下实现自动防火墙拦截
* 使用状态跟踪防止重复拦截
* 改进检测逻辑以支持连续评分
* 引入冷却机制以避免告警干扰
* 实现从 IDS 到 IPS 的完全过渡
标签:AMSI绕过, DDoS检测, DNS枚举, Homebrew安装, IP 地址批量处理, IP封禁, JSONLines, netsh, Python, Scapy, TCP, TCP/UDP协议, UDP, Windows防火墙, 主机扫描检测, 云计算, 入侵检测系统, 内核驱动, 威胁情报, 威胁检测, 威胁评分, 安全数据湖, 安全日志, 安全运营, 安全防护, 密码管理, 开发者工具, 异常检测, 扫描框架, 插件系统, 无后门, 流量监控, 端口封禁, 端口扫描检测, 网络协议, 网络安全, 网络安全工具, 自动化防御, 规则引擎, 逆向工具, 防御绕过, 防火墙, 隐私保护, 零信任