步骤一:添加防护网站(独享模式)
如果您的业务服务器部署在华为云,您可以通过WAF独享模式将您的网站域名或IP添加到WAF进行防护。
如果您已开通企业项目,您可以在“企业项目”下拉列表中选择您所在的企业项目,在该企业项目下添加防护网站。
前提条件
已购买WAF独享引擎实例。
约束条件
- 准备以独享模式接入WAF的网站已经使用独享型ELB(Elastic Load Balance)作为负载均衡。有关ELB类型的详细介绍,请参见共享型弹性负载均衡与独享型负载均衡的功能区别。
2023年4月之前的独享引擎版本,不支持与独享ELB网络型配合使用。因此,如果您使用了独享ELB网络型(TCP/UDP)负载均衡,请确认独享WAF实例已升级到最新版本(2023年4月及之后的版本),独享引擎版本详情请参见独享引擎版本迭代。
- 如果WAF前有使用CDN、云加速等七层代理服务器,“是否已使用代理”务必选择“七层代理”,选择“七层代理”后,WAF将从配置的Header头中字段中获取用户真实访问IP,详见配置Header字段转发。
- 证书限制:
- WAF当前仅支持PEM格式证书。
- 目前华为云SCM证书只能推送到“default”企业项目下。如果您使用其他企业项目,则不能选择使用SCM推送的SSL证书。
- 拥有“SCM Administrator”和“SCM FullAccess”权限的账号才能选择SCM证书。
- “防护对象”配置为“*”时,只能防护除80、443端口以外的非标端口。
操作步骤
- 登录管理控制台。
- 单击管理控制台左上角的,选择区域或项目。
- 单击页面左上方的,选择 。
- 在左侧导航树中,选择“网站设置”页面。 ,进入
- 在网站列表左上角,单击“添加防护网站”。
- 选择“独享模式”并单击“确定”。
- 配置“域名信息”,如图1所示。
- “网站名称”:可选参数,自定义网站名称。
- “防护对象”:防护的域名或IP,域名支持单域名和泛域名。
- WAF支持添加“*”泛域名,表示可以防护任意的域名。“防护对象”配置为“*”时,只能防护除80、443端口以外的非标端口。
- 如果各子域名对应的服务器IP地址相同:输入防护的泛域名。例如:子域名a.example.com,b.example.com和c.example.com对应的服务器IP地址相同,可以直接添加泛域名*.example.com。
- 如果各子域名对应的服务器IP地址不相同:请将子域名按“单域名”方式逐条添加。
- “网站备注”:可选参数,网站的备注信息。
- 源站配置,如图2所示,参数说明如表1所示。
表1 基本信息参数说明 参数
参数说明
取值样例
防护对象端口
在下拉框中选择面要防护的端口。
配置80/443端口,在下拉框中选择“标准端口”。
Web应用防火墙支持的端口请参见WAF支持的端口范围
说明:如果配置了除80/443以外的其他端口,访问网站时,需要在网址后面增加非标准端口进行访问,否则访问网站时会出现404错误。
81
服务器配置
网站服务器地址的配置。包括对外协议、源站协议、VPC、源站地址和源站端口。
- 对外协议:客户端请求访问服务器的协议类型。包括“HTTP”、“HTTPS”两种协议类型。
- 源站协议:Web应用防火墙转发客户端请求的协议类型。包括“HTTP”、“HTTPS”两种协议类型。
- VPC:选择独享引擎实例所在的VPC。
说明:
为了实现业务双活,避免业务单点故障,建议在同一VPC下购买两个WAF实例。
- 源站地址:网站服务器的私有IP地址。
登录ECS或ELB控制台,在实例列表中查看对应服务器的私有IP地址。
说明:源站地址不能与防护对象一致。
支持以下两种IP格式:- IPv4,例如:XXX.XXX.1.1
- IPv6,例如:fe80:0000:0000:0000:0000:0000:0000:0000
- 源站端口:WAF独享引擎转发客户端请求到服务器的业务端口。
对外协议:HTTP
源站协议:HTTP
源站地址: XXX .XXX.1.1
源站端口:80
证书名称
“对外协议”设置为“HTTPS”时,需要选择证书。您可以选择已创建的证书或选择导入的新证书。导入新证书的操作请参见导入新证书。
成功导入的新证书,将添加到“证书管理”页面的证书列表中。有关证书管理的操作,请参见上传证书。
您也可以在CCM管理控制台购买证书并推送到WAF。有关CCM证书推送到WAF的详细操作,请参见推送证书到云产品。
须知:- WAF当前仅支持PEM格式证书。如果证书为非PEM格式,请参考导入新证书将证书转换为PEM格式,再上传。
- 目前华为云SCM证书只能推送到“default”企业项目下。如果您使用其他企业项目,则不能选择使用SCM推送的SSL证书。
- 如果您的证书即将到期,为了不影响网站的使用,建议您在到期前重新使用新的证书,并在WAF中同步更新网站绑定的证书。
- 域名和证书需要一一对应,泛域名只能使用泛域名证书。如果您没有泛域名证书,只有单域名对应的证书,则只能在WAF中按照单域名的方式逐条添加域名进行防护。
--
- 高级配置。
图3 高级配置
- 选择“是否已使用代理”。
- 七层代理:使用了DDoS高防(七层代理)、CDN、云加速等Web代理产品。
- 四层代理:使用了DDoS高防(四层转发)等Web代理产品。
- 无代理:未使用任何代理产品。
选择“七层代理”后,WAF将从配置的Header头中字段中获取用户真实访问IP,详见配置Header字段转发。
- 选择“策略配置”:默认为“系统自动生成策略”,您也可以选择已创建的防护策略或在域名接入后根据防护需求配置防护规则。
系统自动生成的策略说明如下:
- Web基础防护(“仅记录”模式、常规检测)
仅记录SQL注入、XSS跨站脚本、远程溢出攻击、文件包含、Bash漏洞攻击、远程命令执行、目录遍历、敏感文件访问、命令/代码注入等攻击行为。
- 网站反爬虫(“仅记录”模式、扫描器)
仅记录漏洞扫描、病毒扫描等Web扫描任务,如OpenVAS、Nmap的爬虫行为。
“仅记录”模式:发现攻击行为后WAF只记录攻击事件不阻断攻击。
- Web基础防护(“仅记录”模式、常规检测)
- 选择“是否已使用代理”。
- 单击“确认”,添加域名完成。
可根据界面提示,完成配置负载均衡、为弹性负载均衡绑定弹性公网IP和放行独享引擎回源IP的操作,建议单击“稍后”。后续参照步骤二:配置负载均衡、步骤三:为弹性负载均衡绑定弹性公网IP和步骤四:放行独享引擎回源IP完成相关操作。
图4 添加域名完成
生效条件
防护网站的初始“接入状态”为“未接入”,配置完负载均衡以及为弹性负载均衡绑定弹性IP后,当访问请求到达该网站的WAF独享引擎时,该防护网站的接入状态将自动切换为“已接入”。
导入新证书
当“对外协议”设置为“HTTPS”时,可以导入新证书。
- 单击“导入新证书”,打开“导入新证书”对话框。然后输入“证书名称”,并将证书内容和私钥内容粘贴到对应的文本框中。
图5 导入新证书
Web应用防火墙将对私钥进行加密保存,保障证书私钥的安全性。
WAF当前仅支持PEM格式证书。如果证书为非PEM格式,请参考表2在本地将证书转换为PEM格式,再上传。表2 证书转换命令 格式类型
转换方式
CER/CRT
将“cert.crt”证书文件直接重命名为“cert.pem”。
PFX
- 提取私钥命令,以“cert.pfx”转换为“key.pem”为例。
openssl pkcs12 -in cert.pfx -nocerts -out key.pem -nodes
- 提取证书命令,以“cert.pfx”转换为“cert.pem”为例。
openssl pkcs12 -in cert.pfx -nokeys -out cert.pem
P7B
- 证书转换,以“cert.p7b”转换为“cert.cer”为例。
openssl pkcs7 -print_certs -in cert.p7b -out cert.cer
- 将“cert.cer”证书文件直接重命名为“cert.pem”。
DER
- 提取私钥命令,以“privatekey.der”转换为“privatekey.pem”为例。
openssl rsa -inform DER -outform PEM -in privatekey.der -out privatekey.pem
- 提取证书命令,以“cert.cer”转换为“cert.pem”为例。
openssl x509 -inform der -in cert.cer -out cert.pem
- 执行openssl命令前,请确保本地已安装openssl。
- 如果本地为Windows操作系统,请进入“命令提示符”对话框后,再执行证书转换命令。
- 提取私钥命令,以“cert.pfx”转换为“key.pem”为例。
- 单击“确认”,上传证书。