blackangleh454-cyber/netguard-ai

GitHub: blackangleh454-cyber/netguard-ai

NetGuardAI 是基于 Snort 和 iptables 的自主防火墙与入侵检测管理平台,通过 AI 驱动的威胁分析实现网络安全的自动化防护与实时监控。

Stars: 0 | Forks: 0

# 🛡️ NetGuardAI ### 基于 Snort 的自主防火墙与 IDS 管理器 [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT) [![Python](https://img.shields.io/badge/Python-3.8+-3776AB?style=flat&logo=python&logoColor=white)](https://www.python.org/) [![Snort](https://img.shields.io/badge/Snort-IDS-FF5722?style=flat&logo=shield&logoColor=white)](https://www.snort.org/) [![Linux](https://img.shields.io/badge/Linux-Security-FCC624?style=flat&logo=linux&logoColor=black)](https://www.linux.org/)

NetGuardAI Banner

## 🎯 什么是 NetGuardAI? NetGuardAI 是一个综合性的网络安全解决方案,具有以下特点: - 🔥 **自主防火墙** — 基于 iptables 的防火墙,支持自动规则管理 - 🐍 **Snort IDS 集成** — 业界标准的入侵检测 - 🤖 **AI 驱动的威胁检测** — 对网络模式进行智能分析 - ⚡ **自动响应** — 自动封锁恶意 IP - 📊 **实时监控** — 网络安全事件的实时仪表板 - 🔧 **自我管理** — 自动学习并适应新的威胁 ## ⚡ 功能特性 ### 🛡️ 防火墙管理 | 功能 | 描述 | |---------|-------------| | **IP 封锁** | 支持自动过期时间的封锁/解封 IP | | **端口控制** | 按需开启/关闭端口 | | **速率限制** | 防止 DoS/DDoS 攻击 | | **连接追踪** | 监控活动连接 | | **规则管理** | 自定义防火墙规则 | | **持久化规则** | 保存/恢复防火墙配置 | ### 🐍 Snort IDS | 功能 | 描述 | |---------|-------------| | **实时检测** | 监控网络流量中的威胁 | | **自定义规则** | 添加您自己的检测规则 | | **告警系统** | 即时威胁通知 | | **模式匹配** | 检测已知的攻击特征 | | **异常检测** | 识别可疑行为 | ### 🤖 自主引擎 | 功能 | 描述 | |---------|-------------| | **自动封锁** | 自动封锁威胁源 | | **威胁分析** | 分析模式并预测攻击 | | **自学习** | 随着时间推移提高检测能力 | | **零配置** | 开箱即用 | | **智能清理** | 自动过期旧的封锁记录 | ### 📊 安全监控 | 功能 | 描述 | |---------|-------------| | **实时仪表板** | 实时安全状态 | | **威胁日志** | 检测到的威胁的完整历史记录 | | **网络扫描器** | 发现您网络上的设备 | | **连接监控器** | 追踪所有网络连接 | | **告警系统** | 获取安全事件通知 | ## 🏗️ 架构 ``` ┌─────────────────────────────────────────────────────────────────┐ │ NetGuardAI │ ├─────────────────────────────────────────────────────────────────┤ │ │ │ ┌──────────────────────────────────────────────────────────┐ │ │ │ AUTONOMOUS ENGINE │ │ │ │ ┌────────────┐ ┌─────────────┐ ┌──────────────────┐ │ │ │ │ │ THREAT │ │ AUTO │ │ RULE │ │ │ │ │ │ DETECTOR │ │ RESPONSE │ │ GENERATOR │ │ │ │ │ └────────────┘ └─────────────┘ └──────────────────┘ │ │ │ └──────────────────────────────────────────────────────────┘ │ │ │ │ ┌────────────────────┐ ┌────────────────────┐ │ │ │ FIREWALL │ │ SNORT IDS │ │ │ │ (iptables) │ │ (Intrusion │ │ │ │ │ │ Detection) │ │ │ │ • Block IPs │ │ │ │ │ │ • Port Control │ │ • Pattern Match │ │ │ │ • Rate Limit │ │ • Alert System │ │ │ │ • Connection Mon │ │ • Custom Rules │ │ │ └────────────────────┘ └────────────────────┘ │ │ │ │ ┌──────────────────────────────────────────────────────────┐ │ │ │ SECURITY LOGGER │ │ │ │ • Event Log • Threat Log • Alert Log • Block Log │ │ │ └──────────────────────────────────────────────────────────┘ │ │ │ └─────────────────────────────────────────────────────────────────┘ ``` ## 🛠️ 安装说明 ### 前置条件 ``` # 更新系统 sudo apt update # 安装所需工具 sudo apt install -y iptables snort tcpdump nmap net-tools ss iputils-ping # 安装 Python 依赖 pip3 install -r requirements.txt ``` ### 快速安装 ``` # 克隆或下载项目 cd NetGuardAI # 使脚本可执行 chmod +x netguard.py netguard-cli.py # 运行 (访问 Firewall 需要 sudo) sudo python3 netguard.py ``` ## 🚀 使用方法 ### 启动 NetGuardAI ``` # 完整 GUI 模式 sudo python3 netguard.py # CLI 模式 sudo python3 netguard-cli.py ``` ### CLI 命令 ``` # 检查状态 sudo python3 netguard-cli.py status # 屏蔽 IP sudo python3 netguard-cli.py block 192.168.1.100 # 取消屏蔽 IP sudo python3 netguard-cli.py unblock 192.168.1.100 # 列出已屏蔽 IP sudo python3 netguard-cli.py blocked # 查看近期日志 sudo python3 netguard-cli.py logs # 查看近期威胁 sudo python3 netguard-cli.py threats # 扫描网络 sudo python3 netguard-cli.py scan ``` ### Python API ``` from netguard import NetGuardAI # 初始化 guard = NetGuardAI() guard.initialize() # 屏蔽 IP guard.block_ip("192.168.1.100") # 获取状态 status = guard.get_status() print(status) # 获取已屏蔽 IP blocked = guard.get_blocked_ips() print(f"Blocked IPs: {blocked}") # 获取威胁 threats = guard.get_threats(limit=50) for threat in threats: print(f"{threat['severity']}: {threat['type']} from {threat['source_ip']}") # 关闭 guard.shutdown() ``` ## 📋 内置 Snort 规则 NetGuardAI 包含以下预配置规则: ### 🔴 严重威胁 - SQL 注入攻击 - 命令注入 - 恶意软件下载 - DDoS 攻击 ### 🟠 高危级别 - 端口扫描检测 - 暴力破解尝试 - XSS 攻击 - 路径遍历 ### 🟡 中危级别 - 可疑协议 - DNS 隧道 - ICMP 异常 - 策略违规 ### 🟢 信息级别 - Nmap 检测 - 侦察活动 - 流量异常 ## ⚙️ 配置 配置存储在 `config/config.json` 中: ``` { "firewall": { "interface": "eth0", "default_policy": "DROP", "allowed_ports": [22, 80, 443], "block_duration": 3600 }, "snort": { "enabled": true, "interface": "eth0", "alert_level": "fast" }, "autonomous": { "enabled": true, "check_interval": 60, "auto_block": true }, "logging": { "level": "INFO", "retention_days": 30 } } ``` ## 📁 项目结构 ``` NetGuardAI/ ├── netguard.py # Main application ├── netguard-cli.py # CLI interface ├── requirements.txt # Python dependencies ├── README.md # This file │ ├── core/ # Core modules │ ├── __init__.py │ ├── firewall_manager.py # iptables wrapper │ ├── snort_controller.py # Snort IDS integration │ ├── threat_detector.py # AI threat detection │ ├── autonomous_engine.py # Self-managing logic │ ├── rule_generator.py # Auto rule generation │ └── logger.py # Security logging │ ├── config/ # Configuration │ ├── config.json │ └── snort.conf │ ├── rules/ # Snort rules │ └── netguard.rules │ ├── logs/ # Security logs │ ├── events.jsonl │ ├── threats.jsonl │ ├── alerts.jsonl │ └── blocks.jsonl │ └── utils/ # Utilities ├── config.py └── network_scanner.py ``` ## 🔍 工作原理 ### 1. 威胁检测 ``` Network Traffic → Snort IDS → Pattern Match → Threat Alert ↓ Threat Detector ↓ ┌────────────────┴────────────────┐ │ │ Low Severity High Severity │ │ Log Only Auto-Block │ Firewall Rule ``` ### 2. 自主响应 ``` Threat Detected → Severity Check → Auto-Block? │ ┌───────────────┼───────────────┐ │ │ │ CRITICAL HIGH MEDIUM │ │ │ Block 24h Block 1h Block 30m ``` ### 3. 网络监控 ``` Continuous → Log Analysis → Pattern Detection → Alert/Block Scanning ↓ Dashboard ``` ## 🛡️ 安全规则 ### 默认防火墙规则 - 允许已建立的连接 - 允许环回流量 - 允许端口:22 (SSH), 80 (HTTP), 443 (HTTPS) - 记录并丢弃其他所有流量 ### 自动封锁触发条件 | 威胁级别 | 条件 | 操作 | |---------------|-----------|--------| | CRITICAL (严重) | 任何检测 | 封锁 24 小时 | | HIGH (高) | 3 次以上检测 | 封锁 1 小时 | | MEDIUM (中) | 5 次以上检测 | 封锁 30 分钟 | ## 📊 日志 所有日志以 JSONL 格式存储在 `logs/` 中: ``` {"timestamp": "2026-04-03T12:00:00", "type": "THREAT", "severity": "HIGH", "source_ip": "192.168.1.100"} {"timestamp": "2026-04-03T12:01:00", "type": "BLOCK", "ip": "192.168.1.100", "reason": "brute_force"} {"timestamp": "2026-04-03T12:02:00", "type": "ALERT", "action": "BLOCKED"} ``` ## 🔧 自定义 ### 添加自定义 Snort 规则 ``` from core.snort_controller import SnortController snort = SnortController() snort.add_rule('alert tcp $EXTERNAL_NET any -> $HOME_NET 80 (msg:"Custom Rule"; content:"malicious"; sid:3000001; rev:1;)') ``` ### 添加自定义防火墙规则 ``` from core.firewall_manager import FirewallManager fw = FirewallManager() fw.add_rule({ "action": "DROP", "source_ip": "192.168.1.100", "port": 3389, "protocol": "tcp" }) ``` ### 禁用自主模式 ``` guard = NetGuardAI() guard.autonomous_engine.autonomous_mode = False ``` ## 🚨 故障排除 ### “Permission denied” (权限被拒绝) 错误 ``` sudo python3 netguard.py ``` ### Snort 未安装 ``` sudo apt install snort ``` ### 查看日志 ``` tail -f logs/netguard.log ``` ### 重置防火墙 ``` sudo iptables -F sudo iptables -X sudo iptables -P INPUT ACCEPT ``` ## 📜 许可证 本项目基于 **MIT License** 授权。 ## 👤 作者 ### Mirza Muhammad Usman [![Twitter](https://img.shields.io/badge/Twitter-@blackangleh454-1DA1F2?style=flat&logo=twitter&logoColor=white)](https://twitter.com/blackangleh454) [![LinkedIn](https://img.shields.io/badge/LinkedIn-Mirza%20Muhammad%20Usman-0077B5?style=flat&logo=linkedin&logoColor=white)](https://linkedin.com/in/mirza-muhammad-usman) [![GitHub](https://img.shields.io/badge/GitHub-blackangleh454--cyber-100000?style=flat&logo=github&logoColor=white)](https://github.com/blackangleh454-cyber) **认证资质:** - 🛡️ CISSP — 国际信息系统安全认证专家 - 🌐 CCNA — 思科认证网络工程师 - 🔍 Ethical Hacking — 道德黑客 (EC-Council)

由 Mirza Muhammad Usman 用 ❤️ 构建
逐包守护网络安全。

NetGuardAI — 自主安全,绝不妥协。

标签:AMSI绕过, Beacon Object File, DDoS防护, DNS 反向解析, FTP漏洞扫描, GUI界面, iptables, IP 地址批量处理, NetGuardAI, Python安全工具, Redis利用, Web仪表盘, WSL, 人工智能, 入侵检测系统, 入侵防御, 动态应用程序安全测试, 威胁检测, 子域名枚举, 安全数据湖, 安全编排, 安全规则管理, 异常检测, 恶意IP封禁, 时序数据库, 用户模式Hook绕过, 端口控制, 系统安全, 结构化查询, 网络信息收集, 网络安全, 自动化安全, 自动响应, 逆向工具, 配置错误, 防火墙, 隐私保护, 零信任架构