注意:以下文档只适用于TOP接口,请谨慎使用!

文档中心 > 聚石塔

WEB应用防火墙配置

更新时间:2018/06/11 访问次数:2075
 

购买或开通Web应用防火墙(WAF)服务后,您需要根据快速入门中的操作步骤将您的网站域名接入WAF进行防护。

适用范围

通过快速入门,您可以解决以下问题:

  • 通过WAF为您的网站业务实现安全防护
  • 将网站业务接入您已购买或开通的WAF实例
  • 掌握WAF中网站配置的添加、修改、删除及验证
  • 通过CNAME或A记录将您的网站域名解析至WAF实例

如果您在使用Web应用防火墙服务过程中遇到其它常见问题,请查看WAF常见问题

开始之前

在将网站域名接入WAF之前,您需要完成以下准备工作:

  • 需要进行防护的网站域名(不支持直接使用网站的IP)

    说明:对于中国大陆地区的WAF实例,所添加的网站域名必须已经通过工信部备案(无需通过阿里云备案);对于海外地区的WAF实例,则没有备案要求。

  • 该网站的源站服务器IP

    说明:对于一个网站,WAF支持配置多达20个源站IP。

  • 对于支持HTTPS业务的网站,还需要准备该域名绑定的证书和私钥信息

  • 该域名DNS解析记录的编辑权限,即您在该域名所在的域名解析服务商(如万网、新网、DNSPod)提供的管理控制台可以修改该域名的DNS解析记录

操作步骤

步骤1:添加网站配置

 

开通WAF后,您需要在 云盾WAF控制台 > 网站配置 中添加您想要防护的网站信息,为其启用防护。

  • 如果您要防护的网站域名使用阿里云云解析DNS进行解析,我们支持一键完成添加和解析配置;否则,您需要手动添加网站,然后修改域名的CNAME解析记录,将网站域名解析到WAF实例。

  • 如果您要防护的网站使用HTTPS协议,我们也支持相应配置,但您必须在添加网站后上传证书和私钥,才能使设置生效。

下图显示了添加网站配置的整体过程,具体操作参见下文说明。

添加要防护的网站

将网站添加至Web应用防火墙实例

参考以下步骤,将网站添加至您已购买或开通的Web应用防火墙(WAF)实例:

  1. 登录 云盾Web应用防火墙管理控制台

  2. 定位到 管理 > 网站配置 页面,根据您的WAF实例所在的地区,选择 中国大陆 或 海外地区

  3. 单击 添加网站

    • WAF将自动列出当前阿里云账号在 云解析DNS 中添加过解析A记录的域名,勾选需要防护的域名及协议类型,单击 立即防护 即可将该网站域名添加至WAF实例。同时,WAF将自动为您修改该域名的DNS解析记录,以接入该WAF实例进行防护。

      选择网站域名

      说明

      • 如果您未在云解析DNS中添加过解析A记录,则域名选择列表不会出现,您需要手动添加网站域名。
      • 如果您使用中国大陆WAF,则支持一键添加及解析的网站域名必须已经通过工信部备案。
      • 一键添加及解析的过程一般需要10-15分钟,您可以在 网站配置 页面查看该网站域名的DNS解析状态,确认切换是否生效。
    • 如果想要防护的网站域名不在域名选择列表中,您可以单击 防护其它网站,手动添加该网站域名。操作步骤如下:

      1. 填写网站域名的配置信息,单击下一步。参数说明见下表:

        参数 描述 说明
        域名 您想要防护的网站域名 支持填写泛域名(如*.aliyundemo.cn),WAF将自动匹配该泛域名的二级域名。
        如果您同时配置泛域名和精确域名(如*.aliyundemo.cn和abc.aliyundemo.cn),WAF将优先使用精确域名所配置的转发规则和防护策略。
        协议类型 该网站支持的协议类型。如果您的网站支持HTTPS加密认证,请勾选HTTPS协议,并在添加网站后 上传证书和私钥 如果勾选HTTPS协议类型,可使用高级设置实现HTTP强制跳转和HTTP回源等功能,保证访问平滑。
        关于HTTPS协议的详细配置说明,请查看 HTTPS高级设置
        服务器地址 该网站域名的源站服务器地址。 网站接入WAF实例进行防护后,WAF会将过滤后的访问请求转发至该服务器地址。
        勾选 IP,填写源站服务器的IP(如云服务器ECS实例的IP、负载均衡SLB实例的IP等),配置成功后WAF将请求转发至该源站IP。 最多支持配置20个源站IP。如果配置多个回源IP,WAF将自动进行健康检查和负载均衡。关于WAF的负载均衡功能说明,请查看 源站负载均衡
        勾选 其它地址,填写服务器回源域名(如对象存储OSS的CNAME等),配置成功后WAF将请求转发至该域名 服务器回源域名不是您想要接入WAF实例进行防护的该网站域名。
        服务器端口 该网站域名的源站端口。网站接入WAF实例进行防护后,WAF会将过滤后的访问请求转发至该端口。 HTTP协议默认为80端口;HTTPS协议默认为443端口。如果您想要使用其它端口,可单击自定义进行添加。关于WAF支持的非标准端口说明,请查看 非标准端口说明
        WAF前是否有七层代理(高防/CDN等) 根据该网站业务的实际情况勾选。 如果该网站在WAF前需要配置其它七层代理进行转发,请务必勾选 ,否则WAF将无法获取访问该网站的客户端真实IP信息。
        负载均衡算法 如果配置多个源站IP,勾选IP hash轮询,WAF将根据所选择的方式分发访问请求,实现负载均衡。 -

        填写域名信息

      2. 选择修改该域名DNS解析的方式(手动修改CDN修改),并按照页面提示完成修改。

        修改DNS解析

        如果您需要手动修改该域名的DNS解析,查看 手动修改DNS解析 了解详细操作步骤。

        说明:在修改域名的DNS解析前,建议您先 在网站的源站服务器上配置放行WAF回源IP段 并 在本地环境中验证域名转发配置是否生效,确保该网站的访问请求可以正常转发回源站服务器。

