玩转ECS第5讲 | 弹性计算安全组最佳实践及新特性介绍

简介: 本次内容由阿里云智能技术专家王帝(丞浩)为大家介绍如何正确使用安全组、最佳实践以及新特性;详细了解安全组为何是云端的虚拟防火墙,以及为何是重要的网络隔离手段。

演讲嘉宾简介:王帝(丞浩),阿里云技术专家,2017年10月加入阿里云弹性计算团队,主要负责网络安全组的优化和演进。

以下内容根据演讲视频以及PPT整理而成。观看回放
更多课程请进入“玩转ECS详情页”了解

使用过ECS的朋友一定不会对安全组陌生,他是ECS实例的虚拟防火墙。配置安全组是创建ECS实例或者发生网络属性变更必不可少的一步。下面我就为大家分享一下安全组的相关内容。

本次分享主要围绕以下三个部分,安全组的简介,基本操作和最佳实践。

一、安全组简介

ECS网络访问控制

首先什么是安全组,阿里云ECS的网络访问控制,是由子网ACL和安全组两层实现的。大家知道阿里云提供VPC专有网络,是用户独有的云上私有网络。VPC专用网络为用户独立出一块网络区域,使得用户可以自行规划自己的网段,在没有配置公网IP的情况下,VPC是完全与外界隔离的。

image.png

交换机绑定网络ACL,ACL会对应一些控制规则,所有经过交换机的网络流量都需经过这些规则,一般配置的是黑名单规则(当然也支持指定白名单),例如不允许哪些网端的数据包流入或流出。

再往下一层就是我们今天要讲的安全组,相对于子网ACL是生效在交换机上,安全组实例级别的防火墙,生效在ECS上面。所有经过用户的ECS网络流量都需经过安全组。

安全组是一种虚拟防火墙,具备状态检测和数据包过滤能力,用于在云端划分安全域。通过配置安全组规则,您可以控制安全组内ECS实例的入流量和出流量。

安全组是一个逻辑上的分组,由同一地域内具有相同安全保护需求并相互信任的实例组成。此外,安全组与子网ACL之间的明显区别是安全组具有状态,安全组会自动允许返回的数据流不受任何规则的影响,简单来说就是主动请求别人就一定会收到回包。而交换机则不是,入流量也会走一遍所设置的子网ACL规则,如果被拦截是收不到回包的。有些用户会将安全组与iptables对比,其实这两者是独立的。

阿里建议用户单独使用安全组,如果用户的场景需要配置iptables,ECS也是完全支持的。相对于子网ACL的黑名单方式,安全组一般是白名单。

ECS或弹性网卡必须至少属于一个安全组,安全组组内默认互通可以配置规则控制网络联通。

二、安全组的基本操作

下面再给大家分享一下在阿里云ECS控制台是如何操作管理安全组的。

为了方便理解,我们把对安全组的操作暂时分为两类,组的操作和规则的操作。

组的操作是针对安全组本身的操作,比如创建、删除、改名字,以及可能导致安全组内IP发生变化的操作,还有组内添加实例网卡、替换组等。规则的操作则是改变组内规则的操作,比如添加,删除,修改,克隆等操作。

image.png

先说组的操作,比如组内加减实例,网卡等操作比较简单,我们就不特别介绍了,重点介绍一下替换组。

替换组:实例可以从组A替换到组B,在替换过程中不会发生网络闪断或抖动的情况,用户只需保证新老组的规则是兼容的,在整个替换过程中不会对网络有任何的影响和抖动。

image.png

再说规则的操作,我们重点介绍一下还原,导出导入,Classic Link和克隆组。

image.png


**
规则还原:**对两组规则进行合并或替换,一般在做实验性质的网络变更之前可以先克隆出一个组,测试后可以通过规格还原功能恢复成原来的样子。下图为规格还原的页面,展示出哪些规格为新增哪些为删除。

image.png

导出导入:将安全组下载成JSON文件或是CSV文件用于备份。

Classic Link:通过添加一条安全组规则实现VPC和经典网络之间的网络联通。

image.png

克隆组:克隆组支持跨地域或跨网络类型的安全组复制,可以从经典网络到VPC或是到一个新Regen并快速复制一个组。

image.png

三、最佳实践

最后再给大家介绍一下比较好的安全组配置实践,比如如何合理的配置规则,如何使用五元组,如何基于安全组做断网演练。

