利用阿里云 DDoS、WAF、CDN 和云防火墙为在线业务赋能

在这篇博客中,我们将详细讨论使用阿里云 CDN 和安全产品保护您的在线业务所需的步骤。

方案描述

1

创新技术的快速发展为世界各地的在线业务带来了新的机遇。今天的人们不仅习惯了,而且依靠互联网来开展他们的日常生活,包括购物、玩游戏、看电影以及几乎所有其他事情。从2016年到2021年,全球互联网流量将增长3.2倍,复合年增长率为26%。2020 年,美国电子商务的增长增长了 30% 以上,加速了向在线购物的转变近 2 年。

然而,这也给企业在扩展/扩展以满足要求时带来了新的挑战。在线企业主正在密切关注他们的网站,因为页面加载时间的任何负面结果都会影响对话率。提高网站性能是DevOps团队始终执行的任务。

随着在线业务变得越来越先进,不断应对随之而来的安全威胁非常重要。以下是在线业务面临的 5 大安全威胁:

  • DDoS 攻击
  • 信用卡欺诈
  • 恶意软件
  • 恶意机器人
  • 电子略读

托管安全性和更快的性能是当今在线业务为保护和推动更多业务成功而投入巨资的原因。

本文将为您介绍如何结合使用阿里云DDoS高防(高防)、Web应用防火墙(WAF)和云防火墙来保护您的在线业务。我们还将讨论如何使用阿里云CDN同时提高网站性能。

多层保护

阿里云有多种安全产品可供您选择,以保护您的在线业务。在本文中,我们将向您展示如何同时设置 DDoS、WAF 和云防火墙,同时启用 CDN,以加速在线业务最终用户体验。

客户有时不确定设置的顺序。建议使用多层设置,如解决方案图所示:

  1. DDoS 高防 IP 是最外层的防护。DDoS 防护支持两种模式。一种是始终在线模式,即所有流量首先定向到Anti-DDoS清洗中心,然后干净的流量返回网站源站。另一种模式是待机模式,客户可以在发现攻击时手动启用,另一种模式是监视模式,通过阿里云 Anti-DDoS 和 CDN 服务之间的交互自动触发流量重定向。在以下分步指南中,我们将向您展示如何设置手表模式。您可以在始终开启模式或待机模式下工作时引用它。区别在于您手动管理 DNS CNAME 配置。阿里云 DDoS 高防在中国抵御了 50% 的 DDoS 攻击。
  2. 接下来,清理 Anti-DDoS 清洗中心后,将请求流量清理到 CDN 节点。如果请求的内容缓存在 CDN 节点中,则 CDN 节点将直接响应最终用户。这可以显着缩短页面加载时间。如果 CDN 节点中没有内容缓存或内容是动态的,并且请求必须返回网站源站,则 CDN 节点会根据配置的 CDN 结构将请求传输到下一个 CDN 节点或源站。阿里云对TCP协议栈进行改造,提高实时数据传输的可靠性。实现秒级智能路由切换,避免数据传输过程中丢包。阿里云CDN是中国和亚洲顶级的CDN供应商之一。
  3. WAF 防护是在线业务的下一层防护。WAF可以抵御HTTP洪水攻击,过滤掉恶意机器人流量,保证网站源站的性能。它也是业务风险控制的工具,用于解决安全风险,例如滥用业务 API。阿里云 WAF 凭借在主动防御和基于机器学习的检测方面的优势,获得了 Gartner、Forrester、IDC 和 Frost & Sullivan 这四大研究公司的认可。它在大中华区拥有49%的市场份额。
  4. 如果您的源站是在阿里云中构建的,您可以使用阿里云的多种安全产品来保护源站的基础设施。阿里云防火墙集中管理控制从互联网到您业务的流量的策略。它还控制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 在防火墙页面开启云防火墙服务。

2

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

3

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

4

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

5

步骤二:配置WAF

2.1 购买WAF

WAF 有四个版本:专业版、商业版、企业版和独家版。每个版本的容量和功能都不同。

下表是关于四个版本之间的容量差异。

6

有关功能差异,请参阅此文档,WAF deployment plans and editions - Web Application Firewall - Alibaba Cloud Documentation Center

2.2 添加网站到WAF

在WAF中添加网站时,您需要将网站的域名添加到WAF控制台,并修改DNS记录,将流向网站的流量跳转到WAF进行防护。

7

将源服务器 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服务前,您需要完成实名注册。

8

3.2 验证域名的所有权

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

3.3 添加域名到CDN

9

选择在“源信息”中使用站点域,这是我们在上一步中配置的 WAF CNAME。

要在“仅限中国大陆”和“全球”地区加速,您的域名必须具有有效的 ICP 备案。

3.4 为域启用 CDN

