步骤一:添加防护网站(独享模式)
如果您的业务服务器部署在云上,您可以将网站的域名或IP添加到WAF,使网站流量切入WAF。
前提条件
已申请WAF独享引擎实例。
约束条件
- 准备以独享模式接入WAF的网站已使用独享型ELB(Elastic Load Balance)作为负载均衡。
- 为了保证WAF的安全策略能够针对真实源IP生效,成功获取Web访问者请求的真实IP地址,如果WAF前没有使用CDN、云加速等七层代理服务器,且ELB使用的是四层负载均衡(NAT等方式),“是否已使用代理”务必选择“否”,其他情况,“是否已使用代理”选择“是”。
操作步骤
- 登录管理控制台。
- 单击管理控制台左上角的,选择区域或项目。
- 单击页面左上方的,选择 。
- 在左侧导航树中,选择“网站设置”页面。 ,进入
- 在网站列表左上角,单击“添加防护网站”。
- 选择“独享模式”并单击“确定”。
- 配置“域名信息”,如图1所示。
- “网站名称”:可选参数,自定义网站名称。
- “防护对象”:防护的域名或IP,域名支持单域名和泛域名。
- WAF支持添加“*”泛域名,表示可以防护任意的域名。“防护对象”配置为“*”时,只能防护除80、443端口以外的非标端口。
- 如果各子域名对应的服务器IP地址相同:输入防护的泛域名。例如:子域名a.example.com,b.example.com和c.example.com对应的服务器IP地址相同,可以直接添加泛域名*.example.com。
- 如果各子域名对应的服务器IP地址不相同:请将子域名按“单域名”方式逐条添加。
- “网站备注”:可选参数,网站的备注信息。
- 源站配置,如图2所示,参数说明如表1所示。
表1 基本信息参数说明 参数
参数说明
取值样例
防护对象端口
在下拉框中选择面要防护的端口。
配置80/443端口,在下拉框中选择“标准端口”。
81
服务器配置
网站服务器地址的配置。包括对外协议、源站协议、VPC、源站地址和源站端口。
对外协议:HTTP
源站协议:HTTP
源站地址: XXX .XXX.1.1
源站端口:80
证书名称
“对外协议”设置为“HTTPS”时,需要选择证书。您可以选择已创建的证书或选择导入的新证书。导入新证书的操作请参见导入新证书。
成功导入的新证书,将添加到“证书管理”页面的证书列表中。有关证书管理的操作,请参见上传证书。
须知:- WAF当前仅支持PEM格式证书。如果证书为非PEM格式,请参考导入新证书将证书转换为PEM格式,再上传。
- 如果您的证书即将到期,为了不影响网站的使用,建议您在到期前重新使用新的证书,并在WAF中同步更新网站绑定的证书。
- 域名和证书需要一一对应,泛域名只能使用泛域名证书。如果您没有泛域名证书,只有单域名对应的证书,则只能在WAF中按照单域名的方式逐条添加域名进行防护。
--
- 高级配置。
- “是否已使用代理”:为了保证WAF的安全策略能够针对真实源IP生效,成功获取Web访问者请求的真实IP地址,如果WAF前已使用如CDN、云加速等提供七层Web代理的产品,请务必选择“是”。
- 选择“策略配置”:默认为“系统自动生成策略”,您也可以选择已创建的防护策略或在域名接入后根据防护需求配置防护规则。
系统自动生成的策略说明如下:
- Web基础防护(“仅记录”模式、常规检测)
仅记录SQL注入、XSS跨站脚本、远程溢出攻击、文件包含、Bash漏洞攻击、远程命令执行、目录遍历、敏感文件访问、命令/代码注入等攻击行为。
- 网站反爬虫(“仅记录”模式、扫描器)
仅记录漏洞扫描、病毒扫描等Web扫描任务,如OpenVAS、Nmap的爬虫行为。
“仅记录”模式:发现攻击行为后WAF只记录攻击事件不阻断攻击。
- Web基础防护(“仅记录”模式、常规检测)
- 单击“确认”,添加域名完成。
可根据界面提示,完成配置负载均衡、为弹性负载均衡绑定弹性公网IP和放行独享引擎回源IP的操作,建议单击“稍后”。后续参照步骤二:配置负载均衡、步骤三:为弹性负载均衡绑定弹性公网IP和步骤四:放行独享引擎回源IP完成相关操作。
生效条件
防护网站的初始“接入状态”为“未接入”,配置完负载均衡以及为弹性负载均衡绑定弹性IP后,当访问请求到达该网站的WAF独享引擎时,该防护网站的接入状态将自动切换为“已接入”。
导入新证书
当“对外协议”设置为“HTTPS”时,可以导入新证书。
- 单击“导入新证书”,打开“导入新证书”对话框。然后输入“证书名称”,并将证书内容和私钥内容粘贴到对应的文本框中。
图3 导入新证书
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”为例。
- 单击“确认”,上传证书。