深信服云WEB应用防火墙为云而生,可以在虚拟机、容器和云平台上部署,广泛兼容各类私有云公有云。如阿里云、华为云、腾讯云和天翼云等。
以软件的形式部署在centos7及以上的docker环境中。
云WAF专注于网站、业务系统、 API接口等安全防护,解决传统WAF安全产品易误报漏报、难以结合业务特点深度防御的问题,基于攻防情报、智能语义、主动验证Bot防护技术进行漏斗化高效检测Web攻击,满足 OWASP TOP 10 防护需求和符合监管要求。
提供贴合业务的多重手段,帮助用户建设适用业务需求的安全防线,并通过多种智能分析技术和联动组件持续对抗各类新型攻击。实现用户Web业务应用安全与可靠交付。
部署条件系统支持:CentOS 7.3 —— 8.5
部署环境:宿主机上建议单机部署WAF,不建议存在其他业务
硬件配置:最低 2C4G,安装目录最小64G,且不能安装在根目录
容器环境:docker-ce版本最低 18.06
其他条件:建议关闭SELinux及firewall,开启IPv4转发,最低支持Nginx 1.15版本,tengine 2.3.0版本。
提示:本指南仅用于云WAF 8.0.60版本,对其他版本云WAF不保证/不承诺具有指导意义。
部署模式深信服云WAF针对引流策略的不同,可以分为代理模式和插件模式;
同时针对部署位置的不同,云WAF支持管理节点和检测节点部署在同一台宿主机上,即云WAF单台设备部署,也支持管理节点与检测节点分离式部署,且一台管理节点可以对接多台检测节点。
部署角色 | 说明 |
Management Platform + WAF Agent | 同时部署管理节点和检测节点,适用于设备单台设备部署。 |
Management Platform | 仅部署管理节点,适用于设备分离式部署。 |
WAF Agent | 仅部署检测节点,适用于设备分离式部署。 |
提示:分离式部署即通常所说的集群部署指,一个Management Platform,WAF Agent多节点部署。
部署模式 | 引流方式 |
Reverse Proxy | 反向代理模式,云WAF自带Nginx反向代理服务 |
Plugin | 插件模式,需要额外在客户自己的 nginx/tengine 服务器上安装插件,引流到云 WAF 的检测节点进行业务防护 |
单台反向代理模式云WAF部署在客户虚拟环境或者云平台中,防火墙通过目的地址映射,将公网的WEB服务器IP转换成云WAF的IP和端口。
流量到达云WAF后,匹配对应的转发服务器,将流量负载到各个节点业务服务器上。
在整个过程中,云WAF起到反向代理作用,并对流量进行安全防护。
单台插件模式云WAF部署在客户虚拟环境或者云平台中, 无需改变网络环境,在Nginx/tengine服务器上安装云WAF插件,由云WAF插件将Nginx的流量引流到云WAF的检测节点,经过云WAF检测节点的安全检测。
经过云WAF的安全防护后,再由Nginx/tengine服务器将流量负载到各个节点业务服务器上。
在整个过程中,由云WAF插件将流量引流到云WAF检测节点,检测节点对流量进行安全防护。
分离反向代理模式
云WAF的管理节点和检测节点部署在客户虚拟环境或者云平台中,防火墙通过目的地址映射,将公网的WEB服务器IP转换成云WAF的IP和端口。
流量到达云WAF检测节点后,匹配对应的转发服务器,将流量负载到各个节点业务服务器上。
在整个过程中,云WAF检测节点起到反向代理作用,并对流量进行安全防护,并将日志上报到云WAF管理节点。
分离插件模式云WAF部署在客户虚拟环境或者云平台中,无需改变网络环境,在Nginx/tengine服务器上安装云WAF插件,由云WAF插件将Nginx的流量引流到云WAF的检测节点。
经过云WAF检测节点的安全检测,再由Nginx/tengine服务器将流量负载到各个节点业务服务器上。
在整个过程中,由云WAF插件将流量引流到云WAF检测节点,检测节点对流量进行安全防护,并上报日志到管理节点。
提示: 本示例仅以单机部署进行演示。
配置推荐
管理节点逻辑CPU | 内存 | 硬盘 | 对接检测节点个数 |
2核 | 4G | 100G | 5个节点 |
4核 | 8G | 100G | 15个节点 |
8核 | 16G | 100G | 50个节点 |
12核 | 16G | 100G | 100个节点 |
检测节点逻辑CPU | 内存 | 硬盘 | 应用层吞吐 |
2核 | 4G | 100G | 25M/50M/100M/200M |
4核 | 8G | 100G | 500M |
8核 | 16G | 100G | 1G |
16核 | 32G | 100G | 2G |
云WAF部署
系统准备安装CentOS 7.9.2009 64位,安装过程略。
永久开启路由转发。
上传相关部署软件包至服务器。
- [root@cloudwaf ~]# yum -y install zip unzip #安装解压缩工具
- [root@cloudwaf ~]# echo "net.ipv4.ip_forward = 1" > /etc/sysctl.d/cloudwaforward.conf #开启IPv4转发
- [root@cloudwaf ~]# sysctl -p /etc/sysctl.d/cloudwaforward.conf
- [root@cloudwaf ~]# sysctl -a | grep ip_forward
- net.ipv4.ip_forward = 1
- [root@cloudwaf 01-install_pkg]# ll
- total 1.7G
- -rw-r--r-- 1 root root 1.6G May 24 23:27 WAF8.0.60_20220512.pkg
- -rw-r--r-- 1 root root 32 May 24 23:27 WAF8.0.60_20220512.pkg.md5
- -rw-r--r-- 1 root root 135M May 24 23:27 WAF8.0.60_dependency_20220415.pkg
- -rw-r--r-- 1 root root 32 May 24 23:35 WAF8.0.60_dependency_20220415.pkg.md5
- -rw-r--r-- 1 root root 2.8M May 24 23:27 WAF8.0.60_plugin_module_20220415.zip
- -rw-r--r-- 1 root root 33 May 24 23:27 WAF8.0.60_plugin_module_20220415.zip.md5
复制代码
创建部署目录(可选)为后期维护方便及扩容空间方便,建议为后续云WAF部署目录及docker组件目录,都创建独立的挂载点和分区。
本指南采用 LVM 分区,为云WAF创建 /sf/cloudwaf 挂载目录。
为docker运行创建 /sf/docker 挂载目录。
- [root@cloudwaf ~]# df -hT
- 文件系统 类型 容量 已用 可用 已用% 挂载点
- ……
- /dev/mapper/vg01-lv01 ext4 118G 6.1M 112G 1% /sf
- [root@cloudwaf ~]# ll /sf/
- 总用量 24K
- drwxr-xr-x 4 root root 4.0K 5月 27 00:04 cloudwaf
- drwx--x--- 13 root root 4.0K 5月 27 00:02 docker
复制代码
提示:更多 LVM分区 方法参考: LVM创建 。
环境准备——脚本自动化正式部署云WAF之前需要安装相应的依赖软件,可通过部署包中自带的依赖包自动安装相关依赖。
- [root@cloudwaf ~]# cd 01-install_pkg/
- [root@cloudwaf 01-install_pkg]# chmod +x WAF8.0.60_dependency_20220415.pkg
- [root@cloudwaf 01-install_pkg]# ./WAF8.0.60_dependency_20220415.pkg
复制代码
提示:当前版本 WAF8.0.60 仅需要docker和docker-compose依赖。
同时,采用自动解决依赖,该脚本会检测 / 目录必须大于 64G 。
环境准备——手动操作正式部署云WAF之前需要安装相应的依赖软件,基于深层次理解部署原理及架构、以及维护依赖包的最新版本,个人建议采用手动部署依赖包,具体参考如下。
安装Docker- [root@cloudwaf ~]# yum install -y yum-utils \
- device-mapper-persistent-data lvm2 #部署依赖
- [root@cloudwaf ~]# yum-config-manager \
- --add-repo \
- http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo #添加阿里云Docker源
- [root@cloudwaf ~]# sudo yum-config-manager --enable docker-ce-nightly #开启源
- [root@cloudwaf ~]# yum list docker-ce --showduplicates | sort -r #查看可安装版本
复制代码
- [root@cloudwaf ~]# sudo yum -y install docker-ce docker-ce-cli containerd.io docker-compose-plugin #安装最新版docker
复制代码注意:Docker需要64位系统系统,内核的版本必须大于3.10。
也可通过如下命令安装指定版本docker:
- [root@cloudwaf ~]# VERSION_STRING='20.10.9'
- [root@cloudwaf ~]# yum -y install docker-ce-${VERSION_STRING} docker-ce-cli-${VERSION_STRING} containerd.io docker-compose-plugin
复制代码
- [root@cloudwaf ~]# mkdir -p /etc/docker
- [root@cloudwaf ~]# cat > /etc/docker/daemon.json <<EOF
- {
- "registry-mirrors": ["https://dbzucv6w.mirror.aliyuncs.com"],
- "log-driver": "json-file",
- "data-root": "/sf/docker",
- "bip": "10.10.10.1/24",
- "mtu": 1450,
- "log-opts": {
- "max-size": "100m"
- },
- "storage-driver": "overlay2",
- "storage-opts": [
- "overlay2.override_kernel_check=true"
- ]
- }
- EOF
复制代码
- [root@cloudwaf ~]# systemctl enable docker.service --now #启动服务并设为开机启动
- [root@cloudwaf ~]# docker --version
- Docker version 20.10.16, build aa7e414
- [root@cloudwaf ~]# docker ps
- CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
复制代码
提示:由于云WAF采用docker运行,同时默认docker的路径为 /var/lib/docker/ ,因此建议 /var 15G以上,也可将docker默认路径独立挂载,具体参考见: Docker安装部署 。
安装docker-Compose- [root@cloudwaf ~]# sudo curl -L https://get.daocloud.io/docker/compose/releases/download/v2.5.1/docker-compose-`uname -s`-`uname -m` > /usr/bin/docker-compose
- [root@cloudwaf ~]# chmod +x /usr/bin/docker-compose
- [root@cloudwaf ~]# docker-compose --version
- Docker Compose version v2.5.1
复制代码
单台反向代理模式部署进入安装目录,执行安装脚本。
- [root@cloudwaf ~]# cd 01-install_pkg/
- [root@cloudwaf 01-install_pkg]# ./WAF8.0.60_20220512.pkg
- Please enter the mount path: /sf/cloudwaf
- The password is incorrect, number of retries: 3
- ✔ Please enter the password: ************************ #此为安装密码
- Use the arrow keys to navigate: ↓ ↑ → ← and / toggles search #使用方向键进行选择
- Select Deployment Role
- * Management Platform + WAF Agent #采用单机部署
- Management Platform
- WAF Agent
- --------- Selected Deployment Role ----------
- Management Platform + WAF Agent
- Write out database with 1 new entries
- Data Base Updated
- Use the arrow keys to navigate: ↓ ↑ → ← and / toggles search
- Select Deployment Method
- * Reverse Proxy #选择代理模式
- Plugin
- --------- Selected Deployment Method ----------
- Reverse Proxy
- -----------------------------------------------------------------
- Show Installation Configurations Command:monitor info
- Management Platform URL:https://127.0.0.1:4431 #WAF登录地址
- Install WAF Success
复制代码
云WAF访问
访问测试使用 http://[ip]4431,即可访问云WAF,默认账号信息为: admin/admin 。
首次登录提示修改密码,修改密码后重新登录。
云WAF卸载
卸载云WAF执行如下命令,然后选择需要卸载的相应组件。