带你读《从基础到应用云上安全航行指南》——来上课!一文掌握守住ECS网络安全的最佳方法(2)

本文涉及的产品
无影云电脑企业版,4核8GB 120小时 1个月
无影云电脑企业版,4核8GB 120小时 1个月
无影云电脑个人版,黄金款:40核时/1个月有效
简介: 带你读《从基础到应用云上安全航行指南》——来上课!一文掌握守住ECS网络安全的最佳方法(2)

带你读《从基础到应用云上安全航行指南》——来上课!一文掌握守住ECS网络安全的最佳方法(1):https://developer.aliyun.com/article/1441583


三、控制网络流量

首先,学习一下什么是网络ACL,设想一个典型的场景,交换机AECS部署着重要的服务,不希望被其他交换机下的ECS访问到,这就引入了阿里云专有网络的产品能力,网络ACL,只需要给交换机A绑定一个网络ACL,同时设置网络ACL的规则,阻断其他交换机的访问,即可满足自己的需求。

 

image.png

 

再来介绍一下网络ACL的概念,网络ACL是专有网络中的网络放置、网络访问控制功能,网络ACL的作用范围是专有网络下的虚拟交换机上,您可以自定义设置网络ACL规则,并将网络ACL与交换机进行绑定,实现对交换机中云服务器ECS实例流量的访问控制。

 

网络ACL的几点特性:

 

∙        第一是无状态,设置入方向规则的允许请求后,必须要同时设置出方向的规则,否则就可能导致请求出去了回不来,或者是能进来回不去。

∙        第二点是网络ACL内没有任何规则时,会拒绝所有出入方向的访问,默认是拒绝所有访问的。

∙        第三点也是需要注意的,从交换机下的ECS流量不受网络ACL的限制,左图中大概描述了网络ACL的作用原理,需要说明的是,本节只讲解网络ACL,没有考虑安全组的影响。整个图片分为两部分,左侧表示所有交换机没有绑定网络ACL的场景,在这种场景下,整个专有网络的ECS都不受网络ACL的限制,是可以互相访问的。图片的右侧,表示两个交换机都绑定了网络ACL,左侧交换机内的ECS可以彼此互相访问,不受网络AC的控制,右右侧交换机访问左侧交换机需要受到网络ACL规则的限制。

 

本节讲解了网络ACL的基本概念,下面深入学习一下网络ACL的规则。

 

image.png

 

ACL规则由以下要素构成,生效顺序、策略、协议类型、源地址、目的地址、目的端口范围等。生效顺序表示生效的优先级,值越小,规则的优先级越高。

系统从生效顺序为一的规则开始判断,只要有一条规则与流量匹配及应用该规则,并忽略其他规则。例如,交换机B中的IP172.16.0.1ECS。通过TCP协议访问交换机C中的ECS,再经过如表所示的ACL规则配置后,172.16.0.1的匹配生效顺序2和生效顺序3中规则的源地址。

 

由于生效顺序2的优先级高于生效顺序3,所以会根据生效顺序2的规则拒绝该请求。策略,针对特定流量选择允许或拒绝。协议类型,指定数据流的协议类型,阿里云的ACL协议支持ALLICMPGRETCPUDP五种。第一种是ALL,即所有协议,当选择所有协议类型时,端口的范围是没办法设置的,必须为-1/-1,表示不限制端口,ICMP协议,网络控制报文协议,当选择该协议类型时。

 

端口范围无法设置,为-1/-1,表示无限制端口,GRE通用路由封装协议,当选择该封装协议时,端口范围无法设置,为-1/-1,表示不限制端口,TCP传输控制协议,当选择该协议类时,端口范围为1~65535,设置格式可以为1/20080/80,并且不能设置为-1/-1UDP是用户数据报协议,当选择该协议类型时,端口范围为1~65535,设置格式为1/20080/80,且不能设置为-1/-1

 

源地址,是用于限制入方向的规则,数据流的源地址,目的地址,是用于限制出方向的规则,表示数据流的目的地址,目的端口的范围,是用于限制入方向规则作用的端口范围,这个就是ACL构成要素的一些详解。

 

image.png

 

通过网络ACL限制流量,主要分为三步:

 

∙        第一步是创建网络ACL

∙        第二步是将创建的网络ACL关联到交换机;

∙        第三是设置网络ACL的规则。

 

