ASHUTOSH761/Network-Intrusion-Detection-System

GitHub: ASHUTOSH761/Network-Intrusion-Detection-System

基于 Suricata 的网络入侵检测系统,包含 12 种攻击模式的自定义规则集和 Python 告警可视化仪表板。

Stars: 1 | Forks: 0

# 网络入侵检测系统 (Suricata) 一个完整且可部署的网络入侵检测系统,基于 **Suricata** 构建,包含涵盖 12 种常见攻击模式的自定义规则集、 详细的 Windows 安装指南,以及一个用于可视化 Suricata `eve.json` 日志警报的 Python 仪表板。 本项目作为个人实践构建,旨在亲自动手体验网络威胁检测—— 编写自定义特征签名,搭建真实的 IDS 引擎, 并将原始警报日志转化为直观易读的内容。 ## 包含内容 | 文件 | 用途 | |---|---| | `custom.rules` | 12 条自定义且兼容 Suricata/Snort 的检测规则 | | `INSTALL_GUIDE.md` | 分步设置指南:安装 Suricata、加载规则、运行程序、生成测试流量 | | `generate_sample_alerts.py` | 生成真实的示例 `eve.json` 警报日志,以便无需实际部署即可测试仪表板 | | `dashboard.py` | 解析 `eve.json` 并生成打印摘要 + 可视化 PNG 仪表板(柱状图 + 警报时间轴) | | `sample_eve.json` | 预先生成的示例警报日志(60 个事件),用于快速演示 | | `alerts_dashboard.png` | 基于示例数据生成的仪表板输出示例 | ## 检测覆盖范围 自定义规则集(`custom.rules`)可检测: 1. SQL Injection(UNION SELECT, OR 1=1 模式) 2. Cross-Site Scripting (XSS) 3. OS Command Injection 4. Path Traversal 5. SSH 暴力破解尝试 6. 端口扫描 7. 通过 HTTP 明文传输的密码 8. 可疑扫描工具 User-Agents(sqlmap、nikto、nmap 等) 9. ICMP 泛洪 / 基础 DoS 10. 疑似 DNS tunneling(超大查询名称) 11. 可疑可执行文件下载 ## 快速开始(使用示例数据 — 无需 Suricata) ``` pip install matplotlib python generate_sample_alerts.py python dashboard.py sample_eve.json ``` 这会将警报摘要打印到控制台,并保存 `alerts_dashboard.png`。 ## 完整部署(实时流量监控) 请参阅 `INSTALL_GUIDE.md` 获取完整指南:在 Windows 上安装 Suricata、加载 `custom.rules`、针对实时网络 接口运行、安全地生成测试流量,并将生成的 `eve.json` 输入到 `dashboard.py` 中。 ## 响应机制 `INSTALL_GUIDE.md` 涵盖了自动化的 inline 阻断(Suricata IPS 模式)以及一种更简单的方法:编写 Windows Firewall 规则脚本,当 `eve.json` 中的警报数量超过阈值时阻断源 IP。 ## 作者 Ashutosh Kumar Ray
标签:CISA项目, DOE合作, IP 地址批量处理, Metaprompt, Python, Suricata, 入侵检测系统, 安全可视化, 安全数据湖, 插件系统, 无后门, 现代安全运营, 网络安全, 逆向工具, 隐私保护