将域名添加到阿里云内容分发网络(CDN)后,阿里云CDN会为该域名分配一个规范名称(CNAME)。要为域名开通阿里云CDN服务,您需要添加CNAME记录,将域名映射到CNAME。这样,发送到域名的请求就可以重定向到 CDN 节点。

您可以进行此 DNS 更改以验证 CDN 是否正常工作。由于我们将在下一步中配置 DDoS 高防来连接 DDoS 高防服务,因此在验证 CDN 功能后,我们不需要更改此 DNS。

步骤四:配置DDoS高防

阿里云提供多种DDoS防护产品。在下表中,您可以找到产品及其主要区别。

10

DDoS 原生防护是一种云原生防护,无需将外部流量重定向到清洗中心即可启用。这是最方便和推荐的保护。DDoS原生防护:BGP分流是面临容量攻击时最强大的工具,DDoS原生防护无法抵御攻击带宽。客户可以使用 BGP 公告将流量重新路由到阿里云清洗中心。

DDoS 防护服务是使用 DNS 重定向将流量重新路由到阿里云清洗中心的常规服务。DDoS高防服务有两个版本。DDoS高防服务区域为中国大陆,DDoS高防服务区域为中国大陆以外地区。阿里云清洗中心容量为 10 Tbps。

在本说明中,我们选择使用DDoS高防服务,因为我们的网站源站位于中国大陆的VPC中,并且大多数最终用户来自中国大陆。

4.1 购买DDoS高防

登录阿里云控制台,在“产品和服务”中搜索“DDoS高防”,进入DDoS高防控制台。在 Assets -> Instances 下,单击 Purchase Instances。

11

您需要选择以下选项进行购买:

  1. 基本保护 - 这是您为获得适当保护规模而预付的基本缓解能力。
  2. 突发保护 - 这是您获得的最大缓解能力。
  3. 业务规模 - 这是您在线业务的带宽容量。
  4. 标准功能或增强功能
  5. 要保护的域数
  6. 干净的QPS
  7. 要保护的端口数

4.2 将您的域添加到保护中

进入DDoS高防控制台,单击“配置”下的“网站配置”,单击“添加域名”。

您需要先根据下表选择功能方案。

12

有关如何添加域的详细说明,请参见 https://www.alibabacloud.com/help/doc-detail/143347.htm

选择“源站域”作为服务器IP,并使用我们在上一步中配置的CDN CNAME作为域名。

13

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。

14

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

15

至此,我们完成了这款多层防护方案的配置,该方案同时使用云防火墙、WAF、CDN和Anti-DDoS。在实际项目中,您可以选择使用所有保护措施或部分保护措施。如果您对本分步指南有任何意见,请告诉我们。

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

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

相关文章

排序:归并排序

