本帖最后由 丰之汇罗云辉 于 2022-10-20 14:37 编辑
云waf部署实施文档 1、简介 云WAF8060版本为新架构版本,与原先waf架构改动较大。云waf8060版本分为管理节点和检测节点组成。管理节点顾名思义,就是管理平面,检测节点为数据平面。 2、部署模式 部署模式:单台设备部署: 单台设备部署也就是管理节点和检测节点在同一台宿主机上,单台设备部署又分为反向代理部署模式,插件引流部署模式 分部集群模式部署: 分部署集群也就是管理节点和检测节点分开安装在两台宿主机上,同样也支持反向代理部署模式和插件部署模式。
反向代理模式部署:检测节点起到反向代理作用,将公网的WEB服务器IP转换成云WAF的IP和端口。流量到达云WAF检测节点后,匹配对应的转发服务器。 插件模式部署:在Nginx/tengine服务器上安装云WAF插件,由云WAF插件将Nginx的流量引流到云WAF的检测节点(插件部署需要客户又nginx服务器) 3、环境条件 宿主机尽支持centos7.3-8.5,推荐7.9版本。仅支持x86架构,不支持arm架构。磁盘空间建议空闲磁盘空间大于90G以上。nginx版本1.15.0版本及以上, 4、本次案例为软件安装包模式部署场景。客户提供centos宿主机安装包所需资料均在bbs内,以下为链接及图片 云WAF8.0.60安装依赖包:依赖安装包安装所需环境以及docker应用,云WAF8060是运行在docker上的。 云WAF8.0.60安装包:安装包包含管理节点及检测检点,按照时进行选择。 云WAF8.0.60引流插件:nginx的插件引流模式及引流文件
5、云waf采用软件安装包方式进行安装部署实施,分区要求需要WAF 的挂载目录要求大于 64G(使用/data目录),推荐/var 分区 15G 以上,/分区 10G 以上,并且不建议自动分区。 6、查看客户虚拟机的磁盘情况 通过lsblk可以看到又vdb磁盘未用,可当作云waf程序的安装目录以及云waf产生的日志的磁盘。通过df-h/df-h var可以看到/以及var目录都属于/下,有95G可使用。只需新增data目录,将vdb磁盘进行分区格式化挂载给data目录即可。 7、创建/data目录,并且为vdb磁盘新建一个分区,格式化分区,选择文件系统为xfs即可。然后将/dev/vdb1 挂载到/data目录,并修改开机自动挂载 /dev/vdb1 到 /data目录 8、关闭防护墙和SELinux操作 关闭防火墙以及永久关闭,关闭selinux,修改/etc/selinux/config 为disable,执行reboot使系统重启生效 9、安装云WAF依赖包,给安装包通过chmod进行加执行权限, 10、使用./安装包名进行安装,提示是否确认安装,输入Y回车。 11、安装完成后执行docker ps命令,可以看到有返回结果,安装docker成功 12、在将云waf安装包文件winscp上传到Linux系统跳板机(由于部署环境在政务云需要通过跳板机进行登录。)在通过跳板机上传至云waf主机 Linux系统之间传送文件使用scp命令: 例:scp /home/work/source.txt root@192.168.0.10:/home/work/ #把本地的source.txt文件拷贝到192.168.0.10机器上的/home/work目录下 13、给waf依赖安装包提权,并且进行离线安装。 14、给安装包提权,并进行安装,选择安装的目录/data目录,输入密码选择管理节点进行按照(安装密码咨询办事处同事),后续选择部署方式。 15、安装完管理节点,执行docker ps可以看到云WAF会有waf_mgt、waf_redis、waf_nginx、waf_detect四个容器正在运行 16、上面管理节点完成后,以下操作均为检测节点主机操作。 和上面操作一直,分区创建挂载目录---关闭防火墙---安装依赖包---上传安装包---提权安装依赖包----进行安装云waf程序。 安装程序选择对应目录/data目录,选择agent部署,输入主控IP,端口默认,会让输入管理节点凭证以及token信息,需要登录管理节点输入monitor info可以获取这些信息 17、检测节点安装成功,通过docker images命令,可以查看有waf_detect这个镜像。 18、安装完成后通过输入管理节点的地址加4431访问web界面 https://管理节点IP:4431。账密默认admin/admin 19、云waf授权分为三种方式授权。“在线授权”、“本地授权服务器授权”和“申请免费试用” 在线授权以及申请免费使用均为联网申请授权。联网:管理节点需要和vls.sangfor.com.cn 的 TCP 443 端口保持通信
20、经验分析 ***由于客户环境属于政务云联网放开了对应的IP与端口,后续发现宿主机无法解析域名所需的IP,需要修改本地host文件,手动域名解析。后续登录云主机进行在线免费使用,仍然发现无法连接互联网。后续发现由于waf程序运行在docker内,进入docker内linux系统添加host文件,进行域名解析后成功试用授权***
21、由于本次案例采用分离式插件引流模式,需要在客户的nginx服务器上进行插件引流部署。 需要确认nginx版本,查看有没有对应引流文件模板(此处用到bbs下载的引流插件) 22、以下为nginx插件引流模式部署: 查看客户的nginx服务器版本(如果不可以在任何目录试用nginx -v命令,找到nginx安装目录,进入sbin目录,执行下述命令可查看nginx版本。) [root---sbin]# ./nginx -v nginx version: nginx/1.16.1 客户nginx版本支持引流插件引流。 将bbs下载的引流插件及模板文件。(引流插件是以.so的文件,模板文件是以.conf结尾的文件) 23、将对应版本的以so结尾命名的插件文件以及 template.conf这个文件复制到到nginx安装目录,修改nginx.conf的配置,将云WAF插件和引流配置模板配置进去,在include云WAF的配置模板时,需放到nginx.conf文件最后面。如下图: 24、template.conf这个文件做对应的修改,修改的server IP为云WAF检测节点的IP,端口默认从6970开始依次递增,一个检测节点有多少核CPU,就可以配置多少个端口。 25、修改完nginx.conf文件后,保存然后执行命令./nginx -s reload重启服务,提示报错。此报错原因由于客户的nginx服务器自行下载源码进行编译安装,和提供的引流模板不兼容导致报错,无法进行引流成功。(遇到此类问题直接二线联系研发处理,需要将引流插件和客户nginx重新编译。)
、 26、登录设备,在设备[安全防护/策略管理/安全防护策略]中创建Web服务器的安全策略,也可以直接复用默认策略模板。 27、在设备[安全防护/站点防护]中创建站点防护。 28、配置完成后,点击<确定>即可完成配置。
--------------------------------------------------------------------- 到此云WAF8060版本部署实施完成,此版本架构改动较大,建议有环境的童鞋们自行搭建实验进行安装测试。才能深刻体验到新版本的魅力! |