设置后所有的规则会自动对交换机下的ECS的生效,创建网络ACL是首先在的控制台专有网络ACL的页面点击创建网络ACL,也可以通过OpenAPI CreateNetworkAcl 创建ACL,第二步是关联交换机,可以在VPC的控制台、专有网络、网络ACL、网络ACL详情的页面点击关联交换机,也可以通过 OpenAPI AssociateNetworkAcl 绑定ACL到交换机。

 

第三是设置规则,在VPC的控制台,选择专有网络、网络ACL、网络ACL详情及出入方向的规则进行设置,也可以通过 OpenAPI UpdateNetworkAclEntries 更新网络ACL规则,注意第二步中的OpenAPI 是一个义务的操作,可以通过OpenAPI DescribeNetworkAclAttributes 查询网络ACL的规则的更新状态,更新结果,这就是要讲解的网络ACL详情,下面我们会重点讲解一下,阿里云ECS安全组。

 

image.png

 

什么是安全组,设想几个常见的安全场景:

 

∙        有一个Mysql集群,并且只想对内网放开3306端口的访问

∙        有一个web集群,只想放80/443端口的外部访问

∙        有一个AB两个服务集群,彼此之间不希望他们进行通信

∙        同交换机下的两台ECS不允许彼此访问

 

前三条都可以通过网络ACL实现,但是最后一个场景不行,只能用安全组实现,因为前文提到过,同交换机下的 ECS是不受网络ACL 的限制的。

 

安全组的概念:安全组是一种网卡粒度的虚拟防火墙,能够控制ECS实例的出入站流量。安全组的入方向规则控制ECS实力的入站流量,出方向规则控制ECS实力的出站流量。通俗的讲,就像是一个小区的门卫,只放行允许的访问,对于不允许访问会拒绝掉。

 

上个章节讲解了网络ACL,安全组和它有什么不同?

 

首先是作用范围,网络ACL的作用范围是交换机下的所有ECS,而安全组的生效范围是安全组中的所有ECS

 

安全组是有状态的,网络ACL没有状态,举个例子,源端的ECS出方向的安全组规则允许访问目的端的ECS,即使源端入方向的不允许目地端的ECS放外,出方向的返回请求也不会被拦截。简单概括是安全组能出去就一定能回来,能进去也一定能回来。

需要注意的是,由目的端主动发起的对源端的访问会被拦截掉。而网络ACL则是无状态的,出入方向必须同时配置允许方向的规则才可以放行允许访问。

第三点是同交换机下的ECS受安全组规则的限制,但是不受网络ACL的限制。

第四点是同安组的ECS可以允许互相访问,也可以关闭互相访问的功能。第五是安全组支持组组授权,并且也支持跨账号的数据授权,这一点在功能上是非常强大的,下一节会重点介绍安全组的作用原理。

 

image.png

本节主要介绍安全组的作用原理,要想安全组生效,需要进行如下操作:

 

∙        创建安全组;

∙        根据自己的需求设置安全组的规则;

∙        ECS或者弹性网卡加入安全组。当一台ECS加入安全组后,该安全组的所有规则会自动对该ECS生效,流入或者流出ECS所有流量都要受到这些规则的限制。

 

例如,图中下方的ECS,加入一个安全组,该安全组配置了一条规则,允许来源IP192.168.1.100的访问,访问22端口,对于来自于192.168.0.100的流量,就是不允许访问的,来自192.168.1.100的流量,对于22个端口的访问会被放行,这就是安全组的作用原理。下一节会重点讲解一下安全组ACL的一个规则。

 

image.png

首先是单条自定义的安全组规则由以下的组成元素,第一是协议类型,第二是端口范围,第三是授权对象,第四是授权策略,第五是优先级,第六是规则方向,第七是规则ID

 

详细的介绍一下各个元素,首先是协议类型,匹配流量的协议类型,支持TCPUDPICMP(IPv4)ICMP(IPv6)GRE,端口的范围,匹配流量的目的端口,对于TCPUDP协议,可以指定一个斜线(/)分隔的端口范围,比如8000/9000,或22/22。对其他协议,该字段取值-1/-1表示所有端口。

 

授权对象:入方向规则中匹配流量的源地址,出方向规则中匹配流量的目的地址。支持CIDR地址块(或IP地址)、安全组、前缀列表三种类型。

 

