文档首页/ Web应用防火墙 WAF/ 最佳实践/ 网站接入配置/ 使用DDoS高防和WAF提升网站全面防护能力
更新时间:2024-12-19 GMT+08:00

使用DDoS高防和WAF提升网站全面防护能力

应用场景

随着数字化应用的逐步深入,很多企业业务都通过Web应用来承载,如企业官网网站、网上商城、远程办公系统等,一般都直接暴露在互联网上,极易成为黑客攻击的目标,根据历史数据分析,约75%的信息安全攻击都是针对Web应用的,同时Web应用及组件的漏洞也较多,历史上就爆发过著名的Log4J漏洞,对大部分Web应用都产生了深远的影响。

本实践建立在网站已接入了DDoS高防,如何使网站流量同时经过DDoS高防和WAF进行防护,提升网站全面防护能力。

网站接入DDoS高防的操作,请参见网站类业务接入

方案架构

  • DDoS高防通过高防IP代理源IP对外提供服务,将所有的公网流量都引流至高防IP,进而隐藏源站,避免源站(用户业务)遭受大流量DDoS攻击。

    DDoS高防支持防护的对象:域名,华为云、非华为云或云下的Web业务

  • Web应用防火墙通过对HTTP(S)请求进行检测,识别并阻断SQL注入、跨站脚本攻击、网页木马上传、命令/代码注入、文件包含、敏感文件访问、第三方应用漏洞攻击、CC攻击、恶意爬虫扫描、跨站请求伪造等攻击,保护Web服务安全稳定。
    WAF支持云模式-CNAME接入、云模式-ELB接入和独享模式三种部署模式,各部署模式支持防护的对象说明如下:
    • 云模式-CNAME接入:域名,华为云、非华为云或云下的Web业务
    • 云模式-ELB接入:域名或IP(公网IP/私网IP),华为云的Web业务
    • 独享模式:域名或IP(公网IP/私网IP),华为云的Web业务

DDoS高防和WAF同时部署可以对华为云、非华为云或云下的域名进行联动防护,可以同时防御DDoS攻击(NTP Flood攻击、SYN Flood攻击、ACK Flood攻击、ICMP Flood攻击、HTTP Get Flood攻击等),以及Web应用攻击(SQL注入、跨站脚本攻击、网页木马上传、命令/代码注入、文件包含、敏感文件访问、第三方应用漏洞攻击、CC攻击、恶意爬虫扫描、跨站请求伪造等),确保业务持续可靠运行,配置原理图如图1所示。

图1 使用代理配置原理图

DDoS高防+WAF配置后,流量被DDoS高防转发到WAF,WAF再将流量转到源站,实现网站流量检测和攻击拦截。

相关配置说明如下:

  • 云模式-CNAME接入

    先将域名解析到DDoS高防,再修改DDoS高防域名信息,将源站域名修改为WAF的“CNAME”。同时,为了防止其他用户提前将您的域名配置到WAF上,从而对您的域名防护造成干扰,建议您到DNS服务商处添加一条WAF的子域名和TXT记录。

  • 云模式-ELB接入

    先将域名解析到DDoS高防,再修改DDoS高防域名信息,将源站IP修改为添加到ELB模式中选择的ELB对应的弹性公网IP。

  • 独享模式

    先将域名解析到DDoS高防,再修改DDoS高防域名信息,将源站IP修改为WAF独享引擎实例配置弹性负载均衡绑定的弹性公网IP。

方案优势

DDoS高防和WAF同时部署可以同时防御DDoS攻击(NTP Flood攻击、SYN Flood攻击、ACK Flood攻击、ICMP Flood攻击、HTTP Get Flood攻击等),以及Web应用攻击(SQL注入、跨站脚本攻击、网页木马上传、命令/代码注入、文件包含、敏感文件访问、第三方应用漏洞攻击、CC攻击、恶意爬虫扫描、跨站请求伪造等),确保业务持续可靠运行。

资源与成本规划

表1 资源和成本规划

资源

资源说明

每月费用

DDoS防护

  • 计费模式:包年/包月
  • 保底防护带宽:10G
  • 弹性防护带宽:10G
  • 业务带宽:100Mbps
  • 防护域名数:50个

具体的计费方式及标准请参考计费说明

Web应用防火墙

云模式-标准版:

  • 计费模式:包年/包月
  • 域名数量:10个防护域名
  • QPS配额:2,000QPS业务请求
  • 支持带宽峰值:云内100Mbps/云外30Mbps

具体的计费方式及标准请参考计费说明

约束条件

  • “DDoS高防+WAF”联动仅支持域名防护。
  • 如果WAF前使用了高防、CDN(Content Delivery Network,内容分发网络)、云加速等代理,配置CC防护规则时,建议“限速模式”选择“用户限速”,并勾选“全局计数”

步骤一:购买云模式标准版

以购买WAF云模式标准版为例进行介绍。

  1. 登录华为云管理控制台
  2. 在控制台页面中选择安全与合规 > Web应用防火墙 WAF,进入Web应用防火墙控制台。
  3. 在页面右上角,单击“购买WAF实例”,进入购买页面,“WAF模式”选择“云模式”

    • “区域”:根据防护业务的所在区域就近选择购买的WAF区域。
    • “版本规格”:选择“标准版”
    • “扩展包”“购买时长”:根据具体情况进行选择。

  4. 确认参数配置无误后,在页面右下角单击“立即购买”
  5. 确认订单详情无误后,阅读并勾选《Web应用防火墙免责声明》,单击“去支付”,完成购买操作。
  6. 进入“付款”页面,选择付款方式进行付款。

步骤二:将网站信息添加到WAF

