长亭百川云 - 文章详情

手把手教你用PVE部署“雷池WAF”,不让黑客越雷池一步(折腾NAS系列五)

知产二大爷

196

2024-06-27

点击上方 知产二大爷,关注我吧~

💡写在前面

最近在水群的时候,被大佬们安利了一个检测IP地址和域名是否暴露的网站:https://fofa.info/,检测了一下我家里的IP和域名,可以说是触目惊心,**「我的群晖、爱快、Emby等等端口全部暴露了」**,如下图所示。**「虽然已经做了反代,但是出于不怕一万就怕万一的考虑,我决定部署“雷池WAF”以提高对外web服务的安全性。」**

🍓项目简介

「雷池WAF一款Web应用防火墙」,区别于传统防火墙,WAF 工作在应用层,对基于 HTTP/HTTPS 协议的 Web 系统有着更好的防护效果,使其免于受到黑客的攻击。

采用容器化部署,一条命令即可完成安装,0 成本上手,安全配置开箱即用,无需人工维护,可实现安全躺平式管理。

雷池社区版主要以 「反向代理」 的方式工作,类似nginx。

「让网站流量先抵达雷池,经过雷池检测和过滤后,再转给原来的网站业务。」

项目官网:https://waf-ce.chaitin.cn/

🍉我的软硬件环境

  • 「j4125软路由,已部署PVE 8.2」

  • 「勤劳的双手和聪明的大脑」

🚥第一步:部署Ubuntu22.04

  • PVE中,点击local(pve)→点击CT模板→点击模板

  • 选择Ubuntu22.04-1版本(雷池对Ubuntu22.04版本的兼容性较好,建议选用此版本)

  • 点击下载

  • 等待下载完成

⚠️**「注意事项」**:

  1. 如果你下载失败的话,可以尝试更换PVE国内源后再尝试下载,网上有很多更换国内源的教程。

  2. 或者手动下载后再上传到CT模板,下载地址:https://mirrors.ustc.edu.cn/proxmox/images/system/

    选择ubuntu-22.04-standard_22.04-1_amd64.tar.zst,不要下错了

  • 点击创健CT→节点默认→CT ID自定义→主机名自定义→密码自定义(注意密码后面会用到)→其他均为默认→点击下一步

  • **「**这里务必要勾选****无特权的容器」 「,否则后面会报错并安装失败。****」

  • 存储选择默认的local→模板选择前面下载的ubuntu-22.04→点击下一步

  • 存储选择默认的local→磁盘大小**「建议给20G以上」**→其他均为默认→点击下一步

  • CPU我的j4125给了2核→其他均为默认→点击下一步

  • 内存2G→其他均为默认→点击下一步

  • 网络设置这里,因为我不需要ipv6,所以只设置了ipv4。

  • 填写IPv4/CIDR(也就是你要指定的雷池局域网访问地址,格式如192.168.31.11/24)→填写网关(一般为路由器的IP,如192.168.31.1)→其他均为默认→点击下一步

  • 后面全部默认即可,完成设置并启动,如果容器启动不起来,请反复检查上述步骤。

🚥第二步:部署雷池WAF

  • 点击进入控制台→输入root并回车→输入你前面设置的密码

  • 然后可以看到如下提示:

  • 输入以下代码,更新Ubuntu软件包
sudo apt update
  • 等待安装完成后,输入以下代码,安装curl工具
sudo apt update    
sudo apt install curl
  • 中间会有提示,输入y并回车

  • 等待安装完成后,输入以下代码,自动安装雷池WAF
bash -c "$(curl -fsSLk https://waf-ce.chaitin.cn/release/latest/setup.sh)"
  • 按照提示输入Y,安装docker环境

  • 目录默认即可,按回车

  • 输入y确认

  • 出现这个界面,说明安装成功了,「记住生成的账号密码」

  • 如果安装失败请反复检查前面的步骤。

