添加防护域名
该任务指导用户在Web应用防火墙添加并接入域名。域名接入WAF后,WAF作为一个反向代理存在于客户端和服务器之间,服务器的真实IP被隐藏起来,Web访问者只能看到WAF的IP地址。
前提条件
已获取管理控制台的账号和密码。
配置防护域名原理图
- 若在客户端和Web应用防火墙之间使用了代理,可参照图1配置。
- 当网站没有接入到WAF前,DNS解析到DDoS高防等代理,流量先经过DDoS高防等代理,DDoS高防等代理再将流量直接转到源站。
- 网站接入WAF后,需要将域名解析到WAF,这样流量才会被DDoS高防等代理转发到WAF,WAF再将流量转到源站,实现网站流量检测和攻击拦截。
- 将DDoS高防等代理回源地址修改为WAF的“接入地址”。
- 在DNS服务商处添加一条WAF的子域名和TXT记录。
- 若在客户端和Web应用防火墙之间未使用代理,可参照图2配置。
- 当网站没有接入到WAF前,DNS直接解析到源站的IP,用户直接访问服务器。
- 当网站接入WAF后,需要把DNS解析到WAF的CNAME,这样流量才会先经过WAF,WAF再将流量转到源站,实现网站流量检测和攻击拦截。
操作步骤
- 登录管理控制台。
- 单击管理控制台左上角的,选择区域或项目。
- 单击页面上方的“服务列表”,选择 。
- 在左侧导航树中,选择“域名配置”页面。 ,进入
- 在页面的右上角,单击“创建防护域名”。
- 在“创建防护域名”页面配置域名基本信息。相关参数说明如表1所示。
表1 基本信息参数说明 参数
参数说明
取值样例
防护域名
可防护的域名,支持单域名和泛域名。
- 单域名:输入防护的单域名。例如:www.example.com。
- 泛域名
- 如果各子域名对应的服务器IP地址相同:输入防护的泛域名。例如:*.example.com。
- 如果各子域名对应的服务器IP地址不相同:请将子域名按“单域名”方式逐条添加。
单域名:www.example.com
泛域名:*.example.com
非标准端口
可选参数,仅当用户勾选“非标准端口”时需要配置。
- “对外协议”选择“HTTP”时,WAF默认防护“80”标准端口的业务,如需配置除“80”以外的端口,勾选“非标准端口”,在“端口”下拉列表中选择非标准端口。
- “对外协议”选择“HTTPS”时,WAF默认防护“443”标准端口的业务,如需配置除“443”以外的端口,勾选“非标准端口”,在“端口”下拉列表中选择非标准端口。
Web应用防火墙可支持的非标准端口请参见Web应用防火墙章节。
4443
服务器配置
网站服务器地址的配置。包括对外协议、源站协议、源站地址和源站端口。
- “对外协议”:客户端协议类型。包括“HTTP”、“HTTPS”两种协议类型。
- “源站协议”:服务器协议类型,WAF转发客户端请求的协议。包括“HTTP”、“HTTPS”两种协议类型。
说明:
对外协议与源站协议的具体配置规则,请参见对外协议与源站协议配置规则。
- “源站地址”:客户端访问的网站服务器的IP地址(一般对应该域名接入WAF之前的A记录)或者域名(一般对应该域名接入前的CNAME)。
说明:
WAF不支持健康检查,如需使用,请配合ELB使用。ELB配置完成后,再将ELB的EIP作为源站地址的IP地址,接入WAF,实现健康检查。
- “源站端口”:客户端访问的网站服务器的端口号。
对外协议:HTTPS
源站协议:HTTP
源站地址:XXX.XXX.1.1
源站端口:80
证书名称
“对外协议”设置为“HTTPS”时,需要选择已有证书或导入新证书,导入新证书的操作请参见7。
-
- (可选)导入新证书。
当“对外协议”设置为“HTTPS”时,可以导入新证书。
- 单击“上传证书”,在弹出的“上传证书”对话框中,输入证书名称,并将证书内容和私钥内容粘贴到对应的文本框中。
WAF当前仅支持PEM格式证书。如果证书为非PEM格式,请参考表2将证书转换为PEM格式,再上传。
表2 证书转换命令 格式类型
转换方式(通过openssl工具进行转换)
CER/CRT
将“cert.crt”证书文件直接重命名为“cert.pem”。
PFX
- 提取私钥命令,以“cert.pfx”转换为“cert.key”为例。
openssl pkcs12 -in cert.pfx -nocerts -out cert.key -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
- 提取私钥命令,以“cert.pfx”转换为“cert.key”为例。
- 单击“确定”,上传证书。
- 单击“上传证书”,在弹出的“上传证书”对话框中,输入证书名称,并将证书内容和私钥内容粘贴到对应的文本框中。
- 选择“是否已使用代理”,默认为“否”。
当在Web应用防火墙前使用代理时,不能切换为“Bypass”工作模式。
- 若接入Web应用防火墙的网站已使用高防、CDN(Content Delivery Network,内容分发网络)、云加速等代理,为了保证WAF的安全策略能够针对真实源IP生效,请务必选择“是”,如果选择“否”,则Web应用防火墙无法获取Web访问者请求的真实IP地址。
当在Web应用防火墙前使用CDN等代理时,WAF服务默认从HTTP Header“X-Forwarded-For”获取访问者真实源IP地址。当网站代理不使用“X-Forwarded-For”标识客户端原始IP地址时,需在“真实源IP头”所在行的“X-Forwarded-For”后单击,在弹出的对话框中,选择已有的source IP header或选择“自定义”后输入自定义的source IP header。
- 若接入Web应用防火墙的网站未使用任何代理,请选择“否”。
- 若接入Web应用防火墙的网站已使用高防、CDN(Content Delivery Network,内容分发网络)、云加速等代理,为了保证WAF的安全策略能够针对真实源IP生效,请务必选择“是”,如果选择“否”,则Web应用防火墙无法获取Web访问者请求的真实IP地址。
- 单击“立即创建”,进入“域名接入”页面,同时在页面的右上角,会弹出“域名添加成功”。
如果暂时不接入域名,可跳过本步骤,直接单击“下一步”后单击“完成”。后续再参照域名接入章节完成域名接入,此时,“DNS”解析状态显示“异常”。
- 若使用了CDN或高防等代理类服务,需要配置回源地址、子域名和TXT记录。
- 配置网站使用代理的“回源地址”。
将CDN或高防等代理中的回源地址修改为WAF生成的回源地址。
- 配置“子域名”和“TXT记录”。
前往您的DNS服务商处,添加一个“子域名”,并为该子域名添加一条“TXT记录”。
WAF的多AZ灾备机制依赖DNS解析。请不要使用固定IP访问业务,否则会影响服务的灾备可靠性。
- 配置网站使用代理的“回源地址”。
- 未使用代理,需要配置CNAME记录。
- 到该域名的DNS服务商处,配置防护域名的别名解析,具体操作请咨询您的域名服务提供商。
WAF的多AZ灾备机制依赖DNS解析。请不要使用固定IP访问业务,否则会影响服务的灾备可靠性,因此:
- 请不要用修改hosts记录的方式替代DNS解析配置。
- 请不要用A记录替代CNAME记录。
以下为当前主流的域名服务商的CNAME绑定方法,仅供参考。如与实际配置不符,请以各自域名服务商的信息为准。
- 登录域名服务提供商的管理控制台。
- 进入域名解析记录页。
- 设置CNAME解析记录。
- “记录类型”选择为“CNAME”。
- “主机记录”一般填写域名前缀,例如:防护域名为 “admin.demo.com”,“主机记录”填写为“admin”。
- “记录值”填写为WAF生成的CNAME。
- “解析线路”,“TTL” 保持默认值即可。
- 填写完成后,单击“保存”,完成解析设置。
以上解析方法为第三方解析方法。本文档不对任何第三方内容进行控制或负责,包括但不限于其准确性、兼容性、可靠性、可用性、合法性、适当性、性能、不侵权、更新状态等。
- 验证域名的CNAME是否配置成功。
- 到该域名的DNS服务商处,配置防护域名的别名解析,具体操作请咨询您的域名服务提供商。
- 若使用了CDN或高防等代理类服务,需要配置回源地址、子域名和TXT记录。
- 域名接入完成后,单击“下一步”。
- 单击“完成”,防护域名添加成功。
用户可在域名列表中查看已添加防护域名的“DNS解析状态”和“工作模式”。
- 若用户的服务器在使用其他网络防火墙,请将其关闭或者将WAF的IP网段添加到网络防火墙的IP白名单中。
- 若用户的服务器上已安装个人版安全软件,建议将其更换为企业版安全软件,并将WAF的IP网段添加到该软件的IP白名单中。
- 若防护域名已接入WAF,“DNS解析状态”为“正常”。如果“DNS解析状态”仍然为“异常”,可在目标域名所在行的“操作”列,单击 ,检查“DNS解析状态”,如果仍然为“异常”,可参照如何处理DNS解析状态异常?重新进行域名接入。
- 域名添加成功后,Web应用防火墙默认开启防护。其中,Web基础防护开启“仅记录”(发现攻击行为后只记录不阻断攻击)防护模式,且WAF默认为该域名添加一条CC防护规则,该规则默认为500次/5s,最大可以调整到10000次/5s,可联系管理员调整上限,该规则只能修改不能删除。
对外协议与源站协议配置规则
根据您的业务场景的不同,WAF提供灵活的协议类型配置。假设您的网站为www.example.com,WAF可配置如下四种访问模式:
- HTTP访问模式。
此种配置表示用户只能通过http://www.example.com访问网站,如果用户通过https://www.example.com访问网站,用户会收到302跳转响应,浏览器跳转到http://www.example.com。
- HTTPS访问模式,客户端协议全部配置为HTTPS时,当使用HTTP协议访问服务器时,会强制跳转为HTTPS协议。
- 用户直接通过https://www.example.com访问网站,网站返回正常内容。
- 用户通过http://www.example.com访问网站,用户会收到302跳转响应,浏览器跳转到https://www.example.com。
- HTTP/HTTPS分别转发模式。
服务器配置两条,一条“对外协议”和“源站协议”都为“HTTP”,一条“对外协议”和“源站协议”都为“HTTPS”。
- 用户通过http://www.example.com访问网站,网站返回正常内容,没有跳转,网站内容不加密传输。
- 用户通过https://www.example.com访问网站,网站返回正常内容,没有跳转,网站内容加密传输。
- 使用WAF做HTTPS卸载模式。
“对外协议”为“HTTPS”,和“源站协议”为“HTTP”。
用户通过https://www.example.com访问网站,但是WAF到源站依然使用HTTP协议。