具体如下,举个例子,IPv4地址:例如192.168.0.100IPv4 CIDR地址块:例如192.168.0.0/24,掩码是24位的地段,IPV6地址和IPV6地址段就不再去详细的介绍,还有一个是安全组的ID。支持当前账号下的安全组,或者是跨账号的安全组,还有前缀列表的ID,前缀列表是一些网络前缀。比如CIDR地址块的一些集合,授权对象为前缀列表时,注意该条规则会占用安全组规则的配额数,该条规则占用安全组规则的配额数量,为前缀列表最大条目数,与前缀列表中已有条目数量无关。这一点是需要注意的,下一个是授权策略,可以是允许或者是拒绝,优先级后面会重点去介绍。

 

下一个是规则的方向,就是出方向或者是入方向,还有规则的ID是表示是唯一组件,安全组规则基于协议类型、端口范围、授权对象来匹配流量,并基于授权策略来允许或拒绝放通流量。对于一般的入方向规则,授权对象匹配流量的来源地址、端口范围、匹配流量的目的地址,对于一般的出方向规则,授权对象匹配流量的目的是端口范围,匹配流量的目的端口,这一点是需要好好的去理解一下。本节重点讲解了安全组ACL的一个构成。下一节会讲解规则的排序策略。

 

image.png

 

安全组规则的排序依据,可以归纳成两点,第一点是考虑规则的优先级,优先级数值越小的规则,优先级越高,而高优先级的规则总是排在低优先级规则的前面;第二是考虑授权的策略,遵循拒绝规则优先的原则,在两条规则优先级行同时,授权策略的不拒绝的规则是排在授权策略允许的规则之前。

 

来举一个例子,直观理解一下,上面的图中,是有一个ECS加入了安全组A和安全组B,安全组AB分别有两条入方向的规则,安全组A和安全B的规则都对该ECS生效,所以访问ECS流量都会受到这些规则的约束,AB的两个安全组的规则排序后的结果。

 

首先,是按照优先级进行排序,所以是优先级为1的规则,sgr-4排在最前面,优先级为100的规则,sgr-2排在最后面,由于sgr-2sgr-3的优先级都是二,所以是按照策略进行排序,即拒绝优先,策略为拒绝的排在策略为允许的前面,由于sgr-3是拒绝,所以sgr-3它排在了sgr-2前面,100.0.0.0/8100.0.1.0/24的顶端不允许访问该ECS22端口,该断定的其他地址段可以访问该ECS22端口,也就是右侧图中蓝色线条中这个橙色的部分不允许访问,不允许访问该ECS,其他的部分都是允许的,本节讲解了安全组规则的排序策略,下一节讲解安全组规则的授权对象前缀列表。

 

image.png

 

有一种特殊的需求场景,比如,您在线下的 IDC 有大量的物理机通过公网IP访问服务,左图,最左边框里代表一个线下 IDC 的服务集群,这里面可能有 100 多个公网 IP,他们通过官网访问云上的两个集群,这两个集群分别位于安全组 A 和安全组 B,安全组和 A B 都需要放行这 100 多个公网 IP

 

现在有两种方案,第一种方案,不使用前缀列表的方案,要做的操作是为安全组 A B,分别添加允许线下 100 多个公共 ID 访问的入方向规则,这种方案的缺点是,第一运维成本高,需要做IP数乘以安全组数的次操作,也就是100 乘以 2200多次操作。第二个是每新增一个IP,需要维护每个安全组的规则,每新增一个IP需要有两次操作。

 

第二种方案,是使用前缀列表,使用前缀列表需要做如下操作:

∙        创建前缀列表。

∙        将线下IDC100IP加入到前缀列表中

∙        为安全组AB分别添加一条入方向允许访问的规则,规则的授权对象是在1中创建的集用列表

 

第二个方案极大的降低了运维成本,运维操作数就等于IP的数量,只需要去操作100次。并且攻击事件发生时,可以快速封禁恶意 IP。举个例子,假设线下IDC的这些公网IP是一些恶意的IP,对它进行封禁,发现一个恶意IP,只需要维护一下前缀列表就可以,它就会对所有的IP组都会生效,可以达到快速平定的目的。这就是使用安全组使用前缀列表的场景和介绍。

 

在云上的实践中,逐渐总结出来一套设置安全组规则的最佳实践,接下来会进行一下分享。

 

image.png

 

第一点规划,您可以为安全组设置名称描述,也可以设置安全组的标签资源组,便于进行分类运维,建议您合理设置这些信息,方便快速识别安全组用途,在管理较多安全组时,更加清晰。

 

第二点是以白名单的方式访问安全组,即默认拒绝所有访问,添加允许规则来放通指定的端口范围或者是授权对象。

 

