DDoS原生防护和Web应用防火墙组合使用方案

本文介绍了为网站类业务同时部署DDoS原生防护和Web应用防火墙的配置方法。该方案适用于为网站业务同时防御四层DDoS攻击和七层Web攻击、CC攻击的场景。

前提条件

  • 已创建ECS实例并部署了业务相关的应用,ECS实例拥有公网IP地址且网站有域名。

    说明

    如果网站用于在中国内地提供服务,则网站域名必须已经完成ICP备案,否则将不能接入中国内地的Web应用防火墙实例进行防护。

  • 已购买DDoS原生防护。

    说明

    您在购买原生防护实例时,需要选择资源所在地域。该地域必须与ECS实例一致。

  • 已购买Web应用防火墙3.0。

背景信息

为网站类业务开启DDoS原生防护时,如果业务本身除了需要防御DDoS攻击,还需要防御Web攻击、CC攻击,建议您为网站同时开启Web应用防火墙,由Web应用防火墙帮助业务防御常见的Web攻击、CC攻击。

同时使用DDoS原生防护和Web应用防火墙时,您需要先将网站业务接入Web应用防火墙进行防护,然后将WAF实例的IP地址添加为DDoS原生防护实例的防护对象。完成上述部署后,所有业务流量先经过WAF进行安全清洗,攻击流量(包括DDoS攻击、Web攻击、CC攻击)被丢弃,只有正常的业务流量被转发到源站服务器。

