利用阿里云 DDoS、WAF、CDN 和云防火墙为在线业务赋能
在这篇博客中,我们将详细讨论使用阿里云 CDN 和安全产品保护您的在线业务所需的步骤。
方案描述

创新技术的快速发展为世界各地的在线业务带来了新的机遇。今天的人们不仅习惯了,而且依靠互联网来开展他们的日常生活,包括购物、玩游戏、看电影以及几乎所有其他事情。从2016年到2021年,全球互联网流量将增长3.2倍,复合年增长率为26%。2020 年,美国电子商务的增长增长了 30% 以上,加速了向在线购物的转变近 2 年。
然而,这也给企业在扩展/扩展以满足要求时带来了新的挑战。在线企业主正在密切关注他们的网站,因为页面加载时间的任何负面结果都会影响对话率。提高网站性能是DevOps团队始终执行的任务。
随着在线业务变得越来越先进,不断应对随之而来的安全威胁非常重要。以下是在线业务面临的 5 大安全威胁:
- DDoS 攻击
- 信用卡欺诈
- 恶意软件
- 恶意机器人
- 电子略读
托管安全性和更快的性能是当今在线业务为保护和推动更多业务成功而投入巨资的原因。
本文将为您介绍如何结合使用阿里云DDoS高防(高防)、Web应用防火墙(WAF)和云防火墙来保护您的在线业务。我们还将讨论如何使用阿里云CDN同时提高网站性能。
多层保护
阿里云有多种安全产品可供您选择,以保护您的在线业务。在本文中,我们将向您展示如何同时设置 DDoS、WAF 和云防火墙,同时启用 CDN,以加速在线业务最终用户体验。
客户有时不确定设置的顺序。建议使用多层设置,如解决方案图所示:
- DDoS 高防 IP 是最外层的防护。DDoS 防护支持两种模式。一种是始终在线模式,即所有流量首先定向到Anti-DDoS清洗中心,然后干净的流量返回网站源站。另一种模式是待机模式,客户可以在发现攻击时手动启用,另一种模式是监视模式,通过阿里云 Anti-DDoS 和 CDN 服务之间的交互自动触发流量重定向。在以下分步指南中,我们将向您展示如何设置手表模式。您可以在始终开启模式或待机模式下工作时引用它。区别在于您手动管理 DNS CNAME 配置。阿里云 DDoS 高防在中国抵御了 50% 的 DDoS 攻击。
- 接下来,清理 Anti-DDoS 清洗中心后,将请求流量清理到 CDN 节点。如果请求的内容缓存在 CDN 节点中,则 CDN 节点将直接响应最终用户。这可以显着缩短页面加载时间。如果 CDN 节点中没有内容缓存或内容是动态的,并且请求必须返回网站源站,则 CDN 节点会根据配置的 CDN 结构将请求传输到下一个 CDN 节点或源站。阿里云对TCP协议栈进行改造,提高实时数据传输的可靠性。实现秒级智能路由切换,避免数据传输过程中丢包。阿里云CDN是中国和亚洲顶级的CDN供应商之一。
- WAF 防护是在线业务的下一层防护。WAF可以抵御HTTP洪水攻击,过滤掉恶意机器人流量,保证网站源站的性能。它也是业务风险控制的工具,用于解决安全风险,例如滥用业务 API。阿里云 WAF 凭借在主动防御和基于机器学习的检测方面的优势,获得了 Gartner、Forrester、IDC 和 Frost & Sullivan 这四大研究公司的认可。它在大中华区拥有49%的市场份额。
- 如果您的源站是在阿里云中构建的,您可以使用阿里云的多种安全产品来保护源站的基础设施。阿里云防火墙集中管理控制从互联网到您业务的流量的策略。它还控制VPC网络之间的流量、高速通道实例上的流量以及基于VPN的远程访问产生的流量。云防火墙内嵌入侵防御系统(IPS),可以检测来自您资产的出站连接。阿里云防火墙还可以可视化网络流量和业务之间的访问,并可以存储最近六个月内生成的网络流量日志。
让我们开始构建这些多层保护。
步骤一:在源站前配置防火墙防护
内部网络和互联网之间的防火墙保护是必不可少的,是源服务器的第一层保护。
如果您在阿里云中设置了源站,则可以为源站配置安全组,从而控制源站的入站和出站端口。以下是安全组的最佳实践,Best practices of the security group (part 1) - Elastic Compute Service - Alibaba Cloud Documentation Center
云防火墙提供控制公网边界流量的公网防火墙、控制VPC间流量的VPC防火墙和控制ECS实例间流量的内墙防火墙。您可以使用云防火墙对安全组策略进行集中管理,并实现安全组间流量的可视化。
1.1 购买云防火墙。
1.2 在防火墙页面开启云防火墙服务。

