Docker 部署南墙 WAF 🛡️
📋 目录导航
🎯 项目简介
南墙 WAF (UUsec WAF) 是一款基于 Docker 容器化部署的 Web 应用防火墙,专为现代 Web 应用提供全方位安全防护。它能够有效防御 SQL 注入、XSS 跨站脚本、CSRF 攻击、恶意爬虫等常见 Web 安全威胁,同时具备高性能、易部署、可视化管理等优势。
🛠️ 核心特性
✨ 全面防护 - 支持多种 Web 攻击检测和防御,包括 OWASP Top 10 常见漏洞
🚀 高性能 - 基于智能引擎,低延迟、高并发处理能力,不影响业务正常访问
🔧 易于部署 - 提供 Docker 一键部署方案,支持多种环境快速安装
📊 可视化管理 - 提供友好的管理界面,实时展示安全态势和攻击日志
🛡️ 智能学习 - 支持正常流量学习,降低误报率,提高防护精度
🌐 灵活扩展 - 支持自定义规则,可根据业务需求灵活调整防护策略
🐳 Docker 部署南墙 WAF
南墙 WAF 提供两种部署方式:Linux 自动安装和 Docker 手动部署。您可以根据需求选择适合的方式。
1. Linux 自动安装命令
📦 一键安装:3 分钟即可完成自动安装,适合快速部署场景。
1
|
sudo bash -c "$(curl -fsSL https://waf.uusec.com/installer.sh)"
|
2. Docker 手动部署
创建部署目录和配置文件 📁
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
|
# 创建部署目录
mkdir -p /vol1/1000/compose/uuwaf && cd $_ && \
cat > docker-compose.yml <<'EOF'
services:
uuwaf:
image: uusec/waf:7.0.3
ulimits:
nproc: 65535
nofile:
soft: 102400
hard: 102400
container_name: uuwaf
networks:
- 1panel-network
ports:
- 880:80
- 666:443
- 4443:4443
volumes:
- /etc/localtime:/etc/localtime:ro # 修改为使用系统时区文件
- /etc/timezone:/etc/timezone:ro # 添加时区配置文件
- ./waf_config:/uuwaf/web/conf
- ./waf_acme:/uuwaf/acme
- ./waf_logs:/uuwaf/logs
environment:
- TZ=Asia/Shanghai # 添加时区环境变量
- UUWAF_MYSQL_PASSWORD=Safe3.WAF
- UUWAF_RESOLVER=resolver 127.0.0.11 valid=30s ipv6=off;
depends_on:
wafdb:
condition: service_healthy
wafdb:
image: mysql:5.7.44
container_name: uuwaf-db
networks:
- 1panel-network
volumes:
- /etc/timezone:/etc/timezone:ro # 修改为使用系统时区文件
- /etc/localtime:/etc/localtime:ro # 修改为使用系统时区文件
- ./waf_data:/var/lib/mysql
environment:
- TZ=Asia/Shanghai # 添加时区环境变量
- MYSQL_ROOT_PASSWORD=Safe3.WAF
command: ["--max_connections=512"]
healthcheck:
test: ["CMD", "mysqladmin", "-uroot", "-pSafe3.WAF", "ping", "-h", "127.0.0.1", "--silent"]
start_period: 3s
interval: 5s
timeout: 3s
retries: 10
networks:
1panel-network:
external: true
EOF
|
拉取镜像并启动容器 🚀
1
2
3
4
5
6
7
8
9
10
11
|
# 拉取最新镜像
docker compose pull
# 启动容器
docker compose up -d
# 查看容器状态
docker compose ps
# 查看启动日志
docker compose logs -f
|
🚀 使用南墙 WAF
1. 访问 Web 界面 💻
默认登录信息:
- 用户名:
admin
- 密码:
#Passw0rd
(首次登录后请立即修改)
2. 首次使用步骤 🎯
-
初始化设置 🔧
- 打开浏览器访问管理界面
- 修改默认管理员密码
- 配置系统基本设置和通知方式
-
添加防护站点 🌐
- 进入"站点管理" → “添加站点”
- 填写域名和上游服务器地址
- 配置 SSL 证书(如需要)
-
配置防护策略 🛡️
- 启用基础防护规则集
- 根据业务特点调整防护等级
- 设置自定义规则应对特定场景
-
监控与优化 📊
- 查看实时攻击日志和统计
- 分析安全事件和威胁情报
- 根据实际情况优化防护规则
🌐 Nginx 反向代理配置
通过 Nginx 反向代理可以提供更灵活的访问方式和 SSL 终端卸载功能。
1. 创建 Nginx 配置文件 🔧
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
|
mkdir -p /etc/nginx/conf.d && \
cat > /etc/nginx/conf.d/uuwaf.conf <<'EOF'
server {
listen 4443 ssl http2;
listen [::]:4443 ssl http2;
server_name uuwaf.yourdomain.com;
# SSL 配置
ssl_certificate /path/to/your/cert.pem;
ssl_certificate_key /path/to/your/private.key;
ssl_session_timeout 1d;
ssl_session_cache shared:MozSSL:10m;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256;
ssl_prefer_server_ciphers off;
# 安全头部
add_header X-Frame-Options DENY;
add_header X-Content-Type-Options nosniff;
add_header X-XSS-Protection "1; mode=block";
add_header Strict-Transport-Security "max-age=63072000" always;
# 代理配置
location / {
proxy_pass http://127.0.0.1:4443;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
# WebSocket 支持
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
access_log /var/log/nginx/uuwaf.access.log;
error_log /var/log/nginx/uuwaf.error.log;
}
EOF
|
2. 测试并重载 Nginx 🔄
1
2
3
4
5
6
7
8
|
# 测试配置文件语法
nginx -t
# 重载 Nginx 配置
systemctl reload nginx
# 查看 Nginx 状态
systemctl status nginx
|
🔧 容器维护命令
1. Docker Compose 命令 🐳
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
# 查看服务状态
docker compose ps
# 查看日志
docker compose logs
docker compose logs -f # 实时日志
docker compose logs uuwaf # 指定服务日志
# 服务管理
docker compose stop # 停止服务
docker compose start # 启动服务
docker compose restart # 重启服务
# 更新和清理
docker compose pull # 拉取最新镜像
docker compose up -d # 重新创建并启动容器
docker compose down # 停止并删除容器
# 执行命令
docker compose exec uuwaf bash # 进入容器
|
2. Docker 容器命令 📦
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
# 容器管理
docker ps -a # 查看所有容器
docker stop uuwaf # 停止容器
docker start uuwaf # 启动容器
docker restart uuwaf # 重启容器
docker rm uuwaf # 删除容器
# 日志管理
docker logs uuwaf # 查看日志
docker logs -f uuwaf # 实时日志
docker logs --tail 100 uuwaf # 查看最后100行
# 执行命令
docker exec -it uuwaf bash # 进入容器
docker exec uuwaf nginx -t # 在容器中执行命令
|
3. Docker 镜像管理 📀
1
2
3
4
5
6
7
8
9
10
11
|
# 镜像查看
docker images # 列出镜像
docker image ls # 列出镜像(详细)
# 镜像清理
docker image prune # 删除悬空镜像
docker image prune -a # 删除所有未使用镜像
# 镜像操作
docker pull uusec/waf:latest # 拉取镜像
docker rmi uusec/waf:latest # 删除镜像
|
🌟 开启安全防护新篇章
通过本文档,您已经成功使用 Docker 部署了南墙 WAF Web 应用防火墙,为您的 Web 应用建立了坚实的安全防线。现在,您可以:
🛡️ 全面防护 - 有效防御 SQL 注入、XSS 攻击等常见 Web 威胁
📊 实时监控 - 可视化界面实时展示安全态势和攻击日志
⚡ 高性能保障 - 低延迟高并发处理,不影响业务正常访问
🔧 灵活配置 - 根据业务需求自定义防护规则和策略
🌐 易扩展 - 支持多种部署方式,轻松应对业务增长
南墙 WAF 将成为您 Web 应用的可靠守护者,7×24 小时不间断提供安全防护,让您专注于业务发展,无需担心安全威胁。
从现在开始,构建安全可靠的 Web 应用环境,为您的用户提供更安心的服务体验!✨
📌 持续更新:建议定期检查
官方文档
获取最新功能和安全更新
🐛 问题反馈:使用中遇到问题可前往
GitHub Issues
反馈
💬 社区支持:加入官方社区获取技术支持和最佳实践分享
祝您部署顺利,安全无忧!🎉