blackangleh454-cyber/netguard-ai
GitHub: blackangleh454-cyber/netguard-ai
NetGuardAI 是基于 Snort 和 iptables 的自主防火墙与入侵检测管理平台,通过 AI 驱动的威胁分析实现网络安全的自动化防护与实时监控。
Stars: 0 | Forks: 0
# 🛡️ NetGuardAI
### 基于 Snort 的自主防火墙与 IDS 管理器
[](https://opensource.org/licenses/MIT)
[](https://www.python.org/)
[](https://www.snort.org/)
[](https://www.linux.org/)
```
### 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
[](https://twitter.com/blackangleh454)
[](https://linkedin.com/in/mirza-muhammad-usman)
[](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绕过, 端口控制, 系统安全, 结构化查询, 网络信息收集, 网络安全, 自动化安全, 自动响应, 逆向工具, 配置错误, 防火墙, 隐私保护, 零信任架构