1.3 单击访问控制页面右上角的创建策略,配置访问控制策略。

1.4 在入侵防御页面配置入侵防御策略。

1.5 在“流量分析”页面查看流量分析。您可以查看外部连接、互联网访问、VPC访问、入侵检测、IPS分析以及所有访问活动的流量分析。

步骤二:配置WAF
2.1 购买WAF
WAF 有四个版本:专业版、商业版、企业版和独家版。每个版本的容量和功能都不同。
下表是关于四个版本之间的容量差异。

有关功能差异,请参阅此文档,WAF deployment plans and editions - Web Application Firewall - Alibaba Cloud Documentation Center
2.2 添加网站到WAF
在WAF中添加网站时,您需要将网站的域名添加到WAF控制台,并修改DNS记录,将流向网站的流量跳转到WAF进行防护。

将源服务器 IP 或负载均衡器 IP 添加为“目标服务器”
对于“WAF 前面是否存在第 7 层代理(DDoS 防护/CDN 等)”的问题,请选中“是”。我们将在后续步骤中配置 CDN 和 Anti-DDoS。
2.3 配置WAF防护策略
Web应用防火墙提供多种防护功能,保护您的网站免受不同类型的攻击。其中,默认只开启了正则表达式保护引擎和HTTP Flood Protection。正则表达式防护引擎功能可保护您的网站免受常见的Web攻击,例如SQL注入、XSS、Webshell上传等。HTTP 洪水保护功能可保护您的网站免受 HTTP 洪水攻击。您需要手动开启其他功能并配置防护规则。有关更多信息,请在 Overview - Web Application Firewall - Alibaba Cloud Documentation Center 查看详细信息
2.4 为网站开通WAF
修改域名的DNS记录,将域名映射到WAF分配的CNAME地址。
您可以进行此 DNS 更改以验证 WAF 是否正常工作。由于我们将在下一步中配置 CDN 以连接到 WAF 服务,因此在验证 WAF 功能后,我们不需要更改此 DNS。
步骤三:配置CDN
在本说明中,我们配置 CDN 以提高网站性能。CDN 使用我们在上一步中配置的 WAF CNAME 作为源。
3.1 购买CDN
使用CDN服务前,您需要完成实名注册。

3.2 验证域名的所有权
首次将域名添加到阿里云内容分发网络(CDN)时,阿里云CDN会验证域名的所有权。如果您通过验证,阿里云CDN会识别您为域名的所有者。如果您再次将域名添加到阿里云CDN或将其子域名添加到阿里云CDN中,则无需进行所有权验证。您可以使用域名系统 (DNS) 记录或上传验证文件来证明所有权。在以下示例中,a.com 用于演示如何证明域名的所有权。
3.3 添加域名到CDN

选择在“源信息”中使用站点域,这是我们在上一步中配置的 WAF CNAME。
要在“仅限中国大陆”和“全球”地区加速,您的域名必须具有有效的 ICP 备案。
3.4 为域启用 CDN
将域名添加到阿里云内容分发网络(CDN)后,阿里云CDN会为该域名分配一个规范名称(CNAME)。要为域名开通阿里云CDN服务,您需要添加CNAME记录,将域名映射到CNAME。这样,发送到域名的请求就可以重定向到 CDN 节点。
您可以进行此 DNS 更改以验证 CDN 是否正常工作。由于我们将在下一步中配置 DDoS 高防来连接 DDoS 高防服务,因此在验证 CDN 功能后,我们不需要更改此 DNS。
步骤四:配置DDoS高防
阿里云提供多种DDoS防护产品。在下表中,您可以找到产品及其主要区别。

DDoS 原生防护是一种云原生防护,无需将外部流量重定向到清洗中心即可启用。这是最方便和推荐的保护。DDoS原生防护:BGP分流是面临容量攻击时最强大的工具,DDoS原生防护无法抵御攻击带宽。客户可以使用 BGP 公告将流量重新路由到阿里云清洗中心。
DDoS 防护服务是使用 DNS 重定向将流量重新路由到阿里云清洗中心的常规服务。DDoS高防服务有两个版本。DDoS高防服务区域为中国大陆,DDoS高防服务区域为中国大陆以外地区。阿里云清洗中心容量为 10 Tbps。
在本说明中,我们选择使用DDoS高防服务,因为我们的网站源站位于中国大陆的VPC中,并且大多数最终用户来自中国大陆。
4.1 购买DDoS高防
登录阿里云控制台,在“产品和服务”中搜索“DDoS高防”,进入DDoS高防控制台。在 Assets -> Instances 下,单击 Purchase Instances。

