当前位置:主页 > 查看内容

添加防护域名(云模式)_Web应用防火墙 WAF_用户指南_入门教程_

发布时间:2021-09-28 00:00| 位朋友查看

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

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

如果您已开通企业项目,您可以在“企业项目”下拉列表中选择您所在的企业项目,在该企业项目下添加防护域名。

前提条件

  • 已购买WAF云模式。
  • 防护域名已备案。

规格限制

当前仅“华东”区域支持IPv6防护,且仅企业版和旗舰版支持IPv6。

将网站接入WAF后,网站的文件上传请求限制为512MB。

约束条件

  • 主帐号可以查看子帐号添加的域名,但子帐号不能查看主帐号添加的域名。
  • WAF不支持自定义防护域名的HTTP Header消息头。
  • 请确保域名经过ICP备案,WAF会检查域名备案情况,未备案域名将无法添加。
  • CNAME值是根据域名生成的,对于同一个域名,其CNAME值是一致的。
  • WAF支持Web Socket协议,且默认为开启状态。

系统影响

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

使用代理原理图

若在客户端和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. 选择“云模式”后,在“域名配置”页面配置域名基本信息,如图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
      须知:

      当前仅“华东”区域支持IPv6防护,且仅企业版和旗舰版支持IPv6。

    • 源站端口:WAF转发客户端请求到服务器的业务端口。

    对外协议:HTTP

    源站协议:HTTP

    源站地址:IPv4 XX.XX.1.1

    源站端口:80

    证书

    “对外协议”设置为“HTTPS”时,需要选择证书。您可以选择已创建的证书或选择导入的新证书。导入新证书的操作请参见5

    成功导入的新证书,将添加到“证书管理”页面的证书列表中。有关证书管理的操作,请参见创建证书

    您也可以在SCM管理控制台购买证书并推送到WAF。有关SCM证书推送到WAF的详细操作,请参见推送证书到云产品

    须知:
    • WAF当前仅支持PEM格式证书。如果证书为非PEM格式,请参考表2证书转换为PEM格式,再上传。
    • 域名和证书需要一一对应,泛域名只能使用泛域名证书。如果您没有泛域名证书,只有单域名对应的证书,则只能在WAF中按照单域名的方式逐条添加域名进行防护。
    • 域名和证书需要一一对应,泛域名只能使用泛域名证书。如果您没有泛域名证书,只有单域名对应的证书,则只能在WAF中按照单域名的方式逐条添加域名进行防护。

    --

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

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

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

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

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

      格式类型

      转换方式(通过openssl工具进行转换)

      CER/CRT

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

      PFX

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

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

      • 提取证书命令,以“cert.pfx”转换位“cert.pem”为例。

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

      P7B

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

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

      2. “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

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

  6. 选择“是否已使用代理”

    • 当在Web应用防火墙前使用代理时,不能切换为“Bypass”工作模式。如何切换工作模式请参考切换工作模式
    • 如果网站未使用任何代理,而“是否已使用代理”选择了“是”,该配置仅会使WAF在获取真实源IP时信任HTTP请求头中的“X-Forwarded-For”字段,不影响用户业务。
    • 若接入Web应用防火墙的网站已使用高防、CDN(Content Delivery Network,内容分发网络)、云加速等代理,为了保证WAF的安全策略能够针对真实源IP生效,请务必选择“是”,如果选择“否”,则Web应用防火墙无法获取Web访问者请求的真实IP地址。
    • 若接入Web应用防火墙的网站未使用任何代理,请选择“否”

  7. 单击“下一步”

    如果您暂时不接入域名,可跳过本步骤,直接单击“下一步”后单击“完成”。后续再参照域名接入章节完成域名接入。

    CNAME值是根据域名生成的,对于同一个域名,其CNAME值是一致的。

    • 如果您使用了CDN或高防等代理类服务,页面如图6所示。
      请前往您使用的代理处,将该代理的回源地址修改为WAF提供的CNAME地址。
      • 为了确保WAF转发正常,在修改DNS解析配置前,建议您参照本地验证进行本地验证确保一切配置正常。
      • 为了防止其他用户提前将您的域名配置到Web应用防火墙上,从而对您的域名防护造成干扰,建议您到DNS服务商处添加“子域名”,并为它配置“TXT记录”。WAF会据此判断域名的所有权真正属于哪个用户。具体的配置方法请参见未配置子域名和TXT记录的影响
      图6 域名接入(使用代理)
    • 未使用代理,页面如图7所示。
      您需要到该域名的DNS服务商处,配置防护域名的别名解析,具体操作请咨询您的域名服务提供商。

      为了确保WAF转发正常,在修改DNS解析配置前,建议您参照本地验证进行本地验证确保一切配置正常。

      图7 域名接入(未使用代理)

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

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

        关于修改解析记录:

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

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

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

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

    1. 在Windows操作系统中,选择开始 > 运行,在弹出框中输入“cmd”,按“Enter”
    2. 执行nslookup命令,查询CNAME。

      如果回显的域名是配置的CNAME,则表示配置成功,示例如图10所示。

      以域名www.example.com为例。

      nslookup www.example.com
      图10 查询CNAME

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

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

    图11 域名配置完成
    • 单击“配置策略”,您可以为防护网站配置防护策略。
    • 单击“继续添加域名”,您可以继续添加防护网站。
    • 关闭对话框,您可以在防护网站列表中查看已添加防护网站。
    • 若用户的服务器在使用其他网络防火墙,请将其关闭或者将WAF的IP网段添加到网络防火墙的IP白名单中,否则,其他防火墙容易将WAF的IP当成恶意IP。具体的操作请参见如何放行WAF回源IP段?
    • 若用户的服务器上已安装个人版安全软件,建议将其更换为企业版安全软件,并将WAF的IP网段添加到该软件的IP白名单中。

生效条件

  • 默认情况下,WAF每隔一小时就会自动检测每个防护域名的“接入状态”
  • 一般情况下,如果您确认已完成域名接入,“接入状态”“已接入”,表示域名接入成功。

    如果防护域名已接入WAF,“接入状态”仍然为“未接入”,可单击,刷新状态,如果仍然为“未接入”,可参照域名接入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协议。


本站部分内容转载于网络,版权归原作者所有,转载之目的在于传播更多优秀技术内容,如有侵权请联系QQ/微信:153890879删除,谢谢!
上一篇:私有网络 VPC 安全相关 - 常见问题 下一篇:没有了

推荐图文

  • 周排行
  • 月排行
  • 总排行

随机推荐