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_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; 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
systemctl reload 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
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 反馈
💬 社区支持:加入官方社区获取技术支持和最佳实践分享
祝您部署顺利,安全无忧!🎉