部署雷池WAF的避坑指南
2023-5-9 18:1:25 Author: 星海安全实验室(查看原文) 阅读量:96 收藏

前言

前段时间长亭的雷池WAF出了社区版,官方给出的产品有四大优势:

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

  • • 安全:首创业内领先的智能语义分析算法,精准检测、低误报、难绕过语义分析算法无规则,面对未知特征的 0day攻击不再手足无措。

  • • 高性能:无规则引擎,线性安全检测算法,平均请求检测延迟在 1 毫秒级别并发能力强,单核轻松检测 2000+ TPS,只要硬件足够强,可支撑的流量规模无上限

  • • 高可用:流量处理引擎基于 Nginx 开发,性能与稳定性均可得到保障内置完善的健康检查机制,服务可用性高达 99.99%

看起来很强,于是想搭出来测试一下,然后有了这篇文章,文章会把作者搭建过程中遇到的坑都写出来,避免大家走弯路。

1、安装docker环境

长亭的雷池WAF是基于docker环境的,所以第一步安装docker。两条命令完事:

apt-get update 
apt-get install docker.io

检查Docker是否安装成功:

docker run hello-world

出现如下结果证明安装成功。

2、安装docker compose v2

docker-compose v1和v2的区别在于:

1. docker compose1.x 是相对独立的命令,命令行方式如:docker-compose --version
2. docker compose v2 被规划为Docker CLI的一部分,命令行方式如docker compose version。注意docker与compose之间是空格,不是中横线;version 作为一个命令存在,而不是参数。

如果你之前装过docker-compose,但是不清楚是否为v2,运行这个命令:

docker compose version

如果和以下结果一样,说明不是docker compose v2,要重新安装v2。

2.1、开始安装

  1. 1. 下载Docker Compose v2的二进制文件:sudo curl -L "https://github.com/docker/compose/releases/download/v2.0.1/docker-compose-linux-amd64" -o /usr/local/bin/docker-compose

  2. 2. 添加执行权限: sudo chmod +x /usr/local/bin/docker-compose

  3. 3. 检查Docker Compose是否安装成功: docker compose version

注意:安装过程中可能会遇到如下情况:

这是因为网络问题,需要科学上网。

如果你的系统是图形界面的,可以看这篇文章:

https://zone.huoxian.cn/d/844-linuxv2rayn

如果你的系统是命令行界面的:

  1. 1. 下载客户端并解压:

    https://github.com/v2fly/v2ray-core/releases/download/v5.4.1/v2ray-linux-64.zip
  2. 2. 在你的Windows系统上打开v2ray,找到一个合适的节点,右键-选择导出所选服务器为客户端配置。

  3. 3. 把文件保存到桌面,命名为config.json

  4. 4. 把config.json放到刚才下载的v2ray-linux文件夹中,把原文件覆盖掉。

  5. 5. 把v2ray-linux文件夹上传到Linux系统中并执行。./v2ray run

  6. 6. 配置全局代理:

    1. 1. 临时设置全局代理:export http_proxy=http://127.0.0.1:6666, export https_proxy=http://127.0.0.1:6666

    2. 2. 永久设置全局代理:在配置文件/etc/profile内添加以下内容: export http_proxy=http://127.0.0.1:6666, export https_proxy=http://127.0.0.1:6666(根据自己的代理选择http或https)

    3. 3. 重新加载配置文件:source /etc/profile

代理配置好后,就可以重新下载Docker Compose v2的二进制文件了。

3、部署WAF

3.1、下载并解压

https://github.com/chaitin/safeline/releases/download/v1.3.0/safeline.zip

3.2、安装

./setup.sh

3.3、运行

docker compose up -d

4、配置

打开浏览器,输入地址:
https://192.168.1.1:9443/

第一步,绑定动态口令,这里可以使用下图的几种认证软件。

在手机上安装一个认证软件后扫描二维码即可完成绑定,然后登录来到首页。点开防护站点,添加站点

  • • 域名没有就不用写了。

  • • 端口是要把上游服务器映射到WAF服务器的哪个端口上,如8888。

  • • 上游服务器就是被防护的站点,比如:http://192.168.1.100:8080

然后点提交即可。

完成后访问WAF的IP地址的映射的端口,比如WAF的地址是:192.168.1.50,那么就访问:

http://192.168.1.50:8888

(这个8888就是刚才编辑站点里填写的端口),然后即可访问到被防护的站点,且WAF是生效的,如下图测试。

并且在日志记录里就能看到该记录。

写在最后

到此WAF就搭建完成了,可以把需要防护的站点都添加里面。这里由于是测试WAF,并没有根据实际情况对站点进行配置。现实中还需要把WAF的8888端口的流量转发回防护站点服务器的某个端口上,或者被防护站点有域名的话,把DNS解析到WAF这边,这样对访问该网站的用户来说才是无感的,不然对用户来说IP就改变了。

文章来源: http://mp.weixin.qq.com/s?__biz=Mzg4ODcyODk4MQ==&mid=2247484415&idx=1&sn=292b322fd0b9f80a2d4bd66c64191561&chksm=cff7ff05f8807613a0ba3511c9811456261fe408072904b4cf4e2513d60809ba89dd83475939#rd
如有侵权请联系:admin#unsafe.sh