🚥第三步:设置雷池WAF

  • 访问控制台,地址是你前面设置的IP地址,端口9443:https://192.168.31.11:9443

  • 出现这个提示,点高级,点继续访问即可:

  • 输入前面安装成功界面生成的账号密码。

  • 如果你没有记住密码,可以在PVE控制台使用如下代码重新生成:
docker exec safeline-mgt resetadmin
  • 命令执行完成后会随机重置 admin
    账户的密码,输出结果如下
[SafeLine] Initial username:admin  
[SafeLine] Initial password:**********  
[SafeLine] Done
  • 进入控制台界面

  • 「首先我们添加域名证书」,进入防护站点→点击证书管理→点击添加证书

  • 上传你的域名证书文件,或直接复制粘贴。

  • 雷池也支持自动获取和更新域名证书,不过需要挂代理,有需要的可自行探索。

  • 「下面添加要保护的web站点。」

  • 「这里要注意的是,雷池可以非常灵活地介入你的web访问节点,我选择直接将雷池作为反代服务器,你也可以把雷池部署在你原反代服务器的上下游。」

  • 「因为我选择直接将雷池作为反代服务器,所以需要将原来的反代服务,例如群晖自带的反代、lucky、nginx等的反代设置,全部取消。」

  • 「同时,需要将雷池的反代端口在路由器里进行映射,这个后面再讲。」

  • 进入防护站点→点击站点管理→点击添加站点

  • 输入域名(这个域名就是你用于外网访问的域名),如:abc.abc.com

    输入自定义的端口号(这个端口号就是你用于外网访问的端口号),如:12345

    这里要注意,「配置的多个网站的端口号可以不同,也可以相同」,但是**「都需要在路由器里进行端口映射」**,映射规则是把上面设置的端口映射到雷池的IP,可参考下图爱快的设置:

  • 点击选择SSL

  • 选择你刚才上传的证书

  • 输入上游服务器(这个上游服务器就是你的web服务本地地址)

  • 备注自定义

  • 点击提交

  • 例如选择维护模式后再访问站点,则会显示如下:

  • 也可以在防护配置选项里配置更多防护规则,不再赘述。「防护模块」「选项里建议改为」「高强度防护」****「。」

  • 自定义规则选项里可以维护黑白名单设置。

  • 「其他防护设置请自行探索。」

🚥第四步:雷池WAF的升级

  • 当你看到**「左下角的升级提醒」**时,可以选择进行升级。

  • 「升级方法:」

  • 打开pve雷池容器的控制台,进入root,输入如下升级命令(升级不会清除历史数据):

bash -c "$(curl -fsSLk https://waf-ce.chaitin.cn/release/latest/upgrade.sh)"
  • 「如果需要使用华为云加速」,可使用:
CDN=1 bash -c "$(curl -fsSLk https://waf-ce.chaitin.cn/release/latest/upgrade.sh)"
  • 「[可选]」  执行以下命令删除旧版本 Docker 镜像,释放磁盘空间。有部分环境的默认 SafeLine 安装路径是在 /data/safeline-ce
    ,安装之后可能会发现需要重新绑定 OTP、配置丢失等情况,可以修改 .env 的 SAFELINE_DIR
    变量,指向 /data/safeline-ce
docker rmi $(docker images | grep "safeline" | grep "none" | awk '{print $3}')

「好的,到这里整个配置已经全部完成,你可以愉快地使用它了。」

「希望我的教程能够帮助到你,如果你感觉有用的话,三连请走一波。」


⚠️**「此外,雷池当然也支持在群晖、1panel等的Docker容器内安装,如有需要请留言」「如果需要的人多的话,后面我可以更新一篇Docker内安装的教程,需要的人少就不更了。」**

END

  往期精选

手把手教你用群晖搭建属于自己的邮箱服务器(折腾NAS系列一)


听说,点「在看」和「」下期更精彩

相关推荐
关注或联系我们
添加百川云公众号,移动管理云安全产品
咨询热线:
4000-327-707
百川公众号
百川公众号
百川云客服
百川云客服

Copyright ©2024 北京长亭科技有限公司
icon
京ICP备 2024055124号-2