目录 归并排序——有递归的: 基本思想: 思路分析: 代码分析: 划分区间思路: 代码思路分析: 归并排序——有递归的: 基本思想: 归并排序(MERGE-SORT&#xff…

单点登录方案调研与实现

作用 在一个系统登录后,其他系统也能共享该登录状态,无需重新登录。 演进 cookie → session → token →单点登录 Cookie 可以实现浏览器和服务器状态的记录,但Cookie会出现存储体积过大和可以在前后端修改的问题 Session 为了解决Co…

企业微信配置可信域名

首先去申请一个域名,然后将域名绑定到有公网ip的云服务器上,绑定到具体的网站;然后再企业微信,管理后台,点击具体的应用,进【网页授权及JS-SDK】;点击底部的【申请校验域名】点击下载文件&#…

数据可视化|jupyter notebook运行pyecharts,无法正常显示“可视化图形”,怎么解决?

前言 本文是该专栏的第39篇,后面会持续分享python数据分析的干货知识,记得关注。 相信有些同学在本地使用jupyter notebook运行pyecharts的时候,在代码没有任何异常的情况下,无论是html还是notebook区域,都无法显示“可视化图形”,界面区域只有空白一片。遇到这种情况,…

UniGui使用CSSUniTreeMenu滚动条

有些人反应UniTreeMenu当菜单项目比较多的时候会超出但是没有出滚动条,只需要添加如下CSS 老规矩,unitreemeu的layout的componentcls里添加bbtreemenu,然后在css里添加 .bbtreemenu .x-box-item{ overflow-y: auto; } 然后当内容超出后就会…

TypeScript中的单件设计模式

基本概念 (1) 了解设计模式 设计模式通俗的讲,就是一种更好的编写代码方案,打个比喻:从上海到武汉,你可以选择做飞机,做轮船,开车,骑摩托车多种方式,把出行…

ubuntu安装docker及docker常用命令

docker里有三个部分 daemon 镜像 和 容器 我们需要了解的概念 容器 镜像 数据卷 文章目录 docker命令docker镜像相关命令docker容器相关命令数据卷ubuntu安装docker docker命令 #启动,停止,重启docker systemctl start docker systemctl stop docker s…

pytorch:YOLOV1的pytorch实现

pytorch:YOLOV1的pytorch实现 注:本篇仅为学习记录、学习笔记,请谨慎参考,如果有错误请评论指出。 参考: 动手学习深度学习pytorch版——从零开始实现YOLOv1 目标检测模型YOLO-V1损失函数详解 3.1 YOLO系列理论合集(Y…

Notes数据直接在Excel中统计

大家好,才是真的好。 我希望你看过前面两篇内容《Domino REST API安装和运行》和《Domino REST API安装和运行》,因为今天我们正是使用REST API方式在Excel中查询和统计Notes数据。 不过首先你得知道一个OData协议,全名Open Data Protocol(…

配置OSS后如何将服务器已有文件上传至OSS,推荐使用ossutil使用

1.下载安装ossutil sudo -v ; curl https://gosspublic.alicdn.com/ossutil/install.sh | sudo bash2.交互式配置生成配置文件 ossutil config 根据提示分别设置配置文件路径、设置工具的语言、Endpoint、AccessKey ID、AccessKey Secret和STSToken参数,STSToken留…

Android 分享小结

关于作者:CSDN内容合伙人、技术专家, 从零开始做日活千万级APP。 专注于分享各领域原创系列文章 ,擅长java后端、移动开发、商业变现、人工智能等,希望大家多多支持。 目录 一、导读二、微信 分享 三、 QQ 、QQ空间(Qz…

python安装与工具PyCharm

摘要: 周末闲来无事学习一下python!不是你菜鸡,只不过是对手太强了!所以你要不断努力,去追求更高的未来!下面先了解python与环境的安装与工具的配置! python安装: 官网 进入官网下载…

iOS分段控件UISegmentedControl使用

在故事板中添加UISegmentedControl 具体添加步聚如下: 选择Xcode的View菜单下的Show Library (或者Shift+Common+L) 打开控件库如下 在控件库中输入seg搜索控件,在出现Segmented Control后,将其拖到View Controller Scene中 到这里,添加分段控件UI已完成, 接下来将控件与变量…

Qt/C++视频监控拉流显示/各种rtsp/rtmp/http视频流/摄像头采集/视频监控回放/录像存储

一、前言 本视频播放组件陆陆续续写了6年多,一直在持续更新迭代,视频监控行业客户端软件开发首要需求就是拉流显示,比如给定一个rtsp视频流地址,你需要在软件上显示实时画面,其次就是录像保存,再次就是一些…

HarmonyOS--ArkTS(1)--基本语法(1)

目录 基本语法概述 声明式UI描述 自定义组件 创建自定义组件 自定义组件的结构--struct ,Component,build()函数 生命周期 基本语法概述 装饰器: 用于装饰类、结构、方法以及变量,并赋予其特殊的含义。如上述示例中Entry、C…

AWS Remote Control ( Wi-Fi ) on i.MX RT1060 EVK - 2 “架构 AWS”

接续上一章节,我们把开发环境架设好之后,此章节叙述如何建立 AWS IoT 环境,请务必已经有 AWS Account,申请 AWS Account 之流程将不在此说明。 III-1. 登入AWS IoT, 在“管理”>“所有装置”>“实物”下点击“建…

Avalonia中如何将View事件映射到ViewModel层

前言 前面的文章里面我们有介绍在Wpf中如何在View层将事件映射到ViewModel层的文章,传送门,既然WPF和Avalonia是两套不同的前端框架,那么WPF里面实现模式肯定在这边就用不了,本篇我们将分享一下如何在Avalonia前端框架下面将事件…

【React Hooks】=> useId()

相比较使用全局变量 作为唯一 ID 和直接使用 useId 是有区别的。 官方解释如下: 如果是将 useId 作为 id 的情况下,是如下的形式 也就是说你使用了 useId 作为唯一 ID 那么在你删除数组某个元素之后不会导致某个 ID 被重复使用,如果使用的全…

分布式环境下的session 共享-基于spring-session组件和Redis实现

1、问题概述 不是所有的项目都是单机模式的,当一个项目服务的局域比较广,用户体量比较大,数据量较大的时候,我们都会将项目部署到多台服务器上,这些个服务器都是分布在不同的区域,这样实现了项目的负载和并…

工作实践中如何使用ThreadLocal?

主要作用 多线程问题主要是多个线程共享一个对象导致的,我们不让他共享就行了,每个线程保存一份自己的对象,自己玩自己的对象,就不会出现线程问题了。 ThreadLocal这个作用就是让线程自己独立保存一份自己的变量副本。每个线程都…