安全组规则格式

image.png

首先先介绍一下安全组规则配置有两种方式:
CIDR:图中示例展示,授权192.168.0.0/24的地址DR机器访问22端口。
组织授权:图中示例展示,拒绝另一组访问的所有端口,完全切断两组之间的流量。
以上两个示例都为入方向规则,一般情况下不知道对方使用哪个端口接连自己,所以不限制,区别在于自己任选哪个端口对外暴露给任意对象。

相对于上图的四元组,阿里也支持五元组。


image.png

五元组为五个参数:源地址、源端口、目的地址、目的端口、传输层协议,相比四元组多了目的地址。以入方向规则为例,使用五元组可以实现不放行整个组,可单独放行某一个IP段,这样某些平台内网络服务为了防范第三方产品对用户ECS的实例发起非法访问,需要在安全组内设置五元组规则,更精确的控制出和入的流量。另外,如果用户组内联通策略是拒绝场景,想精确控制组内ECS之间的联通策略也需要使用五元组。五元组场景较为特殊,而绝大多数场景四元组是可以胜任的。

规则配置建议

先规划对于分布式应用来说,不同的应用类型应放到不同组中。使用白名单方式管理安全组,不建议用户使用先加一条低优先级全通,再逐条拒绝的方式。要慎用0.0.0.0/0全通策略。遵守规则最小化配置原则。尽量使用CIDR段,因为单组容量有限,而且CIDR地址段更容易扩展和维护。不限制协议使用all,不是每个协议都配一遍。安全组规则变更非常高危,要认真写好备注以便于后续的维护。

image.png

潜在高危安全组概览

阿里云ECS会定期检查用户的实例,如果实例暴露在公共环境并且开放高危端口,阿里会对用户做出预警,且用户在资源概览页面中可以查看自己的高危安全组。

image.png

如何给应用划分安全组

为了避免测试环境和正式环境之间互相干扰,阿里会将测试环境和正式环境放在不同VPC中进行隔离。将有公网服务放在一组内网服务放在一组。不同应用类型应使用不同安全组,例如Web服务、应用服务、数据库或缓存,都应该放在不同安全组中。下图中的示例,由于都需使用跳板机,所以都授权了跳板机组G1,Web服务器需要联通应用服务器,应用服务器又需要联通数据库,所以分别做了组组授权。这样做完网络安全组的规划使得应用分层清晰,便于后续的维护,同时也满足了隔离性和安全性的要求。

image.png

使用安全组进行断网演练

基于安全组可进行断网演练用于高可用容灾或混沌工程等场景,如下图中case,演练数据挂掉时系统的表现,可以将此DB加入专门的断网组,断网组+全阻断规格来实现快速规模化断网。

image.png

拆解断网过程

image.png

创建断网组:因为组内默认联通策略是组内互通的,所以先改为组内不互通。
加入实例:先将演练数据库加入断网组内,这时对业务无任何影响且正常运行。
添加规则:当真正进行断网演练时需要执行该步骤,给断网组出和入各加一条全阻断规则,加完后此时服务器的流量就会完全被切断。
删除规则:当演练完毕后,需要将全阻断规则删除,即可恢复业务。
如果需要不定期做容灾演练,只需重复步骤三、四即可。

企业级安全组

传统安全组组内容量上限是2000IP,如要进行更大规模则需使用企业组,企业组支持单组60000以上的IP,未来支持的容量会更多。

image.png

典型的企业组场景例如阿里云的容器服务ACK或是用户自建K8s集群,其实ECS只是作为S层,ECS之间只需网络互通即可。容器的网络访问控制并不是安全组实现的,而是通过Network Policy等方式来实现的。下图中的示例显示是较为常见的部署方式,VPC下挂两个虚拟交换机分别在两个可用区做跨地域容灾,将所有实例放入一个组中,无需复杂的规则配置,只需配置内网全通和出方向全通就可实现VPC内互通。下图中只配置了三条规则,两条入方向全通和一条出方向全通,这是较为常见的容器服务安全组架构。如果用户不需要组组授权并且对组内的实例规模有要求,那么请使用企业级安全组。如果当前传统组想切换至企业组,有两种方式可实现,第一种新建一个企业组后采用替换组的方式将实例逐个挪入到企业组中,第二种是阿里协助用户将原来的传统组升级成企业组。