第三是最小授权的原则,避免设置0.0.0.0的全通对象,第二是仅开放允许放开的IP段端口协议,开放 Linux 实例的 22 端口用于远程登录时,建议仅允许特定的 IP (如跳板机 IP)访问,而非所有IP0.0.0.0/0),减少被非法侵入风险。按照用途将规则维护在多个安全组中,并将实例关联到这些安全组。单个安全组的规则数量越多,会增加管理的复杂度,

 

第四点做好隔离,不同类型应用的实例,加入到不同的安全组,分别维护安全组的规则,例如将允许公网访问的实例关联到同一个安全组,仅放通对外提供服务端口,例如80/443,默认拒绝其他的所有访问,避免在允许公网访问的实例上提供一些微信的服务。内部比如 MySQLRedis 等,建议将这些内部的服务部署在不允许公网访问的实例上,并关联其他的安全组。

 

image.png

 

第五点避免直接修改线上环境使用的安全组,可以先克隆一个安全组在测试环境调试,能确保修改后流量是正常的,在对安全组的线上规则去进行变更。

 

第六点是利用组内互通,同一个安全组的ECS默认是可以互相访问的,可以将需要互相通信的ECS实例加入到同一个安全组,避免复杂的 ACL 维护。

 

第七点是利用组组授权,以安全组为授权对象添加规则,安全组规则中五元组中的来源和目的,都可以使用安全组,用户可以把部署相同服务的ECS统一放入到同一个安全组A中,将安全组A作为另外一个安全组规则B的来源并设置放行,安全组A中的ECS都可以访问B中的ECS,这样可以非常便捷的做好服务的隔离。

 

第八是使用前缀列表,正如上一节提到的,安全组规则,元素来源和目的都可以使用前缀列表,这样能够极大的降低运维成本,当攻击来临时,运维的越快,风险和损失就越小,讲解完原理和建议,接下来是一个实践环节。

 

image.png

 

 

可以通过控制台管理安全组的规则和成员:

 

第一是管理安全组规则,在ECS控制台安全组列表页选择具体的安全组,点击安全组详情,设置安全组的规则;

 

第二是管理安全组内的ECS或者弹性网卡。在ECS控制台,安全组列表页,选择具体的安全组,在实际列表页或者是网卡列表tab页面上管理安全组页的成员;

 

第三是更换ECS安全组,可以在ECS控制台实例列表页面选择具体的实例,有一个安全组的tab,点击修改安全组就可以更换ECS安全组,也可以使用OpenAPI管理安全组的规则和成员,下一节会讲解。

 

image.png

 

阿里云提供了管理安全组规则合成的六个核心API,他们可以添加安全组入方规则,添加安全组出方向规则,删除安全组入方规则,删除安全组出发规则,ECS或弹性网卡加入到安全组中,ECS或弹性网卡点击开安全组,右侧是一个请求的实例,可以通过common request或者是阿里云提供的SDK,对这些API进行调用,这就是流量控制的完整内容。


带你读《从基础到应用云上安全航行指南》——来上课!一文掌握守住ECS网络安全的最佳方法(3):

https://developer.aliyun.com/article/1441580

