利用阿里云 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视频字幕模板)
如何选择合适的字幕添加进短视频呢?首先要先确定增加的视频风格,简约、商务、科技感、炫酷;再确定用途,注释、标记、语音翻译、引用、介绍;最后在相应的模板中挑选几个尝试,悬着一个最切合主题的使用&#…...

金融行业文件摆渡,如何兼顾安全和效率?
金融行业是数据密集型产业,每时每刻都会产生海量的数据,业务开展时,数据在金融机构内部和内外部快速流转,进入生产的各个环节。 为了保障基础的数据安全和网络安全,金融机构采用网络隔离的方式来隔绝外部网络的有害攻击…...
OpenLayers 可视化之热力图
注:当前使用的是 ol 5.3.0 版本,天地图使用的key请到天地图官网申请,并替换为自己的key 热力图(Heatmap)又叫热点图,是一种通过特殊高亮显示事物密度分布、变化趋势的数据可视化技术。采用颜色的深浅来显示…...
三维GIS开发cesium智慧地铁教程(5)Cesium相机控制
一、环境搭建 <script src"../cesium1.99/Build/Cesium/Cesium.js"></script> <link rel"stylesheet" href"../cesium1.99/Build/Cesium/Widgets/widgets.css"> 关键配置点: 路径验证:确保相对路径.…...
Java如何权衡是使用无序的数组还是有序的数组
在 Java 中,选择有序数组还是无序数组取决于具体场景的性能需求与操作特点。以下是关键权衡因素及决策指南: ⚖️ 核心权衡维度 维度有序数组无序数组查询性能二分查找 O(log n) ✅线性扫描 O(n) ❌插入/删除需移位维护顺序 O(n) ❌直接操作尾部 O(1) ✅内存开销与无序数组相…...

如何在看板中体现优先级变化
在看板中有效体现优先级变化的关键措施包括:采用颜色或标签标识优先级、设置任务排序规则、使用独立的优先级列或泳道、结合自动化规则同步优先级变化、建立定期的优先级审查流程。其中,设置任务排序规则尤其重要,因为它让看板视觉上直观地体…...

Swift 协议扩展精进之路:解决 CoreData 托管实体子类的类型不匹配问题(下)
概述 在 Swift 开发语言中,各位秃头小码农们可以充分利用语法本身所带来的便利去劈荆斩棘。我们还可以恣意利用泛型、协议关联类型和协议扩展来进一步简化和优化我们复杂的代码需求。 不过,在涉及到多个子类派生于基类进行多态模拟的场景下,…...
Spring AI 入门:Java 开发者的生成式 AI 实践之路
一、Spring AI 简介 在人工智能技术快速迭代的今天,Spring AI 作为 Spring 生态系统的新生力量,正在成为 Java 开发者拥抱生成式 AI 的最佳选择。该框架通过模块化设计实现了与主流 AI 服务(如 OpenAI、Anthropic)的无缝对接&…...

Yolov8 目标检测蒸馏学习记录
yolov8系列模型蒸馏基本流程,代码下载:这里本人提交了一个demo:djdll/Yolov8_Distillation: Yolov8轻量化_蒸馏代码实现 在轻量化模型设计中,**知识蒸馏(Knowledge Distillation)**被广泛应用,作为提升模型…...
PAN/FPN
import torch import torch.nn as nn import torch.nn.functional as F import mathclass LowResQueryHighResKVAttention(nn.Module):"""方案 1: 低分辨率特征 (Query) 查询高分辨率特征 (Key, Value).输出分辨率与低分辨率输入相同。"""def __…...

使用Spring AI和MCP协议构建图片搜索服务
目录 使用Spring AI和MCP协议构建图片搜索服务 引言 技术栈概览 项目架构设计 架构图 服务端开发 1. 创建Spring Boot项目 2. 实现图片搜索工具 3. 配置传输模式 Stdio模式(本地调用) SSE模式(远程调用) 4. 注册工具提…...
MySQL 8.0 事务全面讲解
以下是一个结合两次回答的 MySQL 8.0 事务全面讲解,涵盖了事务的核心概念、操作示例、失败回滚、隔离级别、事务性 DDL 和 XA 事务等内容,并修正了查看隔离级别的命令。 MySQL 8.0 事务全面讲解 一、事务的核心概念(ACID) 事务是…...