云产品托管安全组

用户在使用阿里云云产品时,如云防火墙、NAT网关等,云产品都会替用户创建安全组,为了避免用户误操作造成产品不可用,阿里采用了托管模式,托管组即用户可建不可操作,避免产生问题。

image.png

以上是对本次分享的全部,希望对大家有所帮助,谢谢各位。


关注百晓生,笑谈云计算

二维码-三分之一.gif

相关实践学习
2分钟自动化部署人生模拟器
本场景将带你借助云效流水线Flow实现人生模拟器小游戏的自动化部署
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情: https://www.aliyun.com/product/ecs
相关文章
|
3月前
|
安全 Ubuntu 应用服务中间件
Web服务器安全最佳实践
【8月更文第28天】随着互联网的发展,Web服务器成为了企业和组织的重要组成部分。然而,这也使得它们成为黑客和恶意软件的目标。为了确保数据的安全性和系统的稳定性,采取适当的安全措施至关重要。本文将探讨一系列保护Web服务器的最佳策略和技术,并提供一些实用的代码示例。
280 1
|
15天前
|
缓存 负载均衡 监控
性能优化:Node.js高效服务器开发技巧与最佳实践
【10月更文挑战第29天】在Node.js服务器开发中,性能优化至关重要。本文介绍了几种高效开发的最佳实践,包括使用缓存策略、采用异步编程、实施负载均衡和性能监控。通过示例代码展示了如何实现这些技术,帮助开发者构建更快、更稳定的Node.js应用。
33 2
|
1月前
|
存储 数据库 虚拟化
无缝过渡:企业级服务器迁移的策略与最佳实践
【10月更文挑战第4天】随着企业数字化转型的加速,服务器迁移成为企业IT基础设施升级的重要环节。本文从架构与规划的视角,探讨了企业级服务器迁移的策略与最佳实践,旨在帮助企业实现无缝过渡,降低迁移风险,提高迁移效率。
143 4
|
1月前
|
SQL 安全 网络安全
守护数字资产:服务器迁移期间的安全挑战与对策
【10月更文挑战第4天】在数字化转型的浪潮中,服务器迁移成为企业不可避免的任务。然而,迁移过程中的安全挑战不容忽视。本文从安全考量的角度,探讨了服务器迁移期间可能遇到的安全问题,并提供了相应的对策和代码示例。
52 3
|
17天前
|
存储 弹性计算 调度
如何选适合的云服务器?双十一弹性计算爆品推荐
弹性计算双十一爆品清单,每一款产品都带来了超值优惠!精彩不容错过!
|
1月前
|
弹性计算 安全 网络协议
如何创建VPC并配置安全组以保护您的阿里云服务器
如何创建VPC并配置安全组以保护您的阿里云服务器
|
3月前
|
Shell 网络安全 数据安全/隐私保护
使用 Python 远程登陆服务器的最佳实践
使用 Python 远程登陆服务器的最佳实践
|
3月前
|
缓存 NoSQL 数据库
Web服务器与数据库优化:提升系统性能的最佳实践
【8月更文第28天】在现代的Web应用中,Web服务器与后端数据库之间的交互是至关重要的部分。优化这些组件及其相互作用可以显著提高系统的响应速度、吞吐量和可扩展性。本文将探讨几种常见的优化策略,并提供一些具体的代码示例。
166 1
|
3月前
|
缓存 运维 监控
打造稳定高效的数据引擎:数据库服务器运维最佳实践全解析
打造稳定高效的数据引擎:数据库服务器运维最佳实践全解析
|
3月前
|
Rust 安全 开发者
惊爆!Xamarin 携手机器学习,开启智能应用新纪元,个性化体验与跨平台优势完美融合大揭秘!
【8月更文挑战第31天】随着互联网的发展,Web应用对性能和安全性要求不断提高。Rust凭借卓越的性能、内存安全及丰富生态,成为构建高性能Web服务器的理想选择。本文通过一个简单示例,展示如何使用Rust和Actix-web框架搭建基本Web服务器,从创建项目到运行服务器全程指导,帮助读者领略Rust在Web后端开发中的强大能力。通过实践,读者可以体验到Rust在性能和安全性方面的优势,以及其在Web开发领域的巨大潜力。
39 0

相关产品

  • 云服务器 ECS