此处以云模式-CNAME接入为例进行介绍。

  1. 在左侧导航树中,选择“网站设置”,进入网站设置列表。
  2. 在网站列表的左上角,单击“添加防护网站”
  3. 选择“云模式-CNAME接入”并单击“开始配置”
  4. 根据界面提示,配置网站信息,如表2所示。

    图2 基础信息配置
    表2 重点参数说明

    参数

    参数说明

    取值样例

    防护域名

    需要添加到WAF中防护的域名。

    • 域名已完成备案
    • 支持单域名(例如,一级域名example.com,二级域名www.example.com等)和泛域名(例如,*.example.com)。

    www.example.com

    防护端口

    需要防护的域名对应的业务端口。

    标准端口

    服务器配置

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

    • 对外协议:客户端请求访问服务器的协议类型。包括“HTTP”“HTTPS”两种协议类型。
    • 源站协议:Web应用防火墙转发客户端请求的协议类型。包括“HTTP”“HTTPS”两种协议类型。
    • 源站地址:客户端访问的网站服务器的公网IP地址(一般对应该域名在DNS服务商处配置的A记录)或者域名(一般对应该域名在DNS服务商处配置的CNAME)。
    • 源站端口:WAF转发客户端请求到服务器的业务端口。
    • 权重:负载均衡算法将按权重将请求分配给源站。

    对外协议:HTTP

    源站协议:HTTP

    源站地址:IPv4 XXX .XXX.1.1

    源站端口:80

    是否使用七层代理

    在WAF前是否使用其他七层代理产品。此处选择“是”

    说明:

    如果WAF前使用的是华为云DDoS高防,要获取客户端真实IP,需要在域名基本信息页面的“流量标识”栏,将“IP标记”配置为“$remote_addr详细操作请参见”配置攻击惩罚的流量标识

  5. 单击“下一步”,根据界面提示,完成WAF回源IP加白本地验证的操作。

    图3 添加域名完成

步骤三:域名解析

在DDoS高防界面,添加WAF的CNAME地址,使流量经过WAF。

云模式-CNAME接入配置策略

以下操作以华为云DDoS高防为例介绍配置域名解析的方法。如果您使用的是华为云DDoS高防,您可以直接参照以下步骤进行操作;若您使用华为云以外的DDoS高防,请参考以下步骤在其他DDoS高防上进行类似配置。

  1. 获取“CNAME”“子域名”“TXT记录”值。

    1. 登录管理控制台。
    2. 单击管理控制台左上角的,选择区域或项目。
    3. 单击页面左上方的,选择安全与合规 > Web应用防火墙 WAF
    4. 在目标域名所在行的“网站设置”列中,单击目标域名,进入域名基本信息页面。
    5. 确认“是否使用七层代理”“是”
    6. 单击CNAME所在行的,复制“CNAME”。在页面顶部,单击“未接入”旁边的,在弹出的对话框中,复制“子域名”“TXT记录”

  2. 修改DDoS高防回源IP地址。

    1. 单击页面上方的,选择安全与合规 > DDoS防护,在左侧导航树中,选择DDoS高防 > 域名接入,进入域名配置页面。
    2. 在使用的DDoS高防代理类服务的域名所在行的“操作”列,单击“编辑”,进入“域名业务配置编辑”页面,将“源站IP/域名”的内容修改为复制的WAF的CNAME值。
    3. 单击“确定”,DDoS高防回源地址修改完成。

  3. (可选)在DNS服务商添加一条WAF的子域名和TXT记录。

    为了防止其他用户提前将您的域名配置到Web应用防火墙上,从而对您的域名防护造成干扰,建议您完成此操作。

    1. 进入云解析页面的入口,如图4所示。
      图4 云解析页面入口
    2. 在页面的右上角,单击“添加记录集”,进入“添加记录集”页面,配置模式如图5所示。
      • “主机记录”1.f中复制的TXT记录。
      • “类型”:选择“TXT-设置文本记录”
      • “别名”:选择“否”
      • “线路类型”:全网默认。
      • “TTL(秒)”:一般建议设置为5分钟,TTL值越大,则DNS记录的同步和更新越慢。
      • “值”:将1.f中复制的TXT记录加上引号后粘贴在对应的文本框,例如,"TXT记录"。
      • 其他的设置保持不变。
      图5 添加记录集
    3. 单击“确定”,完成子域名配置。

  4. (可选)验证DNS配置。您可以Ping网站域名验证DNS解析是否生效。

    由于DNS解析记录生效需要一定时间,如果验证失败,您可以等待5分钟后重新检查。

独享模式/ELB接入配置策略

请参考以下步骤在华为云DDoS高防上进行配置操作。

  1. 登录管理控制台
  2. 单击管理控制台左上角的,选择区域或项目。
  3. 单击页面左上方的,选择安全与合规 > DDoS防护,进入DDoS防护页面。
  4. 在左侧导航树中,选择DDoS高防 > 域名接入,进入域名接入页面。
  5. 在目标域名所在行的“操作”列中,单击“编辑”
  6. 在弹出“域名业务配置编辑”对话框中,修改源站IP,如图6所示。

    图6 修改源站IP

  7. 单击“确定”,完成源站IP配置。

生效条件

“接入状态”“已接入”,表示域名/IP接入成功。

  • WAF每隔一小时就会自动检测防护网站的 接入状态,当WAF统计防护网站在5分钟内达到20次访问请求时,将认定该防护网站已成功接入WAF。
  • WAF默认只检测两周内新增或更新的域名的接入状态,如果域名创建时间在两周前,且最近两周内没有任何修改,您可以在“接入状态”栏,单击,手动刷新接入状态。

如果域名接入失败,即域名接入状态为“未接入”,请参考域名接入状态显示“未接入”,如何处理?排查处理。