文档首页 > > 用户指南> 入门教程> 域名接入WAF> 添加防护域名

添加防护域名

分享
更新时间: 2020/01/02 GMT+08:00

该章节指导您将网站域名添加到Web应用防火墙,并完成域名接入,使网站流量切入WAF。域名接入WAF后,WAF作为一个反向代理存在于客户端和服务器之间,服务器的真实IP被隐藏起来,Web访问者只能看到WAF的IP地址。

主账号可以查看子账号添加的域名,但子账号不能查看主账号添加的域名。

前提条件

已获取管理控制台的账号和密码。

使用代理原理图

若在客户端和Web应用防火墙之间使用了代理,可参照 图1配置。
图1 使用代理配置原理图
  • 当网站没有接入到WAF前,DNS解析到代理,流量先经过代理,代理再将流量直接转到源站。
  • 网站接入WAF后,需要将域名解析到WAF,这样流量才会被代理转发到WAF,WAF再将流量转到源站,实现网站流量检测和攻击拦截。
    1. 将代理回源地址修改为WAF的“CNAME”
    2. (可选)在DNS服务商处添加一条WAF的子域名和TXT记录。

未使用代理原理图

若在客户端和Web应用防火墙之间未使用代理,可参照 图2配置。
图2 未使用代理配置原理图
  • 当网站没有接入到WAF前,DNS直接解析到源站的IP,用户直接访问服务器。
  • 当网站接入WAF后,需要把DNS解析到WAF的CNAME,这样流量才会先经过WAF,WAF再将流量转到源站,实现网站流量检测和攻击拦截。