您需要选择以下选项进行购买:
- 基本保护 - 这是您为获得适当保护规模而预付的基本缓解能力。
- 突发保护 - 这是您获得的最大缓解能力。
- 业务规模 - 这是您在线业务的带宽容量。
- 标准功能或增强功能
- 要保护的域数
- 干净的QPS
- 要保护的端口数
4.2 将您的域添加到保护中
进入DDoS高防控制台,单击“配置”下的“网站配置”,单击“添加域名”。
您需要先根据下表选择功能方案。

有关如何添加域的详细说明,请参见 https://www.alibabacloud.com/help/doc-detail/143347.htm
选择“源站域”作为服务器IP,并使用我们在上一步中配置的CDN CNAME作为域名。

4.3 (可选)对于非基于 Web 的应用程序,创建端口转发规则。Configure port forwarding rules - Anti-DDoS - Alibaba Cloud Documentation Center
4.4 配置防护策略、通用策略和自定义策略。Protect website services - Anti-DDoS - Alibaba Cloud Documentation Center
4.5 将流量重新路由到DDoS高防清洗中心。如果您希望使用DDoS高防服务常开模式,可以通过DDoS高防CNAME修改域名CNAME的DNS记录。您还可以选择在发生攻击时进行更改,这称为待机模式。
如果您的源站使用阿里云服务,如弹性公网、CDN,您可以在需要时使用Sec-Traffic Manger进行DDoS防自动防护。
在本说明中,我们启用了 CDN,并选择使用监视模式。我们使用 Sec-Traffic Manager 实现 DDoS 高防 IP 和 CDN 之间的交互。如果没有攻击发生,正常流量会直接转发到CDN服务,不会增加延迟。当攻击发生时,流量会切换到DDoS高防IP进行清洗转发。
如下图所示,当每秒对 CDN 服务的请求超过 1000 时,可以触发 Anti-DDoS。

然后,我们将域 DNS CNAME 更改为 Sec-Traffic Manager CNAME,如下面的屏幕截图所示。