操作步骤

  1. 登录Web应用防火墙3.0控制台。在顶部菜单栏,选择WAF实例的资源组和地域(中国内地非中国内地)。

  2. 在左侧导航栏,单击接入管理

  3. CNAME接入页签,单击接入

  4. 配置监听向导页,完成如下配置后,单击下一步

    配置项

    配置说明

    域名

    填写要防护的域名,包括精确域名(例如www.c.9he.com)或通配符域名(例如*.c.9he.com)。仅支持填写一个域名。

    如果您是首次添加该域名,需要验证是否拥有该域名的归属权。通过后,才能添加域名。

    说明

    • 通配符域名能够匹配所有同级别的子域名,不能匹配不同级别的子域名。例如,*.c.9he.com能够匹配www.c.9he.comexample.c.9he.com等;*.c.9he.com不能匹配www.example.c.9he.com

    • 二级通配符域名能够匹配对应的二级主域名,例如,*.c.9he.com能够匹配c.9he.com

    • 三级通配符域名不能匹配对应的三级主域名,例如,*.example.c.9he.com不能匹配example.c.9he.com

    • 如果防护对象中同时存在精确域名和能够匹配该精确域名的通配符域名,精确域名的防护规则优先生效。

    协议类型

    选择网站使用的协议类型并填写对应端口。每输入一个端口,按回车确认。

    说明

    填写的端口必须在可选端口范围内。您可以单击查看端口范围,查看WAF支持的HTTP和HTTPS端口。

    • 选中HTTPS后,您还需要将网站域名关联的SSL证书上传到WAF,使WAF监听和防护网站的HTTPS业务流量。

      HTTPS证书上传方式区域,选择证书上传方式,并完成配置。

      手动上传

      选择已有证书

      申请新证书

    • 选中HTTPS并配置证书后,您也可以根据业务需要,进行如下操作:

      • 如果您的网站支持HTTP 2.0协议,您可以选中HTTP2,开启HTTP 2.0业务防护。

        说明

        HTTP 2.0协议的端口与HTTPS协议端口一致。

      • 高级配置

        • 开启HTTPS的强制跳转(默认不开启)

        • TLS协议版本

        • HTTPS加密套件

    WAF前是否有七层代理(高防/CDN等)

    网站在接入WAF前是否启用了其他七层代理服务(例如DDoS高防、CDN等)。

    • 无其他代理服务,选择(默认)

    • 有其他代理服务,选择

    更多配置

    • 开启IPv6

    • 开启独享IP

    • 防护资源

    资源组

    从资源组下拉列表中选择该域名所属资源组。如果不选择,则默认加入默认资源组

    说明

    您可以使用资源管理服务创建资源组,根据业务部门、项目等维度对云资源进行分组管理。

  5. 配置转发向导页,完成如下配置后,单击提交

    配置项

    说明

    负载均衡算法

    如果源站有多个服务器地址,您可以根据业务需要,选择不同的负载均衡算法,使WAF将回源请求转发到对应的服务器,实现负载均衡。可选项:

    • IP hash(默认)

    • 轮询

    • Least time

    服务器地址

    填写网站对应的源站服务器的公网IP地址或源站域名,用于接收WAF转发回源的正常业务请求(回源请求)。可选项:

    • IP

      • 必须为公网可达的IP地址。

      • 支持填写多个IP地址。每填写一个IP地址,按回车进行确认。最多支持添加20个源站IP。

        说明

        如果设置了多个源站IP地址,WAF会将回源请求转发到不同的源站,实现负载均衡。

      • 支持同时配置IPv4和IPv6地址,或者只配置IPv4地址,只配置IPv6地址。

        同时配置IPv4和IPv6地址时,来自IPv4客户端的请求将被转发到IPv4源站,来自IPv6客户端的请求将被转发到IPv6源站。

        重要

        如需配置IPv6回源,必须确保在配置监听时,开启了IPv6防护。

    • 域名(如CNAME)

      服务器地址为域名时,只支持IPv4地址,暂不支持IPv6地址,即WAF只会将客户端请求转发到源站域名解析出来的IPv4地址。

    HTTPS高级设置

    • 开启HTTP回源

    • 启用回源SNI

    其它高级设置

    • 启用流量标记

    • 设置WAF回源到源站的超时时间

    • 回源重试

    • 回源长连接

  6. 接入完成向导页,获取WAF提供的CNAME地址,并根据页面提示将域名的DNS解析地址设置为WAF提供的CNAME地址。

    重要

    在修改域名DNS解析设置前,请确认如下内容:

    • 已通过本地验证确保转发配置生效。如果在WAF的网站转发配置未生效时修改域名DNS,可能导致业务中断。

    • 如果源站服务器安装了其他防火墙应用,您需要将WAF IP地址添加到应用的白名单,避免WAF转发回源站的正常业务请求被误拦截。您可以单击Web应用防火墙回源IP网段列表,查看并复制WAF回源IP地址段。

    复制CNAME

    完成以上配置后,您可以执行如下操作,检测域名是否添加成功:

    • 在浏览器输入已添加的域名,如果网站能正常访问,表示域名添加成功。

    • 在浏览器输入已添加的域名和Web攻击代码(例如<被防护域名>/alert(xss)alert(xss)为用作测试的跨站脚本攻击代码),如果返回405拦截提示页面,表示攻击被拦截,WAF防护成功。

  7. 在本地计算机上执行ping命令,ping 网站域名的CName地址,获取您已购买的WAF实例的IP地址。

    ping

  8. 将WAF的IP地址添加为DDoS原生防护实例的防护对象,为WAF实例开启DDoS原生防护企业版防护。

    成功添加防护对象后,WAF实例将享有DDoS原生防护实例的DDoS攻击
    能力,在业务遭受DDoS攻击时,自动触发流量清洗,防御DDoS攻击。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/277712.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python初试二

连接数据库 Django为多种数据库后台提供了统一的调用API。根据需求不同&#xff0c;Django可以选择不同的数据库后台。MySQL算是最常用的数据库。我们这里将Django和MySQL连接。 在Linux终端下启动mysql: $mysql -u root -p 在MySQL中创立Django项目的数据库&#xff1a; …

解决因找不到qt5core.dll文件而导致无法执行代码问题

Qt5core.dll是Qt5框架的核心模块&#xff0c;用于提供基本的Qt功能。如果在代码执行过程中找不到qt5core.dll&#xff0c;可能导致相关功能无法正常使用。以下是五种详细解决方法、qt5core.dll文件详细介绍以及丢失原因。 一、qt5core.dll文件详细介绍 文件名称&#xff1a;q…

