文档中心 > 开放平台

接入 WAF 的必备条件

  1. 要防护的域名须要具备工信部 ICP 备案;
  2. 源站(真实服务器)IP 地址,可以有多个(最多20个);
  3. HTTPS 业务,需要提供服务器的证书和私钥;
  4. 修改被保护域名DNS解析的权限,如万网、新网、DNSPod。
  5. 申请接入需提供材料:已完成实名认证的企业支付宝账号的邮箱地址、企业的公司注册名称 

接入步骤一:控制台配置

1. 配置防护域名

登录开放平台主页,找到“开发者中心 -> 安全中心-> Web 应用防火墙”页面,进入控制台。

在控制台页面中,找到“Web应用防火墙 -> 域名配置”,点击 “添加域名” 按钮。

在弹出的对话框中输入相关信息:

注意事项:
1. 支持配置泛域名,如*.aliyundemo.cn,可以匹配相关的二级域名。当同时配置泛域名和精确域名时,转发和防护策略匹配顺序以精确域名优先。
2. 如果有 HTTPS 站点,务必勾选 HTTPS,同时建议勾选 HTTP,以应对 HTTP 跳转等问题,保证访问平滑。
3. 源站 IP 可以支持最多 20 个,WAF 会做负载均衡和健康检查,详情见“源站IP负载均衡”。

2. 获取CNAME

配置好域名后,WAF会自动分配给当前域名一个CNAME,可点击域名信息来查看。

这个CNAME在稍后配置DNS解析时会用到。如果您需要知道当前WAF的IP地址,可以通过ping一下这个CNAME的方式,一般情况下这个IP 不会频繁变动。

3. 上传 HTTPS 证书和私钥(仅针对HTTPS站点)

如果要防护HTTPS 站点,必须上传服务器的证书和私钥到WAF,否则访问 HTTPS 站点会有问题。勾选 HTTPS 后,会看到红色的“异常”字样,提示当前证书有问题,点击“上传证书”来上传。

WAF可以直接复制证书和私钥文本内容,一般如pem、cer、crt等证书格式,可用文本编辑器直接打开,有些格式(如PFX、P7B等)的证书需要先转换成这些格式,转换方式请参见此处。如果有多个证书文件(如证书链),可拼接合并后一起上传。

WAF能识别的证书样例格式如下:

私钥样例格式如下:

上传完毕后,HTTPS状态应该变为正常:

接入步骤二:放行回源 IP 段

1. 何为回源IP段?在哪里?

WAF控制台提供了最新的回源IP 段列表。

回源 IP 是 WAF 用来代理客户端请求服务器时用的源 IP,在服务器看来,接入 WAF后所有源 IP 都会变成 WAF 的回源 IP,而真实的客户端地址会被加在 HTTP 头部的 XFF 字段中。

强烈建议接入WAF后卸载掉服务器上的其他安全软件,如安全狗、云锁等,至少确保源站已将WAF的全部回源IP放行(加入白名单),否则可能会出现网站打不开或极其缓慢的情况。

2. 为何要放行回源IP段?

接入 WAF 后,WAF 作为一个反向代理存在于客户端和服务器之间,服务器的真实IP 被隐藏起来,客户端只能看到 WAF,而看不到源站,如下图所示。

在源站(真实服务器)看来,所有的请求源IP都会变成 WAF 的回源IP段。

由于来源的 IP 变得更加“集中”,频率会变得更快,服务器上的防火墙或安全软件很容易认为这些 IP 在发起攻击,从而将其拉黑。一旦拉黑,WAF 的请求将无法得到源站的正常响应,故务必要确保回源IP在源站上没有被拦截。

接入步骤三:本地验证

在把业务流量切到 WAF 上之前,建议先通过本地验证的方式确保一切配置正常,WAF转发正常。

首先需要修改本地 hosts 文件( 什么是 hosts 文件),使本地对于被防护站点的请求先经过WAF。以Windows为例,hosts文件的位置一般位于“C:\Windows\System32\drivers\etc\hosts”,用记事本或 notepad++ 等文本编辑器打开,在最后一行添加 WAF 的 IP 被防护域名。

以步骤一中添加的域名“www.aliyundemo.cn”为例,hosts文件应该添加如下内容: 

其中前面的 IP 地址为对应的 WAF IP 地址,WAF 的 IP 可以通过 ping 提供的 CNAME 来获得。

修改 hosts 文件后保存。然后本地 ping 一下被防护的域名,预期此时解析到的 IP 地址应该是刚才绑定的 WAF IP 地址。如果依然是源站地址,可尝试刷新本地的 DNS 缓存(Windows 的 cmd 下可以使用 ipconfig/flushdns 命令)。

确认 hosts 绑定已经生效(域名已经本地解析为 WAF 的 IP)后,打开浏览器,输入该域名进行访问,如果 WAF 的配置正确,网站预期能够正常打开。

 

同时也可以尝试一下手动模拟一些简单的 web 攻击命令,如 在 URL 后面加一个/?alert(xss),这是一个测试的 web 攻击请求,如 www.aliyundemo.cn/?alert(xss) 预期 WAF 能够弹出阻拦页面:

接入步骤四:修改 DNS 解析

通过修改 DNS 解析到 WAF,完成业务正式接入。本章节以万网为例,给出 DNS 配置的方式,其他的 DNS 提供商可以参考该配置。

1. CNAME 接入说明

WAF支持 CNAME 解析接入,也可以 A  ,但我们强烈推荐使用 CNAME 解析,因为在某些极端情况下(如节点故障、机房故障等),CNAME 接入可以实现自动切换节点 IP 甚至将解析切回源站,从而最大程度保证业务稳定,提供了高可用性和灾备能力。 

必须使用 A 记录接入的情况(比如 @ 记录与 MX 记录冲突等),可以 ping 一下 CNAME 得到 WAF 的 IP 地址(这个地址一般不会频繁变化),采用 A 记录解析接入。

2. 主机记录说明

以域名 abc.com 为例: 

www:用以精确匹配 www 开头的域名,如 www.abc.com,不能匹配 abc.com

@:可以匹配直接访问 abc.com 的情况

*:泛域名,可匹配任意域名,如 blog.abc.com, www.abc.com,abc.com

3. 万网配置示例

登录万网控制台,找到对应域名的“域名解析”->“解析设置”,正常情况下会有已经存在的一些解析,如下图:

将记录类型改成 CNAME,记录值改成 WAF 控制台提供的 CNAME,如下图:

当然,对应多个记录类型,WAF 会提供多个 CNAME,分别修改记录就可以了。 

TTL 值一般建议 600 秒,这个值越大,DNS 记录的同步和更新越慢。

FAQ

关于此文档暂时还没有FAQ
返回
顶部