63Keerti/dos-ips-project
GitHub: 63Keerti/dos-ips-project
该项目实现了一个基础的 DoS 攻击检测与入侵防御系统,通过速率限制自动拦截异常高频请求并记录攻击日志。
Stars: 0 | Forks: 0
# 🛡️ DoS 攻击检测与入侵防御系统 (IPS)
## 📌 项目概述
DoS 攻击检测与入侵防御系统 (IPS) 是一个使用 Node.js、Express.js 和 MongoDB 开发的网络安全项目。该系统会监控传入的请求,检测来自单一 IP 地址的异常流量,拦截可疑用户,并将攻击日志存储在 MongoDB 中以供分析。
该项目演示了用于保护 Web 应用程序免受拒绝服务 攻击的基本入侵防御系统 (IPS) 概念的实现。
## 🎯 目标
* 检测来自用户的异常频繁的请求。
* 防止拒绝服务 攻击。
* 自动拦截可疑的 IP 地址。
* 将攻击日志存储在 MongoDB 中。
* 提升 Web 应用程序的安全性。
## 🛠️ 使用的技术
* Node.js
* Express.js
* MongoDB
* Mongoose
* Express Rate Limit
* HTML
* CSS
* JavaScript
## 📂 项目结构
```
dos-ips-project/
│
├── models/
│ └── AttackLog.js
│
├── public/
│ └── index.html
│
├── server.js
├── package.json
├── package-lock.json
├── README.md
├── home.png
│
└── node_modules/
```
## 📸 项目截图
### 主页

## ⚙️ 安装说明
### 安装依赖项
```
npm install
```
### 启动 MongoDB
确保 MongoDB 正在运行:
```
mongodb://127.0.0.1:27017
```
### 运行项目
```
node server.js
```
### 输出
```
MongoDB Connected
Server running on port 3000
```
## 🌐 URL
### 主页
```
http://localhost:3000
```
### API Endpoint
```
http://localhost:3000/api
```
## 🔄 项目工作原理
1. 用户向 Web 服务器发送请求。
2. Express Rate Limit 监控请求频率。
3. 系统允许每分钟最多 5 次请求。
4. 如果超出限制,该请求将被识别为可疑请求。
5. 用户的 IP 地址将被自动拦截。
6. 攻击信息会被存储在 MongoDB 中。
7. 管理员可以查看攻击日志以进行分析。
## 🏗️ 架构
```
User Request
│
▼
Node.js Server
│
▼
Express Rate Limiter
│
┌────┴────┐
│ │
▼ ▼
Allow Detect Attack
Access │
▼
Block IP Address
│
▼
Store Logs in MongoDB
```
## ✅ 功能
* 请求监控
* DoS 攻击检测
* 自动拦截 IP
* MongoDB 攻击日志记录
* 基于 Web 的界面
* 轻量级安全解决方案
## 📈 未来增强功能
* 实时安全仪表板
* 电子邮件通知
* 短信警报
* 攻击分析图表
* 地理位置追踪
* 高级 IDS/IPS 集成
## 🎓 学习成果
* 理解 DoS 攻击
* 实现速率限制
* 使用 MongoDB
* 构建安全的 Web 应用程序
* 入侵检测与防御概念
## 📄 结论
本项目成功演示了使用 Node.js 和 MongoDB 构建的基础 DoS 攻击检测与入侵防御系统。它能够检测异常频繁的请求,拦截可疑用户,并存储攻击日志以供未来分析,从而帮助提高 Web 应用程序的安全性和可靠性。
## 👨💻 作者
**Keerti Nalatawad**
网络安全 B.Tech
标签:AppImage, DoS攻击防护, GNU通用公共许可证, MITM代理, MongoDB, Node.js, Web应用防火墙, 入侵防御系统, 后端开发, 多模态安全, 威胁猎捕, 数据可视化, 网络安全, 隐私保护