云服务器ECS安全组实践(一)

简介: 应用上云除了对资源生命周期管理和应用交付是一个转变,更重要是思维方式的转变。本篇文章就简单介绍下上云的一个重要概念安全组(Security Group)。本文是安全组系列的第一篇,主要介绍安全组的基本概念、约束和如何配置入网规则。

应用上云除了对资源生命周期管理和应用交付是一个转变,更重要是思维方式的转变。本篇文章就简单介绍下上云的一个重要概念安全组(Security Group)。本文是安全组系列的第一篇,主要介绍安全组的基本概念、约束和如何配置入网规则。

安全组的基本概念和约束

安全组在云端提供类似虚拟防火墙功能,用于设置单个或多个 ECS 实例的网络访问控制,它是重要的安全隔离手段。在创建 ECS 实例时,必须选择一个安全组。您还可以添加安全组规则,对该安全组下的所有 ECS 实例的出方向和入方向进行网络控制。

安全组有下面的限制:

  • 每个账户最多可以建立50个安全组,每个安全组最多100个安全组规则
  • 一个实例最多可以加入5个同种网络类型的安全组
  • 同一个安全组之内的资源默认是网络通的,不同安全组之间的资源默认是网络不通
  • 安全组应该是白名单的性质的,所以需要尽量开通最小的权限,默认拒绝所有的访问
  • 单个安全组最大支持1000个实例
    当您创建一个安全组的时候,默认规则均为出方向 accept all,入方向 deny all。安全组的出入规则,很多客户在使用的时候并没有按照自己的应用规范划分。使得自己的应用加大了收到攻击的风险。

安全组的出入规则可以参见下面的文档:

  • 安全组In方向的访问权限设置
  • 安全组Out方向的访问权限设置
    除了可以限制IP和CIDR网段之外,安全组的出入规则可以直接引用另外一个安全组,这样就避免了有些时候CIDR或者IP的不灵活,直接对另外一个安全组中的资源授权。通过这样间接的可以通过安全组对应用进行分层。

  • 安全组的入网规则,可以设置为另外一个相同网络类型(“专有网络”或”经典网络”)的安全组。属性为SourceGroupId

  • 安全组的出网规则,可以设置为另外一个相同网络类型(“专有网络”或”经典网络”)的安全组。属性为DestGroupId
  • 出入规则是可以设置Priority来设置权重,1为最高,100为最低
  • 安全组也支持跨帐号授权,这个属于高级功能,我们在以后的文章介绍
    在上云的时候,很多的客户没有重视安全组的出入规则的设置和长远的规划,影响了自己的业务扩展性。合理的规划安全组是能帮助应用降低被攻击的风险,同时可以帮助应用之间的结构和层次更清晰。下面是安全组最佳实践的第一篇。

最佳实践

在开始安全组的实践之前,下面有一些基本的建议。

  • 首先安全组应该作为白名单使用, 这是最重要的规则。
    使用最小的原则开放自己的应用出入规则,例如可以选择开放具体的端口例如80。
  • 使用一个安全组来管理所有的应用将会非常难以配置,因为不同的分层一定有不同的需求。
  • 对于今天的常见的分布式应用来说,不同的应用类型应该使用不同的安全组,例如我们对Web、Service、Database、Cache层使用不同的安全组暴漏不同的出入规则和权限。
  • 也没有必要为每个实例设置一个安全组,这样管理起来的成本也非常高。
  • 优先考虑VPC网络
  • 不需要公网访问的资源不要提供公网IP
  • 因为一个实例可以分配多个安全组,所以一个实例可能同时应用数百条规则。我们聚合所有分配的安全规则以判断是否允许流入或留出,但庞大的安全组规则可能会增加您管理上的复杂程度。因此,我们建议您尽可能保持单个安全组的规则简洁。
    调整线上的安全组的出入规则是比较危险的动作,如果您不确定的情况下不要随意的更新安全组的出入规则的设置。 阿里云的控制台提供了克隆安全组和安全组规则的功能,您在修改安全组和规则的时候建议Clone一个相同的安全组,然后进行调试,避免直接影响线上应用。

本文先介绍一些安全组的入网规则的实践建议。

1. 不要使用0.0.0.0/0的入网规则

允许全部入网访问是经常犯的错误。使用0.0.0.0/0意味着所有的端口都对外暴漏了访问权限。这个是非常的不安全的。因此正确的做法是首先拒绝所有的端口对外开放。安全组应该是白名单访问。如果您需要暴漏服务,如果是Web服务,默认情况下可以只开放 80、8080、443之类的常用TCP端口。其它的端口都关闭。

