tigranadamyan/WAF-security-sites
GitHub: tigranadamyan/WAF-security-sites
基于 Nginx 和 Suricata 的多层 Docker 安全网关,通过隔离网络架构保护 Web 应用免受常见攻击。
Stars: 0 | Forks: 0
# 🛡️ 安全网关设置
包含 **Suricata IPS** 和 **Nginx Gateway** 的完整 Web 应用程序防护系统。
## 🎯 已实现功能
您已成功为 Web 应用程序部署了**多层安全系统**,包括:
### 🧩 系统组件
- **Nginx Gateway** — Web Application Firewall (WAF) 和反向代理
- **Suricata** — 入侵检测与防御系统 (IPS/IDS)
- **隔离网络** — 分段式安全架构
- **隐藏后端** — 核心应用无法从外部直接访问
## 🔧 安全架构
```
[Внешний трафик]
↓
[Suricata IPS/IDS] ← мониторинг
↓
[Nginx Gateway :80] ← единственная точка входа
↓
[Сеть security-net] ← изолированный сегмент
↓
[Основное приложение] ← скрыто от внешнего доступа
```
## 📁 项目结构
```
project/
├── docker-compose.yml # Шлюз безопасности
├── main-docker-compose.yml # Основное приложение
├── nginx/
│ └── conf/
│ └── nginx.conf # Конфигурация WAF
├── suricata-logs/ # Логи IPS
├── scripts/
│ ├── monitor.sh # Мониторинг системы
│ └── update-rules.sh # Обновление правил
└── .env # Переменные окружения
```
## 🚀 快速开始
1. **克隆仓库**
2. **在 `.env` 中配置参数**
3. **启动系统**
docker-compose up -d
4. **检查运行状况**
./scripts/monitor.sh
## ⚙️ 主要命令
```
# 启动整个系统
docker-compose up -d
# 停止系统
docker-compose down
# 更新 Suricata 规则
./scripts/update-rules.sh
# 监控状态
./scripts/monitor.sh
# 查看 Suricata 日志
tail -f suricata-logs/fast.log
# 检查网络连接
docker network inspect security-net
```
## 🔒 端口与可访问性
| 端口 | 用途 |
|------|-------------|
| 80 | HTTP 流量(唯一开放的端口) |
| 443 | HTTPS 流量 |
| — | 核心应用隐藏在网关之后 |
## 📊 监控与日志
**Suricata:**
- `suricata-logs/fast.log` — 主要事件
- `suricata-logs/eve.json` — 详细事件 (JSON)
**Nginx:**
- `nginx/logs/` — 访问与错误日志
- Health check: `http://localhost/health`
- 系统状态: `./scripts/monitor.sh`
## 🛠️ 安全配置
### 🔐 Nginx Gateway 作为 WAF
```
# 保护性 headers
add_header X-Frame-Options "SAMEORIGIN";
add_header X-XSS-Protection "1; mode=block";
add_header X-Content-Type-Options "nosniff";
# 请求限制
limit_req_zone $binary_remote_addr zone=one:10m rate=1r/s;
```
### ⚔️ Suricata IPS
- 检测 SQL 注入
- 防御 XSS 攻击
- 监控可疑 payloads
- 检测端口扫描
## 🔄 更新规则
```
# 自动更新规则
./scripts/update-rules.sh
# 或手动
docker exec suricata-ips suricata-update
```
## 🚨 事件响应
```
# 检查 Suricata 日志
tail -f suricata-logs/fast.log
# 分析攻击
cat suricata-logs/eve.json | jq .
# 封禁 IP
# (通过 Nginx 配置)
# 在发现新威胁时更新规则
./scripts/update-rules.sh
```
## ✅ 实施优势
- 🧱 **纵深防御** — 多层安全架构
- 🔒 **完全隔离** — 核心应用无法从外部直接访问
- 🩺 **实时监控** — Suricata 实时检测威胁
- ⚙️ **可扩展性** — 轻松添加新服务
- 🧭 **易于管理** — 统一的入口与控制点
## 🔍 运行状况检查
```
# 通过 gateway 检查可用性
curl http://localhost/
# 检查 health check
curl http://localhost/health
# 检查 Suricata 日志
docker logs suricata-ips
# 确保主站已隐藏
curl http://localhost:8099 # должен быть недоступен
```
🎉 **恭喜!**
您已成功部署了专业的安全系统。
您的应用现已达到**企业级**安全防护标准。
标签:AppImage, BurpSuite集成, Cutter, Docker, Metaprompt, Nginx, Suricata, Web应用防火墙, WSL, 入侵防御系统, 威胁猎捕, 安全网关, 安全防御评估, 版权保护, 现代安全运营, 请求拦截