查看Web应用防火墙为该网站分配的CNAME

网站配置添加成功后,WAF将自动为该域名分配一个CNAME。通过将该网站域名的访问解析到该CNAME,所有访问请求即可先经过该WAF实例后被转发至源站服务器,实现安全防护。

说明:如果想要获取该域名所分配到的WAF IP,您通过Ping该域名所分配到CNAME所解析到的IP即是所分配的WAF IP。一般情况下,所分配的WAF IP不会频繁变更。

在 云盾Web应用防火墙管理控制台 > 管理 > 网站配置 页面,选择已添加的网站,将鼠标移至 复制CName 按钮即可查看WAF为该网站分配的CNAME。

说明:单击 复制CName 可将该CNAME复制到剪贴板中。

获取CNAME

上传HTTPS证书和私钥(仅适用于HTTPS站点)

如果您添加的网站支持HTTPS加密认证,且已勾选HTTPS协议类型,在添加网站配置后,您还需要在 云盾Web应用防火墙管理控制台 上传相应的证书和私钥,否则将无法通过HTTPS协议访问该网站。

网站配置添加成功后,在 管理 > 网站配置 页面中,该网站域名的HTTPS协议状态将显示为异常,提示您当前证书配置有误。

HTTPS协议状态

参考以下步骤,为该网站域名上传证书和私钥:

  1. 在 云盾Web应用防火墙管理控制台 > 管理 > 网站配置 页面,选择该网站域名。

  2. 单击HTTPS协议状态右侧的上传证书按钮。

  3. 在 更新证书 对话框中,选择 上传方式

    • 勾选 手动上传,填写 证书名称,将该网站域名所绑定的证书文件和私钥文件中的文本内容分别复制粘贴到 证书文件和 私钥文件 文本框中。

      说明:对于一般格式的证书(如.pem、.cer、.crt等格式的证书),您可用文本编辑器直接打开证书文件复制其中的文本内容;对于其他格式的证书(如.pfx、.p7b等格式的证书)的证书,则需要将证书文件转换成.pem格式后再用文本编辑器打开来复制其中的文本内容。关于证书格式的转换方式,请查看 HTTPS证书转换成PEM格式

      注意:如果该HTTPS证书有多个证书文件(如证书链),需要将证书文件中的文本内容拼接合并后粘贴至 证书文件文本框中。

      证书文件文本内容样例

      1. -----BEGIN CERTIFICATE-----
      2. xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx8ixZJ4krc+1M+j2kcubVpsE2
      3. cgHdj4v8H6jUz9Ji4mr7vMNS6dXv8PUkl/qoDeNGCNdyTS5NIL5ir+g92cL8IGOkjgvhlqt9vc
      4. 65Cgb4mL+n5+DV9uOyTZTW/MojmlgfUekC2xiXa54nxJf17Y1TADGSbyJbsC0Q9nIrHsPl8YKk
      5. vRWvIAqYxXZ7wRwWWmv4TMxFhWRiNY7yZIo2ZUhl02SIDNggIEeg==
      6. -----END CERTIFICATE-----

      私钥文件文本内容样例

      1. -----BEGIN RSA PRIVATE KEY-----
      2. DADTPZoOHd9WtZ3UKHJTRgNQmioPQn2bqdKHop+B/dn/4VZL7Jt8zSDGM9sTMThLyvsmLQKBgQ
      3. Cr+ujntC1kN6pGBj2Fw2l/EA/W3rYEce2tyhjgmG7rZ+A/jVE9fld5sQra6ZdwBcQJaiygoIYo
      4. aMF2EjRwc0qwHaluq0C15f6ujSoHh2e+D5zdmkTg/3NKNjqNv6xA2gYpinVDzFdZ9Zujxvuh9o
      5. 4Vqf0YF8bv5UK5G04RtKadOw==
      6. -----END RSA PRIVATE KEY-----

      手动上传证书

    • 如果该网站域名所绑定的HTTPS证书已添加至该云账号的云盾证书服务进行管理,勾选 选择已有证书,直接选择该证书即可。

      选择已有证书

  4. 单击 保存,该域名所绑定的证书和私钥即上传成功,HTTPS协议状态更新为 正常

