从零(服务器、域名购买)开始搭建雷池WAF到应用上线简明指南
一、服务器与域名准备(若有可直接跳过)
- 服务器选购:
- 最低配置:1核CPU/1GB内存/20GB存储
- 推荐配置:2核CPU/2GB内存/Debian 12
- 安全组设置:仅开放22(SSH)、80(HTTP)、443(HTTPS)、9443(雷池面板)端口
推荐从阿里云购买,新用户可购买上面38元一年的,老用户也可以购买99元一年的,都相当划算,具体可以根据自己需求按配置购买
- 域名配置:
- 注册域名并添加A记录指向服务器IP
- 建议开启WHOIS隐私保护
- 提前申请SSL证书(也可以在雷池面板中选择免费版)
推荐从阿里云注册域名,注册后将A记录解析到服务器IP
二、雷池WAF安装
安装之前先找一个linux连接工具(比如:FinallShell)连接上服务器
- 基础环境:
# 安装Docker curl -fsSL https://get.docker.com | sh sudo usermod -aG docker $USER newgrp docker
如果没有的也可以不用安装,直接从第2步的一键安装开始,他会提示是否安装docker,直接选择y
即可
- 一键安装:
安装命令:bash -c "$(curl -fsSLk https://waf-ce.chaitin.cn/release/latest/manager.sh)"
有几个关键点,见截图
端口:如果防火墙中没有开放9443
端口,首先要去防火墙中开放9443
端口(由于这个证书是自己签发的,所以首次访问需接受自签名证书警告,这个直接接受即可)
- 密码重置(可选):
# 若忘记密码 sudo docker exec safeline-mgt resetadmin
- 登录
输入https://ip:9443
登录,登录成功后的节目
三、网站接入配置
- ssl证书
网站接入前,首先到 通用设置 → 添加证书中添加,可以自己上传,也可以申请免费证书,根据自己实际情况操作
- 防护站点设置:
- 管理界面 → 防护应用 → 添加应用
- 配置项:
- 域名:www.cccx.cn
- 监听端口:80/443
- 上游服务器:http://127.0.0.1:8080(实际业务地址)这个是nginx配只的一个示例应用,用于演示,由于我这里只有一台服务器,所以waf服务器和上游服务器是一台服务器,实际业务建议分开部署
注意圈上的这几个重点
- 访问测试
输入配置的域名www.cccx.cn
,如果能出现如下图,说明配置成功
- 验证防护:
- 访问测试:
http://www.cccx.cn/?id=1 AND 1=1
应返回拦截页面 - Cookies中应包含
sl-session
标识
- 访问测试:
这样配置后不论是http://cccx.cn、https://cccx.cn还是www.cccx.cn都会自动跳转到https://www.cccx.cn (最终预期效果)
四、301配置
上面配置了www.cccx.cn这个域名,但是实际应用中,一般会将不带www的跳转到带www的
- 再添加一个应用
再添加一个应用,选择重定向,状态码选择301,跳转带www的域名
- HTTP 自动跳转到 HTTPS
其实配置到上面已经完成了90%的工作,但是http的不会跳转到https的,还有一步需要配置,防护应用 → 高级配置 中勾上 HTTP 自动跳转到 HTTPS
五、使用静态文件搭建
在上面创建应用的时候看到有三种模式:代理到已有应用、使用静态文件搭建和重定向
- 创建静态文件站点
当我们应用是纯静态网站的时候,选择 使用静态文件搭建 是不错的选择,配置跟上面一样,唯独区别就是这里要选择 静态文件搭建
- 查看静态站点目录
创建好后点击应用的“详情”,看url地址中的id,我这里的id是4,实际情况根据实际id来看
从这个id就可以看到这些静态文件存放地址,路径是:[waf安装目录]/resources/nginx/static/static_[id]
比如我这里的安装目录是:/cccxcn/safeline,id为4
所以全路径是:/cccxcn/safeline/resources/nginx/static/static_4
后期备份和上传文件都可以从这个文件路径中操作
- 访问
输入配置的url访问,如果出现如下默认界面说明安装成功
六、最后
雷池还有很多丰富的功能,这里只是从安装到部署一个应用作为示例。到这里你的网站已具备基础WAF防护能力。后续可根据实际需求调整防护策略,并通过雷池管理界面监控安全事件。