操作步骤

  1. 登录管理控制台
  2. 进入添加防护域名入口,如图3所示。

    图3 进入添加防护域名入口

  3. “添加防护域名”页面配置域名基本信息,如图4所示,相关参数说明如表1所示。

    图4 配置基本信息
    表1 基本信息参数说明

    参数

    参数说明

    取值样例

    防护域名

    可防护的域名,支持单域名和泛域名。

    • 单域名:输入防护的单域名。例如:www.example.com。
    • 泛域名
      • 如果各子域名对应的服务器IP地址相同:输入防护的泛域名。例如:子域名a.example.com,b.example.com和c.example.com对应的服务器IP地址相同,可以直接添加泛域名*.example.com。
      • 如果各子域名对应的服务器IP地址不相同:请将子域名按“单域名”方式逐条添加。

    单域名:www.example.com

    泛域名:*.example.com

    端口

    可选参数,仅当用户勾选“非标准端口”时需要配置。端口的配置示例如配置示例一:防护同一端口的不同源站IP的标准端口业务

    • “对外协议”选择“HTTP”时,WAF默认防护“80”标准端口的业务;“对外协议”选择“HTTPS”时,WAF默认防护“443”标准端口的业务。
    • 如需配置除“80”/“443”以外的端口,勾选“非标准端口”,在“端口”下拉列表中选择非标准端口。

      Web应用防火墙支持的非标准端口请参见Web应用防火墙支持的非标准端口

    说明:

    如果配置了非标准端口,访问网站时,需要在网址后面增加非标准端口进行访问,否则访问网站时会出现404错误

    81

    服务器配置

    网站服务器地址的配置。包括对外协议、源站协议、源站地址和源站端口。

    • 对外协议:客户端请求访问服务器的协议类型。包括“HTTP”“HTTPS”两种协议类型。
    • 源站协议:Web应用防火墙转发客户端请求的协议类型。包括“HTTP”“HTTPS”两种协议类型。
      说明:

      对外协议与源站协议的具体配置规则,请参见对外协议与源站协议配置规则

    • 源站地址:客户端访问的网站服务器的公网IP地址(一般对应该域名在DNS服务商处配置的A记录)或者域名(一般对应该域名在DNS服务商处配置的CNAME)。支持以下两种IP格式:
      • IPv4,例如:192.168.1.1
      • IPv6,例如:1050:0:0:0:5:600:300c:326b
    • 源站端口:WAF转发客户端请求到服务器的业务端口。

    对外协议:HTTP

    源站协议:HTTP

    源站地址:IPv4 192.168.1.1

    源站端口:80

    证书

    “对外协议”设置为“HTTPS”时,需要选择已有证书或导入新证书,导入新证书的操作请参见4

    说明:
    • 证书过期后,对源站的影响是覆灭性的,比主机崩溃和网站无法访问的影响还要大,且会造成WAF的防护规则不生效,故建议您在证书到期前及时更新证书。
    • 域名和证书需要一一对应,泛域名只能使用泛域名证书。如果您没有购买泛域名证书,只有单域名对应的证书,则只能在WAF中按照单域名的方式逐条添加域名进行防护。

    --

  4. (可选)导入新证书。

    “对外协议”设置为“HTTPS”时,可以导入新证书。

    1. 单击“导入新证书”,打开“导入新证书”对话框。然后输入“证书名称”,并将证书内容和私钥内容粘贴到对应的文本框中,如图5所示。
      图5 导入新证书

      Web应用防火墙将对私钥进行加密保存,保障证书私钥的安全性。

      WAF当前仅支持PEM格式证书。如果证书为非PEM格式,请参考 表2证书转换为PEM格式,再上传。
      表2 证书转换命令

      格式类型

      转换方式(Linux系统中操作)

      CER/CRT

      “cert.crt”证书文件直接重命名为“cert.pem”

      PFX

      1. 提取私钥命令,以“cert.pfx”转换为“cert.key”为例。

        openssl pkcs12 -in cert.pfx -nocerts -out cert.key -nodes

      2. 提取证书命令(示例:“cert.pfx”“cert.pem”):

        openssl pkcs12 -in cert.pfx -nokeys -out cert.pem

      P7B

      证书转换,以“cert.p7b”转换为“cert.pem”为例。

      openssl pkcs7 -print_certs -in cert.p7b -out cert.pem

      DER

      提取证书命令,以“privatekey.der”转换为“cert.key”为例。

      openssl rsa -inform DER -outform PEM -in privatekey.der -out cert.key

    2. 单击“确定”,上传证书。

  5. 选择“是否已使用代理”,默认为“否”

    当在Web应用防火墙前使用代理时,不能切换为“Bypass”工作模式。如何切换工作模式请参考切换工作模式

    • 若接入Web应用防火墙的网站已使用高防、CDN(Content Delivery Network,内容分发网络)、云加速等代理,为了保证WAF的安全策略能够针对真实源IP生效,请务必选择“是”,如果选择“否”,则Web应用防火墙无法获取Web访问者请求的真实IP地址。
    • 若接入Web应用防火墙的网站未使用任何代理,请选择“否”

  6. 单击“下一步”,进入“域名接入”页面,同时在页面的右上角,会弹出“域名添加成功”

    • 为了确保WAF转发正常,建议您先参照本地验证通过本地验证确保一切配置正常。
    • 如果暂时不接入域名,可跳过本步骤,直接单击“下一步”后单击“完成”。后续再参照域名接入章节完成域名接入。
    • 若使用了CDN或高防等代理类服务,前往您使用的代理处,将该代理的回源地址修改为如图6所示的WAF提供的CNAME地址。

      为了防止其他用户提前将您的域名配置到Web应用防火墙上,从而对您的域名防护造成干扰,建议您到DNS服务商处添加“子域名”,并为它配置“TXT记录”。WAF会据此判断域名的所有权真正属于哪个用户。具体的配置方法请参见未配置子域名和TXT记录的影响

      图6 域名接入
    • 未使用代理,需要配置CNAME记录,如图7所示。
      图7 接入域名(未使用代理)

      到该域名的DNS服务商处,配置防护域名的别名解析,具体操作请咨询您的域名服务提供商。

      以下为华为云DNS的CNAME绑定方法,仅供参考。如与实际配置不符,请以各自域名服务商的信息为准。

      1. 进入云解析页面的入口,如图8所示。
        图8 云解析页面入口
      2. 在目标域名所在行的“操作”列,单击“修改”,进入“修改记录集”页面,如图9所示。
        图9 记录集页面
      3. 在弹出的“修改记录集”对话框中修改记录值,如图10所示。
        • “主机记录”:在WAF中配置的域名。
        • “类型”:选择“CNAME-将域名指向另外一个域名”
        • “线路类型”:全网默认。
        • “TTL(秒)”:一般建议设置为5分钟,TTL值越大,则DNS记录的同步和更新越慢。
        • “值”:修改为已复制的WAF CNAME地址。
        • 其他的设置保持不变。

        关于修改解析记录:

        • 对于同一个主机记录,CNAME解析记录不能重复,您需要将已存在的解析记录的CNAME修改为WAF CNAME地址。
        • 同一解析记录下,不同DNS解析记录类型间可能存在冲突。例如,对于同一个主机记录,CNAME记录与A记录、MX记录、TXT记录等其他记录互相冲突。在无法直接修改记录类型的情况下,您可以先删除存在冲突的其他记录,再添加一条新的CNAME记录。删除其他解析记录并新增CNAME解析记录的过程应尽可能在短时间内完成。如果删除A记录后没有添加CNAME解析记录,可能导致域名无法正常解析。

        域名解析类型的限制规则请参见为什么会提示解析记录集已经存在?

        图10 修改记录集
      4. 单击“确定”,完成DNS配置,等待DNS解析记录生效。

  7. (可选)验证域名的CNAME是否配置成功。

    1. 在Windows操作系统中,选择开始 > 运行,在弹出框中输入“cmd”,按“Enter”
    2. 执行nslookup命令,查询CNAME。如果回显的域名是配置的CNAME,则表示配置成功,示例如图11所示。

      以域名www.example.com为例。

      nslookup www.example.com
      图11 查询CNAME

  8. 单击“下一步”后单击“完成”,防护域名添加成功。

    用户可在域名列表中查看已添加防护域名的“接入状态”“工作模式”

    • 若用户的服务器在使用其他网络防火墙,请将其关闭或者将WAF的IP网段添加到网络防火墙的IP白名单中,否则,其他防火墙容易将WAF的IP当成恶意IP。具体的操作请参见如何放行WAF回源IP段?
    • 若用户的服务器上已安装个人版安全软件,建议将其更换为企业版安全软件,并将WAF的IP网段添加到该软件的IP白名单中。
    • 若防护域名已接入WAF,“接入状态”仍然为“未接入”,可单击,刷新状态,如果仍然为“未接入”,可参照域名接入重新完成域名接入。