至此,我们完成了这款多层防护方案的配置,该方案同时使用云防火墙、WAF、CDN和Anti-DDoS。在实际项目中,您可以选择使用所有保护措施或部分保护措施。如果您对本分步指南有任何意见,请告诉我们。
相关文章:
利用阿里云 DDoS、WAF、CDN 和云防火墙为在线业务赋能
在这篇博客中,我们将详细讨论使用阿里云 CDN 和安全产品保护您的在线业务所需的步骤。 方案描述 创新技术的快速发展为世界各地的在线业务带来了新的机遇。今天的人们不仅习惯了,而且依靠互联网来开展他们的日常生活,包括购物、玩游戏、看电…...
Mysql的事务日志
Mysql的事务具有四个特性:原子性、一致性、隔离性、持久性。那么事务的四种特性分别是靠什么机制实现的呢? 事务的隔离性由锁机制来保证 事务的原子性、一致性、持久性则由redo log和Undo log来保证。 - redo log是重做日志,提供再写入操作&…...
三、Shell 环境
一、Linux 系统分类 在 Linux 中,常见的 Shell 有以下几种: Bourne Shell(sh):最早的 Shell,由 Stephen Bourne 开发。它是大多数其他 Shell 的基础。Bourne Again Shell(bash)&am…...
2023年第三届产业数字化【金铲奖】重磅来袭!
做具备产业数字化价值的企业、案例标杆、资本机构的见证者、发现者、陪伴者。 出品|产业家 一年一度的金铲奖来了! 在过去的一年时间里,我们清晰地看到,产业数字化的潮水更加汹涌澎湃且势不可挡,越来越多的企业开始寻求数字化…...
node.js安装和配置
软件介绍 Node.js是一个免费的、开源的、跨平台的JavaScript运行时环境,允许开发人员在浏览器之外编写命令行工具和服务器端脚本。 Node.js是一个基于Chrome JavaScript运行时建立的一个平台。 Node.js是一个事件驱动I/O服务端JavaScript环境,基于Googl…...
【周报2023.12.09】
周报2023.12.09 本周开展工作下周工作计划 本周开展工作 本周开展的工作的话一共是一下几点: 这三点的话是紧密相连的 逻辑这边需要考虑的东西很多 点击生成照片,然后获取生成照片的状态点击生成照片,然后获取生成照片的时间,并…...
基于ssm大学生创新创业平台项目管理子系统设计与实现论文
摘 要 互联网发展至今,无论是其理论还是技术都已经成熟,而且它广泛参与在社会中的方方面面。它让信息都可以通过网络传播,搭配信息管理工具可以很好地为人们提供服务。针对大学生创新创业项目信息管理混乱,出错率高,信…...
JS基础之原型原型链
JS基础之原型&原型链 原型&原型链构造函数创建对象prototypeprotoconstructor实例与原型原型的原型原型链其他constructorproto继承 原型&原型链 构造函数创建对象 我们先使用构造函数创建一个对象: function Person(){ } var person new Person();…...
【力扣100】54.螺旋矩阵
添加链接描述 class Solution:def spiralOrder(self, matrix: List[List[int]]) -> List[int]:if not matrix or not matrix[0]:return list()rows, columns len(matrix), len(matrix[0])order list()left, right, top, bottom 0, columns - 1, 0, rows - 1while left &…...
UI 优先的统一身份认证系统 Casdoor
Casdoor 是一个基于 OAuth 2.0 / OIDC 的 UI 优先集中认证 / 单点登录 (SSO) 平台,简单点说,就是 Casdoor 可以帮你解决 用户管理 的难题,你无需开发用户登录注册等与用户鉴权相关的一系列功能,只需几个步骤,简单配置&…...
Realme X7 Pro Root 刷机教程
Realme X7 Pro 刷机教程 Just For Fun,最近倒腾了下Realme X7 Pro 刷root。此博客为个人记录刷机过程,如有机友跟随本教程操作,请谨慎操作!!! 以下教程真针对Realme X7 Pro,其他版本方法未知&…...
postgresql自带指令命令系列三
目录 简介 bin目录 28.pg_verifybackup 29.pg_waldump 30.postgres 31.postmaster -> postgres 32.psql 33.reindexdb 34.vacuumdb 35.vacuumlo 总结: 简介 在安装postgresql数据库的时候会需要设置一个关于postgresql数据库的PATH变量 export PATH/…...
Java_mybatis-结果集映射-ResultTypeResultMap
Mybatis返回值接收 可以使用两种方式进行参数的接收 resultTyperesultMap 这两种分别都是需要在Mapper.xml文件中去设置的 当结果是一个简单的对象或者list或者map,对象中没有嵌套对象,或者集合时,就可以直接使用resultType 反之如果需要…...
【Java】MySQL存储 MD5 值应该用 VARCHAR 还是CHAR?
CHAR 非常适合存储 MD5 值。因为MD5 值是一个定长的值,对于固定长度的非常短的列,CHAR比VARCHAR的效率更高。 CHAR和VARCHAR的区别: 1)存储长度不同,CHAR 的长度是固定的,VARCHAR 的长度是可变的 假设,当我们定义 CHA…...
pytorch中五种常用随机矩阵构造方法:rand、randn、randn_like、randint、randperm
1 torch.rand:构造均匀分布张量 torch.rand是用于生成均匀随机分布张量的函数,从区间[0,1)的均匀分布中随机抽取一个随机数生成一个张量,其调用方法如下所示: torch.rand(sizes, outNone) ➡️ Tensor 参数: sizes&…...
2023第二届全国大学生数据分析大赛A完整原创论文(含摘要+问题分析+模型建立与求解+python代码)
大家好,从昨天肝到现在,终于完成了2023第二届全国大学生数据分析大赛A题某电商平台用户行为分析与挖掘的完整论文啦。 给大家看一下目录吧: 目录 摘 要: 10 一、问题重述 12 二.问题分析 13 2.1问题一 13 2.2问…...
Qt 面试指南
一、c基础知识 1、进程和线程的同步方式 进程:1)管道,是内核里的一串缓存 2)消息队列 3)共享内存 4)信号量机制 5)信号 6)socket 线程:1)等待通知机制 2&…...
开利网络的数字化技术加持下,加快扶贫和乡村振兴的效果和进程!
今日,来自山区省份的从事公益、区域民族文化传播、帮扶贫困地区脱贫、农业兴村贵州项目组一行来开利进行数字化脱贫、帮助乡村振兴解决方案探讨交流,交流中,开利网络总结出历经多年实践验证且行之有效的数字化经营、数字化建设经验得到与会成…...
PR剪辑视频做自媒体添加字幕快速方式(简单好用的pr视频字幕模板)
如何选择合适的字幕添加进短视频呢?首先要先确定增加的视频风格,简约、商务、科技感、炫酷;再确定用途,注释、标记、语音翻译、引用、介绍;最后在相应的模板中挑选几个尝试,悬着一个最切合主题的使用&#…...
金融行业文件摆渡,如何兼顾安全和效率?
金融行业是数据密集型产业,每时每刻都会产生海量的数据,业务开展时,数据在金融机构内部和内外部快速流转,进入生产的各个环节。 为了保障基础的数据安全和网络安全,金融机构采用网络隔离的方式来隔绝外部网络的有害攻击…...
谷歌浏览器插件
项目中有时候会用到插件 sync-cookie-extension1.0.0:开发环境同步测试 cookie 至 localhost,便于本地请求服务携带 cookie 参考地址:https://juejin.cn/post/7139354571712757767 里面有源码下载下来,加在到扩展即可使用FeHelp…...
使用VSCode开发Django指南
使用VSCode开发Django指南 一、概述 Django 是一个高级 Python 框架,专为快速、安全和可扩展的 Web 开发而设计。Django 包含对 URL 路由、页面模板和数据处理的丰富支持。 本文将创建一个简单的 Django 应用,其中包含三个使用通用基本模板的页面。在此…...
【Java学习笔记】Arrays类
Arrays 类 1. 导入包:import java.util.Arrays 2. 常用方法一览表 方法描述Arrays.toString()返回数组的字符串形式Arrays.sort()排序(自然排序和定制排序)Arrays.binarySearch()通过二分搜索法进行查找(前提:数组是…...
转转集团旗下首家二手多品类循环仓店“超级转转”开业
6月9日,国内领先的循环经济企业转转集团旗下首家二手多品类循环仓店“超级转转”正式开业。 转转集团创始人兼CEO黄炜、转转循环时尚发起人朱珠、转转集团COO兼红布林CEO胡伟琨、王府井集团副总裁祝捷等出席了开业剪彩仪式。 据「TMT星球」了解,“超级…...
【ROS】Nav2源码之nav2_behavior_tree-行为树节点列表
1、行为树节点分类 在 Nav2(Navigation2)的行为树框架中,行为树节点插件按照功能分为 Action(动作节点)、Condition(条件节点)、Control(控制节点) 和 Decorator(装饰节点) 四类。 1.1 动作节点 Action 执行具体的机器人操作或任务,直接与硬件、传感器或外部系统…...
【RockeMQ】第2节|RocketMQ快速实战以及核⼼概念详解(二)
升级Dledger高可用集群 一、主从架构的不足与Dledger的定位 主从架构缺陷 数据备份依赖Slave节点,但无自动故障转移能力,Master宕机后需人工切换,期间消息可能无法读取。Slave仅存储数据,无法主动升级为Master响应请求ÿ…...
【HarmonyOS 5 开发速记】如何获取用户信息(头像/昵称/手机号)
1.获取 authorizationCode: 2.利用 authorizationCode 获取 accessToken:文档中心 3.获取手机:文档中心 4.获取昵称头像:文档中心 首先创建 request 若要获取手机号,scope必填 phone,permissions 必填 …...
Web 架构之 CDN 加速原理与落地实践
文章目录 一、思维导图二、正文内容(一)CDN 基础概念1. 定义2. 组成部分 (二)CDN 加速原理1. 请求路由2. 内容缓存3. 内容更新 (三)CDN 落地实践1. 选择 CDN 服务商2. 配置 CDN3. 集成到 Web 架构 …...
Python Ovito统计金刚石结构数量
大家好,我是小马老师。 本文介绍python ovito方法统计金刚石结构的方法。 Ovito Identify diamond structure命令可以识别和统计金刚石结构,但是无法直接输出结构的变化情况。 本文使用python调用ovito包的方法,可以持续统计各步的金刚石结构,具体代码如下: from ovito…...
【Redis】笔记|第8节|大厂高并发缓存架构实战与优化
缓存架构 代码结构 代码详情 功能点: 多级缓存,先查本地缓存,再查Redis,最后才查数据库热点数据重建逻辑使用分布式锁,二次查询更新缓存采用读写锁提升性能采用Redis的发布订阅机制通知所有实例更新本地缓存适用读多…...