相关实践学习
借助OSS搭建在线教育视频课程分享网站
本教程介绍如何基于云服务器ECS和对象存储OSS,搭建一个在线教育视频课程分享网站。
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
7天前
|
人工智能 安全 网络安全
云计算与网络安全:构建安全的数字基石##
在当今数字化时代,云计算已成为推动企业创新和效率的关键驱动力。然而,随着数据上云,网络安全威胁也日益增多,对信息的保护提出了更高要求。本文将深入探讨云计算服务模型、面临的主要网络安全挑战,以及如何通过技术手段和管理策略来强化信息安全,确保数据的完整性、可用性和保密性。 ##
|
9天前
|
存储 SQL 安全
网络安全与信息安全:守护数字世界的坚盾在这个高度数字化的时代,网络安全和信息安全已经成为个人、企业乃至国家安全的重要组成部分。本文将深入探讨网络安全漏洞、加密技术以及安全意识的重要性,旨在为读者提供一个全面的网络安全知识框架。
随着互联网技术的飞速发展,网络安全问题日益凸显。从个人信息泄露到企业数据被盗,再到国家安全受到威胁,网络安全事件层出不穷。本文将从网络安全漏洞的定义与分类入手,探讨常见的网络攻击手段;随后深入解析加密技术的原理及其在保护信息安全中的作用;最后强调提升公众与企业的安全意识的重要性,并提出具体的建议。通过综合运用这些知识点,我们可以更好地构建起一道道坚固的防线,守护我们的数字世界。
|
9天前
|
存储 安全 网络安全
云计算与网络安全:构建安全的数字基石##
随着云计算技术的飞速发展,越来越多的企业和个人选择将数据和应用迁移到云端。然而,在享受云计算带来的便利和效率的同时,网络安全问题也日益凸显。本文将深入探讨云计算环境中的网络安全挑战,分析云服务、网络安全及信息安全等关键技术领域的现状与发展趋势,并提出相应的解决策略。 ##
|
2天前
|
存储 安全 网络安全
云计算与网络安全:技术融合下的安全挑战与机遇
【9月更文挑战第33天】随着云计算技术的飞速发展,企业和个人越来越依赖于云服务来处理和存储数据。然而,这也带来了前所未有的网络安全威胁。本文将探讨云计算环境下的网络安全挑战,包括数据泄露、身份盗用等,并讨论如何通过加强访问控制、使用加密技术和实施安全策略来保护信息安全。文章还将分享一些实际的代码示例,帮助读者更好地理解和应用这些安全措施。
99 70
|
8天前
|
人工智能 供应链 安全
网络安全与信息安全:构建数字世界的坚固防线在当今数字化时代,网络安全已成为维护个人隐私、企业机密和国家安全的重要基石。本文旨在探讨网络安全漏洞、加密技术及安全意识等关键领域,通过深入浅出的方式,引导读者理解网络安全的核心要素,并分享实用的防护策略,共同守护我们的数字世界。
随着互联网技术的飞速发展,网络安全威胁日益凸显,成为全球关注的焦点。本文聚焦网络安全的三大核心议题——网络安全漏洞、加密技术与安全意识,旨在揭示它们之间的相互关联与重要性。通过剖析真实案例,展现网络攻击的复杂性与破坏力;解析加密技术的原理与实践,强调其在保护数据安全中的关键作用;同时,倡导提升公众安全意识,构建多层次的网络安全防护体系。本文不仅为专业人士提供技术参考,也旨在提高普罗大众的网络安全认知,共同筑牢数字世界的安全防线。
|
6天前
|
机器学习/深度学习 安全 网络安全
云计算与网络安全的融合:构建安全高效的云服务体系
本文深入探讨了云计算与网络安全之间的紧密联系,特别是在云服务、网络安全和信息安全等关键技术领域。随着云计算技术的迅猛发展,数据安全成为企业和组织面临的主要挑战之一。通过分析当前云服务中的安全漏洞和威胁,本文提出了一系列增强云计算环境安全性的策略和技术措施,包括加密技术、访问控制、身份验证以及安全审计等。此外,还讨论了未来云计算和网络安全技术的发展趋势,强调了技术创新在提高数据处理效率和保护信息安全中的重要性。
|
6天前
|
存储 安全 网络安全
云计算与网络安全:探索云服务的安全挑战与应对策略
【9月更文挑战第29天】本文将深入探讨云计算环境下的网络安全问题,分析云服务中存在的安全威胁,并提出相应的防护措施。我们将从云基础设施、数据保护、身份管理等方面进行讨论,并提供一些实用的代码示例来展示如何增强云服务的安全性。
|
5天前
|
SQL 安全 算法
网络安全的盾牌与剑:漏洞防御与加密技术的实战应用
【9月更文挑战第30天】在数字时代的浪潮中,网络安全成为守护信息资产的关键防线。本文深入浅出地探讨了网络安全中的两大核心议题——安全漏洞与加密技术,并辅以实例和代码演示,旨在提升公众的安全意识和技术防护能力。
|
8天前
|
存储 关系型数据库 MySQL
查询服务器CPU、内存、磁盘、网络IO、队列、数据库占用空间等等信息
查询服务器CPU、内存、磁盘、网络IO、队列、数据库占用空间等等信息
55 5
|
12天前
|
监控 安全 网络安全
云计算与网络安全:构建安全的数字基石##
本文深入探讨了云计算与网络安全之间的紧密联系,阐述了云服务、网络安全及信息安全等关键技术领域的现状与挑战。通过分析云计算的发展趋势及其在网络安全方面的重要性,提出了一系列加强云服务安全性的策略和措施。同时,强调了信息安全在维护网络空间稳定中的核心地位,呼吁业界共同努力,构建一个更加安全、可靠的数字环境。 ##

相关产品

  • 云服务器 ECS
  • 下一篇
    无影云桌面