rover-tech/SecureWatch-IDS
GitHub: rover-tech/SecureWatch-IDS
SecureWatch-IDS 是一个基于 Flask 的轻量级入侵检测系统,通过分析 Linux 身份验证日志来识别 SSH 暴力破解攻击并提供实时告警与可视化仪表板。
Stars: 0 | Forks: 0
# 🛡️ SecureWatch IDS
一个基于 Flask 的入侵检测系统(IDS),通过分析身份验证日志来检测 SSH 暴力破解攻击,生成实时警报,并通过交互式仪表板展示安全洞察。
## 📌 概述
SecureWatch IDS 是一个轻量级的安全监控应用程序,旨在识别潜在的 SSH 暴力破解攻击。该系统解析身份验证日志,基于可配置的阈值检测可疑的登录尝试,将警报存储在 SQLite 数据库中,并在易于使用的 Web 仪表板上将结果可视化。
该项目展示了如何使用 Python 和 Flask 实现日志分析、入侵检测、警报管理和仪表板可视化。
## ✨ 功能
- 🔍 解析 Linux 身份验证日志(`auth.log`)
- 🚨 使用基于阈值的分析检测 SSH 暴力破解攻击
- 📊 带有攻击统计数据的交互式仪表板
- 📈 主要攻击者可视化
- 🗄️ 用于存储警报的 SQLite 数据库
- ⚡ 实时仪表板更新
- 🛠️ 用于模拟和测试的开发者工具
- 🧹 清除警报数据库功能
- 📱 响应式 Web 界面
## 🏗️ 系统架构
```
auth.log
│
▼
Log Parser Module
│
▼
Brute Force Detection Engine
│
▼
SQLite Alert Database
│
▼
Flask Web Application
│
▼
SecureWatch Dashboard
```
## ⚙️ 使用的技术
- Python
- Flask
- SQLite
- HTML5
- CSS3
- JavaScript
- Gunicorn
- Render
## 📂 项目结构
```
SecureWatch-IDS/
│
├── static/
│ ├── style.css
│ └── script.js
│
├── templates/
│ └── dashboard.html
│
├── app.py
├── database.py
├── detector.py
├── log_parser.py
├── monitor.py
├── tools.py
├── auth.log
├── requirements.txt
├── Procfile
└── runtime.txt
```
## 🔄 工作流程
1. 从 `auth.log` 读取身份验证日志。
2. 解析日志条目,提取时间戳、用户名、IP 地址和登录状态。
3. 检测在指定时间窗口内来自同一 IP 的多次失败登录尝试。
4. 当超过阈值时生成警报。
5. 将警报存储在 SQLite 数据库中。
6. 在仪表板上显示警报、统计数据和图表。
## 🚀 安装说明
克隆仓库:
```
git clone https://github.com/rover-tech/SecureWatch-IDS.git
```
导航到项目目录:
```
cd SecureWatch-IDS
```
安装依赖:
```
pip install -r requirements.txt
```
运行应用程序:
```
python app.py
```
打开浏览器并访问:
```
http://127.0.0.1:5000
```
## 🧪 开发者工具
SecureWatch 包含内置的测试实用程序:
- 模拟 SSH 攻击
- 生成示例日志
- 刷新仪表板
- 清除警报数据库
这些工具简化了测试和演示,无需依赖实时服务器。
## 📸 截图
添加以下内容的截图:
- 仪表板
- 分析数据
- 警报日志
- 开发者工具
- 系统健康状况
创建一个名为以下内容的文件夹:
```
screenshots/
```
并将图像放置在此处。
## 🔮 未来增强功能
- 电子邮件通知
- 实时日志监控
- 支持更多攻击类型
- 用户身份验证
- 基于机器学习的异常检测
- 威胁情报集成
- 生成 PDF/CSV 报告
## 👩💻 作者
**Arshia Anand**
计算机科学与工程(AI 与 ML)工学士
网络安全与 AI 爱好者
## 📄 许可证
本项目专为教育和学术目的而开发。
标签:Flask, Python, SQLite, 数据可视化, 无后门, 逆向工具