vy5akh/snort-ids-alerting
GitHub: vy5akh/snort-ids-alerting
一个基于Snort构建的网络入侵检测系统,通过Python解析日志并配合ntfy和ZeroTier实现移动端实时告警推送。
Stars: 0 | Forks: 0
# Snort IDS 告警系统
一个基于 Snort 2.9 构建的网络入侵检测系统(NIDS),包含自定义检测规则以及通过 ntfy 和 ZeroTier 实现的实时移动端告警功能。
本项目展示了在虚拟实验室环境中,基于特征的入侵检测、自动化告警解析以及安全远程通知推送的实际应用。
## 🔎 项目概述
本系统可检测:
- ICMP Flood 攻击
- TCP SYN Flood 攻击(hping3)
- TCP 端口扫描(Nmap)
当检测到攻击时:
1. Snort 生成告警
2. 告警信息写入 `alert.fast`
3. Python 脚本实时解析日志
4. 格式化的通知发送到自托管的 ntfy 服务器
5. 告警通过 ZeroTier 安全地推送到移动设备
## 🏗️ 架构
```
Kali Linux (Attacker)
↓
Ubuntu 20.04 (Snort IDS)
↓
alert.fast log
↓
Python Monitoring Script
↓
ntfy Server
↓
ZeroTier Private Network
↓
Mobile Notification
```
## 🛡️ 功能特性
- 自定义 Snort 检测规则
- 基于阈值的 `detection_filter` 逻辑
- 实时日志监控
- 基于指纹的冷却机制
- 移动端通知支持
- ZeroTier 安全覆盖网络
- 完全隔离的虚拟实验室环境
## 📂 仓库结构
## 📂 仓库结构
```
snort-ids-alerting/
├── local.rules
├── snort_ntfy.py
├── README.md
└── SETUP.md
```
## 🚀 快速开始
有关完整的安装和配置步骤,请参阅:
👉 **[SETUP.md](SETUP.md)**
## 🧪 攻击测试
示例测试命令:
ICMP Flood:ping -f
TCP SYN Flood:sudo hping3 -S --flood -p 80
端口扫描:nmap -sT -p 1-1000
## ⚠️ 局限性
- 仅支持基于特征的检测
- 检测模式(非 IPS)
- 实验室规模的测试环境
- 生产环境部署需调整规则
## 🚀 未来改进方向
- 暴力破解攻击检测
- SIEM 集成(ELK/Splunk)
- IPS 串联模式
- 基于异常的检测
- 生产环境部署测试
## 👨💻 作者
Vysakh B
计算机应用学士(网络安全)
标签:AMSI绕过, CISA项目, DDoS检测, ICMP Flood, NIDS, ntfy, PB级数据处理, Python, SYN Flood, ZeroTier, 云计算, 信息过滤, 入侵检测系统, 威胁检测, 安全数据湖, 安全运维, 容器化, 插件系统, 数据统计, 无后门, 日志解析, 移动端推送, 端口扫描, 网络安全, 虚拟实验室, 规则引擎, 证书伪造, 逆向工具, 隐私保护