{
    "IpProtocol" : "tcp", "FromPort" : "80", "ToPort" : "80", "SourceCidrIp" : "0.0.0.0/0", "Policy": "accept"} ,
          {
    "IpProtocol" : "tcp", "FromPort" : "8080", "ToPort" : "8080", "SourceCidrIp" : "0.0.0.0/0", "Policy": "accept"} ,
          {
    "IpProtocol" : "tcp", "FromPort" : "443", "ToPort" : "443", "SourceCidrIp" : "0.0.0.0/0", "Policy": "accept"} ,

2. 关闭不需要的入网规则

如果您当前使用的入规则已经包含了0.0.0.0/0。首先您要重新审视下自己的应用需要对外暴漏的端口和服务。在确定某些端口是不想直接对外提供服务的可以加一条拒绝的规则。如果您的服务器上也自己安装了Mysql数据库服务,默认情况下您是不应该暴漏3306到公网的。您可以添加一条拒绝规则如下所示,下面的规则添加了一条拒绝规则。先将其设置的优先级为100,优先级最低。

{
    "IpProtocol" : "tcp", "FromPort" : "3306", "ToPort" : "3306", "SourceCidrIp" : "0.0.0.0/0", "Policy": "drop", Priority: 100} ,

上面的调整直接将导致所有的端口都不能访问3306。这样非常有可能阻止您的正常的业务需求。您可以通过授权另外一个安全组的资源进行如规则访问。

3. 授权另外一个安全组入网访问

不同的安全组按照最小原则开放相应的出入规则。对于不同的应用分层应该使用不同的安全组,不同的安全组相应的出入规则。

例如对于常见的分布式应用,我们都会区分不同的安全组,由于不同的安全组可能网络是不能通讯的,这个时候直接授权IP或者CIDR网段就是非常痛苦的,我们可以直接授权另外一个安全组id的所有的资源都可以直接访问。例如我们的应用对Web、Database创建了不同的安全组, sg-web, sg-databse。在sg-database中我们可以加一条下面的规则,授权所有的sg-web安全组的资源可以访问我们的3306端口。

{
    "IpProtocol" : "tcp", "FromPort" : "3306", "ToPort" : "3306", "SourceGroupId" : "sg-web", "Policy": "accept", Priority: 2} ,

4. 授权另外一个CIDR可以入网访问

经典网络中由于网段不太可控,我们建议您使用安全组ID来授信入网规则,但是VPC中我们的IP地址是可以自己规划的,您可以通过不同的VSwitch来设置不同的IP域。

在VPC环境中,我们可以默认的拒绝所有的访问。然后授信自己的专有网络的网段可以访问。通过直接授信可以相信的CIDR网段。

{
    "IpProtocol" : "icmp", "FromPort" : "-1", "ToPort" : "-1", "SourceCidrIp" : "10.0.0.0/24", Priority: 2} ,
          {
    "IpProtocol" : "tcp", "FromPort" : "0", "ToPort" : "65535", "SourceCidrIp" : "10.0.0.0/24", Priority: 2} ,
          {
    "IpProtocol" : "udp", "FromPort" : "0", "ToPort" : "65535", "SourceCidrIp" : "10.0.0.0/24", Priority: 2} ,

5. 变更安全组规则步骤和说明

变更安全组规则可能会导致您的实例间网络通信受到影响,为避免必要的网络通信受到影响,请尝试以下方法先放行必要的实例,再执行安全组策略收紧变更。执行收紧变更后请观察一段时间,确认业务应用无异常后再执行其它必要的变更

  • 将需要互通访问的实例,加入同一个安全组再执行变更操作。您可以选择新建一个安全组,将需要互通的实例加入这个新的安全组后,安全组内的实例内网即可互通。
  • 将需要互通访问的对端实例所绑定的安全组ID,添加到实例安全组授权规则中;
  • 将需要互通访问的对端实例内网IP,添加到实例安全组授权规则中;
    具体操作指引请参见 安全组设置内网互通的方法

本篇主要是入网规则的一些实践。下面我们将介绍 云服务器ECS安全组实践(二), 将涉及云服务器的安全规则细节和将云服务器加入和移除安全组。

