雷池WAF安装及配置不完全安装指南

2026-06-04 10:26:53 1点赞 4收藏 0评论

为什么你需要一个WAF

你的网站就像一栋没装防盗门的房子——装了WAF,至少给门上加把锁。雷池WAF是长亭科技出的开源免费方案,不花一分钱就能挡住SQL注入、XSS、命令注入这些最常见的应用层攻击,对小团队和个人站长来说,简直是白嫖界的良心。

雷池WAF安装及配置不完全安装指南

安装环境

项目配置

操作系统:Linux CentOS 8.0 / Ubuntu 20.04+CPU

配置1核(最低)内存2G(最低)

内存消耗实测:安装前物理内存剩余556M,安装后剩余600M(虚拟内存占用520M),雷池WAF自身占用约500M;运行一段时间后,WAF占用约730M,虚拟内存占用729M。所以2G内存是底线,3G以上更稳妥。

雷池WAF简介

雷池WAF(Web Application Firewall)是长亭科技开发的开源免费网站安全防护工具,主要能力:

  1. 开源免费——个人和小型企业零成本部署专业级WAF

  2. 轻量高效——底层基于Nginx,反向代理模式,对HTTP/HTTPS流量实时监控与过滤

  3. 语义引擎检测——采用语义分析算法,精准识别恶意请求,误报率低

  4. 安装简单——Docker一键部署,几分钟搞定

  5. 持续更新——社区活跃,防护规则不断迭代


一、下载雷池Docker镜像压缩包

前往雷池官网 https://waf-ce.chaitin.cn/ 下载最新的Docker镜像压缩包,上传至服务器

雷池WAF安装及配置不完全安装指南

二、安装Docker

1. 卸载podman(CentOS 8特有)

CentOS 8默认用podman替代docker,需要先卸载:

bash复制

yum erase podman buildah -y

2. 刷新配置及安装依赖

bash复制

systemctl daemon-reload yum install -y yum-utils

3. 卸载旧版本Docker

bash复制

sudo yum remove docker docker-common docker-selinux docker-engine

4. 安装所需软件包

bash复制

sudo yum install -y yum-utils device-mapper-persistent-data lvm2

5. 设置Docker镜像仓库

bash复制

sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

如果下载速度慢,可换用国内镜像源:

bash复制

sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

6. 安装Docker

bash复制

sudo yum install docker-ce

7. 启动Docker并设为开机自启

bash复制

sudo systemctl start docker sudo systemctl enable docker

8. 验证安装

bash复制

docker --version


三、安装Docker Compose

1. 下载Docker Compose

Docker Compose Releases 下载对应版本,上传至服务器 /usr/local/bin/ 目录。

2. 赋予执行权限

bash复制

sudo chmod +x /usr/local/bin/docker-compose

3. 验证安装

bash复制

docker-compose --version

提示:新版Docker已内置 docker compose 命令(注意没有横线),如果 docker compose version 能输出版本号,可跳过本步骤。


四、安装雷池WAF

1. 创建安装目录并进入

bash复制

mkdir -p safeline && cd safeline

2. 加载Docker镜像

进入镜像压缩包所在目录,执行:

bash复制

cat image.tar.gz | gzip -d | docker load

image.tar.gz 为你下载的镜像压缩包文件名,按实际文件名替换。

3. 下载compose.yaml

compose.yaml 文件上传至服务器的 /safeline/ 目录下,或直接在服务器上下载:

bash复制

curl -o compose.yaml https://waf-ce.chaitin.cn/release/latest/compose.yaml

4. 生成环境变量

一次性复制以下全部命令执行(不要逐行复制):

bash复制

cat >> .env <

⚠️ 这一步会生成数据库密码等敏感信息,确保在 safeline 目录下执行。

5. 启动雷池WAF

bash复制

docker compose up -d

启动后,所有容器正常运行即安装成功。可用以下命令确认:

bash复制

docker compose ps


五、配置雷池WAF

配置思路

原始架构:用户 → Web服务(直接暴露)

加WAF后架构:用户 → 雷池WAF(监听端口) → 内网转发 → Web服务

核心逻辑:所有外网访问先过WAF,WAF检测通过后再转发到内网的真实服务端口。

具体步骤

1. 登录管理后台

浏览器访问:https://你的服务器IP:9443

2. 绑定动态口令

下载 腾讯身份验证器(或其他TOTP验证器),扫描后台二维码完成绑定。

3. 防火墙配置

原则:除80/443端口外,其他端口禁止外网访问;自定义端口仅允许内网访问。

禁止所有外网访问某端口:

bash复制

firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="0.0.0.0/0" port protocol="tcp" port="端口号" reject'

允许内网访问某端口:

bash复制

firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.0.0/16" port port="端口号" protocol="tcp" accept'

重载防火墙使规则生效:

bash复制

firewall-cmd --reload

如需取消规则,将 --add-rich-rule 换为 --remove-rich-rule,参数保持不变即可。

4. 添加防护站点

在WAF后台「防护站点」页面添加站点,关键配置:

配置项说明示例域名你的域名或IP,不带协议前缀example.com192.168.1.100端口WAF监听的端口80上游服务器WAF放行后转发的地址http://192.168.2.30:81

多项目场景

  • 同一端口多项目 → 自定义一个端口,WAF转发给Nginx,Nginx根据路径/域名分发

  • 多项目各自80/443 → 注册多个二级域名,一个域名只能监听一个80/443

  • 非标端口(如7001)经CDN可能无法访问,建议用二级域名+标准端口方案

雷池WAF安装及配置不完全安装指南

5. 测试防护效果

在浏览器中访问以下地址,验证WAF是否正常拦截:

模拟SQL注入

code复制

http://:<端口>/?id=1%20AND%201=1

模拟XSS攻击

code复制

http://:<端口>/?html=<script>alert(1)script>

如果看到WAF拦截页面,说明防护已生效。

雷池WAF安装及配置不完全安装指南

六、升级雷池WAF

  1. 下载最新Docker镜像压缩包,上传服务器

  2. 加载新镜像:

bash复制

docker load -i image.tar.gz

  1. 替换容器:

bash复制

docker compose down --remove-orphans docker compose up -d

升级前建议备份 .envcompose.yaml 文件。


常见问题

Q:内存不够怎么办?

增加swap空间。2G内存的服务器建议设置2G以上的swap:

bash复制

sudo fallocate -l 2G /swapfile sudo chmod 600 /swapfile sudo mkswap /swapfile sudo swapon /swapfile

Q:9443端口打不开?

检查防火墙是否放行9443端口,以及Docker容器是否正常运行。

Q:CDN配置后无法访问?

非80/443端口经CDN可能无法正确转发,建议使用标准端口+二级域名方案。


本文基于雷池WAF社区版撰写,更多细节请参考 官方文档

作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~

展开 收起
0评论

当前文章无评论,是时候发表评论了
提示信息

取消
确认
评论举报

相关文章推荐

更多精彩文章
更多精彩文章
最新文章 热门文章
4
扫一下,分享更方便,购买更轻松