查看网站域名DNS解析状态

网站域名配置刚添加完成后,该域名的DNS解析状态可能显示为 异常

DNS解析状态异常

一般来说,这种情况是正常的。当您将该网站域名的DNS解析记录切换至WAF所分配的CNAME,且该网站域名的正常访问流量已经经过WAF后,该域名的DNS解析状态才会显示为 正常。关于更多DNS解析状态的判断标准说明,请查看 DNS解析状态说明

步骤2:放行WAF回源IP段

 

您的网站成功接入WAF防护后,访问您网站的所有请求将先流转到WAF实例,经WAF实例过滤后再返回到源站服务器。流量经WAF实例返回源站的操作称为回源。

回源IP

由于WAF实例的IP数量有限,源站服务器收到的所有请求都来自这些IP,在源站服务器上的安全软件(如安全狗、云锁)看来,这种情况是很可疑的,可能会屏蔽回源IP。因此,在接入WAF防护后,您需要在源站服务器的安全软件上设置放行所有WAF回源IP。

说明:强烈推荐您在接入WAF防护后,卸载源站服务器上的其他安全软件。

操作步骤

WAF控制台提供了最新的回源IP段列表,您可以参照以下步骤进行操作:

  1. 在 云盾WAF控制台 > 网站配置 页面,单击页面上方的 Web应用防火墙回源IP网段列表,直接查看和复制所有WAF回源IP段。

    回源IP段

    您看到的结果如下:

    WAF回源IP段

  2. 在源站服务器的安全软件上,将步骤1中的IP段添加到白名单。

常见问题

什么是回源IP

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

在接入WAF后,您应确保源站已将WAF的全部回源IP放行(加入白名单),不然可能会出现网站打不开或打开极其缓慢等情况。

为何要放行回源IP段

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

fullnat

在源站(真实服务器)看来,所有的请求源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文件应该添加如下内容:

hosts

其中前面的IP地址为对应的WAFIP地址,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能够弹出阻拦页面:

405

一切OK后,接下来可以把业务流量切到WAF上来了。

配置完成后,您网站的所有访问流量都将先经过WAF实例,WAF实例根据所配置的安全防护规则过滤恶意请求,并最终将正常的业务流量转发至源站服务器,保护您的网站业务。

常见问题

FAQ

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