配置示例一:防护同一端口的不同源站IP的标准端口业务

  1. 配置时,不勾选非标准端口。
  2. “对外协议”统一选择“HTTP”或者“HTTPS”。HTTP标准端口防护配置如图12所示,HTTPS标准端口防护配置如图13所示。
    图12 80端口业务
    图13 443端口业务

    “对外协议”选择“HTTPS”时,需要配置证书。

  3. 访问网站时,域名后可以不加端口号进行访问。例如,在浏览器中直接输入“http://www.example.com”访问网站。

配置示例二:防护同一端口的不同源站IP的非标准端口业务

  1. 配置时,勾选非标准端口,在“端口”下拉列表中选择需要防护的非标准端口,WAF支持的非标准端口请参考Web应用防火墙支持哪些非标准端口?
  2. “对外协议”全部选择“HTTP”或者“HTTPS”。HTTP协议的非标准端口的配置如图14,HTTPS协议的非标准端口的配置如图15
    图14 除80端口的其他HTTP协议端口的业务
    图15 除443端口的其他HTTPS协议端口的业务

    “对外协议”选择“HTTPS”时,需要配置证书。

  3. 访问网站时,域名后必须加上配置的非标准端口,否则会报404错误。假如配置的非标准端口为8080,则在浏览器中直接输入的地址为“http://www.example.com:8080”

配置示例三:防护不同的业务端口

如果防护的业务端口不一样,则需要分别添加域名进行配置,如:域名www.example.com需要同时防护8080端口和6443端口,配置如 图16图17所示。
图16 8080端口

图17 6443端口

对外协议与源站协议配置规则

根据您的业务场景的不同,WAF提供灵活的协议类型配置。假设您的网站为www.example.com,WAF可配置如下四种访问模式:

  • HTTP访问模式,如图18所示。
    图18 HTTP协议访问模式

    此种配置表示用户只能通过http://www.example.com访问网站,如果用户通过https://www.example.com访问网站,会收到302跳转响应,浏览器跳转到http://www.example.com。

  • HTTPS访问模式,客户端协议全部配置为HTTPS时,当使用HTTP协议访问服务器时,会强制跳转为HTTPS协议,如图19所示。
    图19 HTTPS协议访问强制跳转模式
    • 用户直接通过https://www.example.com访问网站,网站返回正常内容。
    • 用户通过http://www.example.com访问网站,用户会收到302跳转响应,浏览器跳转到https://www.example.com。
  • HTTP/HTTPS分别转发模式,如图20所示。
    图20 HTTP/HTTPS分别转发模式
    • 用户通过http://www.example.com访问网站,网站返回正常内容,没有跳转,网站内容不加密传输。
    • 用户通过https://www.example.com访问网站,网站返回正常内容,没有跳转,网站内容加密传输。
  • 使用WAF做HTTPS卸载模式,如图21所示。
    图21 使用WAF做HTTPS卸载模式

    用户通过https://www.example.com访问网站,但是WAF到源站依然使用HTTP协议。

分享:

    相关文档

    相关产品

文档是否有解决您的问题?

提交成功!

非常感谢您的反馈,我们会继续努力做到更好!

反馈提交失败,请稍后再试!

*必选

请至少选择或填写一项反馈信息

字符长度不能超过200

提交反馈 取消

如您有其它疑问,您也可以通过华为云社区问答频道来与我们联系探讨

跳转到云社区