相关实践学习
2分钟自动化部署人生模拟器
本场景将带你借助云效流水线Flow实现人生模拟器小游戏的自动化部署
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
13天前
|
存储 缓存 固态存储
阿里云服务器租用价格参考,云服务器收费标准与活动价格表参考
本文为大家展示阿里云服务器最新的收费标准与活动价格情况,以供了解和参考。
阿里云服务器租用价格参考,云服务器收费标准与活动价格表参考
|
6天前
|
存储 弹性计算 运维
端到端的ECS可观测性方案,助力云上业务安全稳定
本文介绍了云原生时代保障业务系统可靠性的方法和挑战,重点探讨了阿里云ECS在提升业务稳定性、性能监控及自动化恢复方面的能力。文章分为以下几个部分:首先,阐述了业务可靠性的三个阶段(事前预防、事中处理、事后跟进);其次,分析了云上业务系统面临的困难与挑战,并提出了通过更实时的监测和自动化工具有效规避风险;接着,详细描述了ECS实例稳定性和性能问题的解决方案;然后,介绍了即将发布的ECS Lens产品,它将全面提升云上业务的洞察能力和异常感知能力;最后,通过具体案例展示了如何利用OS自动重启和公网带宽自适应调节等功能确保业务连续性。总结部分强调了ECS致力于增强性能和稳定性的目标。
|
3天前
|
弹性计算 安全 搜索推荐
阿里云国际站注册教程:阿里云服务器安全设置
阿里云国际站注册教程:阿里云服务器安全设置 在云计算领域,阿里云是一个备受推崇的品牌,因其强大的技术支持和优质的服务而受到众多用户的青睐。本文将为您介绍阿里云国际站的注册过程,并重点讲解如何进行阿里云服务器的安全设置。
|
3天前
|
人工智能 监控 测试技术
阿里云磐久服务器稳定性实践之路
阿里云服务器质量智能管理体系聚焦自研服务器硬件层面的极致优化,应对高并发交付、短稳定性周期、早问题发现和快修复四大挑战。通过“三个重构”(质量标准、开发流程、交付模式)、“六个归一”(架构、硬件、软件、测试、部件、制造)策略,实现芯片、整机和云同步发布,确保快速稳定上量。此外,全场景测试体系与智能预警、分析、修复系统协同工作,保障服务器在萌芽阶段发现问题并及时解决,提升整体质量水平。未来,阿里云将继续深化大数据驱动的质量管理,推动服务器行业硬件质量的持续进步。
|
4天前
|
存储 人工智能 运维
面向AI的服务器计算软硬件架构实践和创新
阿里云在新一代通用计算服务器设计中,针对处理器核心数迅速增长(2024年超100核)、超多核心带来的业务和硬件挑战、网络IO与CPU性能增速不匹配、服务器物理机型复杂等问题,推出了磐久F系列通用计算服务器。该系列服务器采用单路设计减少爆炸半径,优化散热支持600瓦TDP,并实现CIPU节点比例灵活配比及部件模块化可插拔设计,提升运维效率和客户响应速度。此外,还介绍了面向AI的服务器架构挑战与软硬件结合创新,包括内存墙问题、板级工程能力挑战以及AI Infra 2.0服务器的开放架构特点。最后,探讨了大模型高效推理中的显存优化和量化压缩技术,旨在降低部署成本并提高系统效率。
|
20天前
|
弹性计算 运维 安全
阿里云轻量应用服务器与ECS的区别及选择指南
轻量应用服务器和云服务器ECS(Elastic Compute Service)是两款颇受欢迎的产品。本文将对这两者进行详细的对比,帮助用户更好地理解它们之间的区别,并根据自身需求做出明智的选择。
|
1月前
|
SQL 弹性计算 安全
阿里云服务器产品详情介绍:云服务器是什么、应用场景、租用流程、使用教程参考
对于很多新手用户来说,阿里云服务器是什么、阿里云服务器可以干嘛、阿里云服务器租用价格表、阿里云服务器新手教程是很多用户对于阿里云服务器最为关心的问题。同时,面对琳琅满目的服务器配置和优惠活动,如何选择最适合自己的服务器并充分利用其资源,成为许多用户面临的难题。本文将从阿里云服务器的定义、应用场景、价格、租用流程以及使用技巧等方面进行全面解析,帮助用户更好地了解和应用阿里云服务器。
|
24天前
|
弹性计算 安全 开发工具
灵码评测-阿里云提供的ECS python3 sdk做安全组管理
批量变更阿里云ECS安全组策略(批量变更)
|
2月前
|
存储 弹性计算 安全
阿里云服务器ECS详解:云服务器是什么,云服务器优势和应用场景及价格参考
云服务器ECS是阿里云众多云产品中,最受用户关注的产品,阿里云服务器提供多样化的计算能力,支持x86、Arm架构,涵盖CPU、GPU等多种服务器类型,满足各种用户需求。本文为大家详细介绍阿里云服务器是什么?云服务器的优势和应用场景,以及最新价格情况,以供大家参考。
|
2月前
|
弹性计算 固态存储 Linux
阿里云服务器、轻量应用服务器、gpu云服务器收费标准与实时活动价格参考
云服务器ECS、轻量应用服务器和gpu云服务器是阿里云的主要云服务器产品,目前轻量应用服务器2核2G收费标准为60元/月,活动价格只要36元/1年或68元1年,云服务器1核1G包月收费标准最低为24.0元/月,GPU云服务器中gn6i实例4核15G配置月付1681.00/1个月起,gn6v实例8核32G配置月付3817.00/1个月起。本文为大家整理汇总了阿里云服务器、轻量应用服务器、gpu云服务器的最新收费标准与活动价格情况,以表格形式展示给大家,以供参考。

热门文章

最新文章