
# 使用WAF和DDoS高防实现域名防护
#### 应用场景
华为云Web应用防火墙（WAF）通过对HTTP(S)请求进行检测，识别并阻断SQL注入、跨站脚本攻击、网页木马上传、命令/代码注入、文件包含、敏感文件访问、第三方应用漏洞攻击、CC攻击、恶意爬虫扫描、跨站请求伪造等攻击，保护Web服务安全稳定。
DDoS高防可以为域名提供连续性的有力保障，当服务器遭受大流量DDoS攻击时，DDoS高防可以保护用户业务持续可用。
通过WAF和DDoS高防双重防护，可以同时防御Web应用攻击和流量攻击，大幅提升域名的安全性和稳定性。
本实践建立在域名已接入了WAF，如何使网站流量同时经过DDoS高防和WAF进行防护，提升网站全面防护能力。
![](https://support.huaweicloud.com/bestpractice-aad/public_sys-resources/note_3.0-zh-cn.png)
域名接入WAF的方法请参考[将网站接入WAF防护](https://support.huaweicloud.com/usermanual-waf/waf_01_0002.html)。
#### 方案架构
DDoS高防和云模式WAF联动后，流量会先经过DDoS高防，再转发至WAF，实现联动防御。
图1联动原理   
![](https://support.huaweicloud.com/bestpractice-aad/zh-cn_image_0000001716286946.png)
![](https://support.huaweicloud.com/bestpractice-aad/public_sys-resources/caution_3.0-zh-cn.png)
如果您在DDoS高防使用同一实例和端口防护了多个域名，且域名源站为WAF CNAME时。当您在WAF侧的CNAME对应源站IP不同时，将WAF CNAME都Bypass后，会导致DDoS高防所有绑定相同高防IP和端口的域名不可用。
#### 约束与限制
- "DDoS高防+云模式WAF"联动仅支持域名防护。例如，example.com和www.example.com是两个不同的域名，在配置"DDoS高防+WAF"时，需要分别进行配置。
 
- 同一个高防IP+端口只能配置一种源站类型，若您配置过源站域名后，无法再配置源站IP。
#### 资源和成本规划
| 资源          | 资源说明                     | 数量 | 成本说明                                                                                          |
|:---|:---|:---|:---|
| Web应用防火墙WAF | 用于接入网站，提供Web、CC攻击防护。     | 1  | WAF的计费方式及标准请参考[WAF计费说明](https://support.huaweicloud.com/price-waf/waf_03_0001.html)。          |
| DDoS高防      | 用于防护接入WAF的域名，提供DDoS攻击防护。 | 1  | DDoS高防的计费方式及标准请参考[DDoS防护AAD计费说明](https://support.huaweicloud.com/price-aad/aad_03_0001.html)。 |
   
#### 实施步骤
1. 获取WAF CNAME值。 
   1. 登录管理控制台。
   
   2. 单击管理控制台左上角的![](https://support.huaweicloud.com/bestpractice-aad/zh-cn_image_0000002031927672.png)，选择区域或项目。
   
   3. 单击页面左上方的![](https://support.huaweicloud.com/bestpractice-aad/zh-cn_image_0000001432442633.png)，选择"安全与合规 \> Web应用防火墙 WAF"。
   
   4. 在左侧导航树中，选择"网站设置"，进入"网站设置"页面。
   
   5. 在"域名"列，单击要获取CNAME值的域名。
   
   6. 在"基本信息"界面，单击"是否使用七层代理"后的![](https://support.huaweicloud.com/bestpractice-aad/zh-cn_image_0000001999650798.png)。
      图2基本信息   
      ![](https://support.huaweicloud.com/bestpractice-aad/zh-cn_image_0000002071603561.png)
      ![](https://support.huaweicloud.com/bestpractice-aad/public_sys-resources/note_3.0-zh-cn.png)
      如果WAF前使用的是华为云DDoS高防，要获取客户端真实IP，需要在域名基本信息页面的"流量标识"栏，将"IP标记"配置为"$remote_addr详细操作请参见"[配置攻击惩罚的流量标识](https://support.huaweicloud.com/usermanual-waf/waf_01_0270.html)。
      
   
   7. 在弹出界面，"是否使用七层代理"选择"是"，单击"确认"。
   
   8. 在"基本信息"界面，复制CNAME。
      图3复制CNAME   
      ![](https://support.huaweicloud.com/bestpractice-aad/zh-cn_image_0000002035329953.png) 
   
   
   
   
2. 把WAF CNAME值配置到DDoS高防。 
   ![](https://support.huaweicloud.com/bestpractice-aad/public_sys-resources/note_3.0-zh-cn.png)
   配置WAF联动后，网站类业务不需要上传证书。
   1. 单击页面左上方的![](https://support.huaweicloud.com/bestpractice-aad/zh-cn_image_0000001716269446.png)，选择"安全与合规 \> DDoS防护 AAD"。
   
   2. 选择"DDoS高防 \> 域名接入"，进入"域名接入"页面。
   
   3. 根据实际选择"中国大陆"或"中国大陆外"。
   
   4. 单击"添加域名"。
   
   5. 填写域名信息，单击"下一步"。
      图4配置网站类域名信息   
      ![](https://support.huaweicloud.com/bestpractice-aad/zh-cn_image_0000002035223821.png)
      表1参数说明 
      | 参数    | 说明                                                                                                                                                                                                                                                                         |
      |:---|:---|
      | 防护域名  | 用户的实际业务对外提供服务所使用的域名。域名填写支持泛域名，例如 \*.domain.com。                                                                                                                                                                                                                            |
      | 源站类型  | - 选择"源站域名"。  - 填写源站域名的转发协议和源站端口。  - 填写复制的WAF CNAME。   |
      | 服务器配置 | 填写源站服务器使用的转发协议和端口。                                                                                                                                                                                                                                                         |
         
      
   
   6. 在"选择实例与线路"界面，选择需要使用的高防实例和对应的高防IP，单击"提交并继续"。
      图5选择实例与线路   
      ![](https://support.huaweicloud.com/bestpractice-aad/zh-cn_image_0000002071671413.png) 
   
   
   
   
3. 单击"下一步"。
4. 在"修改DNS解析"页面，复制DDoS高防的CNAME，单击"完成"。 
   图6复制DDoS高防CNAME   
   ![](https://support.huaweicloud.com/bestpractice-aad/zh-cn_image_0000001806524286.png)
   
   
5. 修改DNS解析。 
   1. 单击页面左上方的![](https://support.huaweicloud.com/bestpractice-aad/zh-cn_image_0000001123701099.png)，选择"网络 \> 云解析服务 DNS"，进入云解析服务管理控制台。
   
   2. 单击"公网域名"。
   
   3. 在目标域名所在行，单击"管理解析"。
   
   4. 单击"添加记录集"，添加CNAME记录集。
      图7添加记录集   
      ![](https://support.huaweicloud.com/bestpractice-aad/zh-cn_image_0000002071676153.png)
      表2关键参数 
      | 参数      | 说明                                                         |
      |:---|:---|
      | 主机记录    | 填写DDoS高防中配置的域名。                                            |
      | 记录类型    | 选择"CNAME-将域名指向另外一个域名"。                                     |
      | 线路类型    | 选择"全网默认"。                                                  |
      | TTL (秒) | 指解析记录在本地DNS服务器的缓存时间。如果您的服务地址经常更换，建议TTL值设置相对小些，反之，建议设置相对大些。 |
      | 记录值     | 填写复制的DDoS高防CNAME地址。                                        |
         
      ![](https://support.huaweicloud.com/bestpractice-aad/public_sys-resources/notice_3.0-zh-cn.png)
      DNS解析发布需要一定时间，大部分域名在5分钟内可以切换完成。
      
   
   
   
   
 