科技铸就企业转型钢筋铁骨,群硕获评2023年度数字化影响力企业

12月15日&#xff0c;STIF2023第四届国际科创节暨DSC2023国际数字服务大会在北京顺利举行&#xff0c;本次大会以“数实融合 推动高质量发展”为主题&#xff0c;各大科技服务企业齐聚一堂&#xff0c;共同探讨2023科技发展新趋势。 大会上&#xff0c;群硕软件继2022年后再度…

C++相关闲碎记录(13)

1、排序算法 &#xff08;1&#xff09;对所有元素排序sort(), stable_sort() #include "algostuff.hpp"using namespace std;int main() {deque<int> coll;INSERT_ELEMENTS(coll, 1, 9);INSERT_ELEMENTS(coll, 1, 9);PRINT_ELEMENTS(coll, "on entry: …

智慧电力运维系统

智慧电力运维系统是一个集成了智能化运维管理工具的系统&#xff0c;旨在提高用户侧电力运行安全&#xff0c;降低运维成本。该系统通过安装在电力设备上的多种传感器和现场监测装置&#xff0c;远程在线监测、监视电力设备的运行状态及设备周围的环境状况&#xff08;如&#…

Jmeter接口自动化测试,看完就会了。。。

前面我们复习了jmeter 的非图形化界面运行我们的测试接口。 大家可以翻看往期jmeter的文章。 具体来说就是&#xff1a;jmeter -n -t ****.jmx -l ****.jtl -e -o **** (*号代表路径&#xff09; 生成了测试报告。 但是这个非图形化运行有个缺点&#xff0c;就是只能运…

C语言:指针与数组易错辨析

前言&#xff1a; 在学校学习指针和数组的联系时&#xff0c;对指针与数组的结合产生了很大的疑惑&#xff0c;后来不断查找资料&#xff0c;本人对指针与数组的综合有了一定的理解&#xff0c;现进行综合讨论辨析 数组指针&#xff1a; 数组指针&#xff0c;即为指向数组类…

系列六、DCL

一、DCL 1.1、概述 DCL的英文全称是&#xff1a;Data Control Language&#xff0c;中文意思为&#xff1a; 数据控制语言&#xff0c;是用来管理数据库的用户以及控制用户的权限的。 1.2、管理用户 1.2.1、查询用户 select * from mysql.user; 说明&#xff1a; 其中 Host代…

C语言 简单使用qsort 比较结构体字符串大小

1.先简单调用C语言封装好的冒泡排序 #include<stdio.h> #include<stdlib.h> #include<string.h> //qsort C语言封装好的冒泡排序 可比较任何类型 struct stu{char name[20];int age; }; //用户自己写的函数。函数名字也作为函数指针使用。是qsort函数的第四…

转载: iOS 优雅的处理网络数据

转载&#xff1a; iOS 优雅的处理网络数据 原文链接&#xff1a;https://juejin.cn/post/6952682593372340237 相信大家平时在用 App 的时候, 往往有过这样的体验&#xff0c;那就是加载网络数据等待的时间过于漫长&#xff0c;滚动浏览时伴随着卡顿&#xff0c;甚至在没有网…

使用C++11开发一个半同步半异步线程池

半同步半异步线程池介绍 在处理大量并发任务的时候&#xff0c;如果按照传统的方式&#xff0c;一个请求一个线程来处理请求任务&#xff0c;大量的线程创建和销毁将消耗过多的系统资源&#xff0c;还增加了线程上下文切换的开销&#xff0c;而通过线程池技术就可以很好的解决这…

Visual Studio编辑器中C4996 ‘scanf‘: This function or variable may be unsafe.问题解决方案

目录 ​编辑 题目&#xff1a;简单的ab 1. 题目描述 2. 输入格式 3. 输出格式 4. 样例输入 5. 样例输出 6. 解题思路 7. 代码示例 8. 报错解决 方案一 方案二 方案三 方案四 总结 题目&#xff1a;简单的ab 1. 题目描述 输入两个整数a和b&#xff0c;…