【ECS】ECS安全组实践——入方向规则的最佳实践

简介: 本文介绍配置安全组的入方向规则的最佳实践。您可以通过配置安全组规则,允许或禁止安全组内的ECS实例对公网或私网的访问。

安全组实践建议

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

在使用安全组前,您应先了解以下实践建议:

  • 最重要的规则:安全组应作为白名单使用。
  • 开放应用出入规则时应遵循最小授权原则。例如,您可以选择开放具体的端口,如80端口。
  • 不应使用一个安全组管理所有应用,因为不同的分层一定有不同的需求。
  • 对于分布式应用来说,不同的应用类型应该使用不同的安全组,例如,您应对Web层、Service层、Database层、Cache层使用不同的安全组,暴露不同的出入规则和权限。
  • 避免为每台实例单独设置一个安全组,控制管理成本。
  • 优先考虑专有网络VPC。
  • 不需要公网访问的资源不应提供公网IP。
  • 尽可能保持单个安全组的规则简洁。因为一台实例最多可以加入五个安全组,一个安全组最多可以包括200条安全组规则,所以一台ECS实例可能同时应用数百条安全组规则。您可以聚合所有分配的安全规则以判断是否允许流入或流出,但是,如果单个安全组规则很复杂,就会增加管理的复杂度。
  • 阿里云的控制台提供了克隆安全组和安全组规则的功能。如果您想要修改线上的安全组和规则,您应先克隆一个安全组,再在克隆的安全组上进行调试,避免直接影响线上应用。
    说明 调整线上的安全组的出入规则是比较危险的动作。如果您无法确定,不应随意更新安全组出入规则的设置。


避免设置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"} ,


关闭不需要的入网规则

如果您当前使用的入规则已经包含了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端口,极有可能会阻止您正常的业务需求。此时,您可以通过授权另外一个安全组的资源进行入规则访问。


以安全组为授权对象添加规则

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

例如,如果是分布式应用,您会区分不同的安全组,但是,不同的安全组可能网络不通,此时您不应该直接授权IP或者CIDR网段,而是直接授权另外一个安全组ID的所有的资源都可以直接访问。例如,您的应用对Web、Database分别创建了不同的安全组:sg-web和sg-database。在sg-database中,您可以添加如下规则,授权所有的sg-web安全组的资源访问您的3306端口。

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


以IP地址段为授权对象添加规则

经典网络中,因为网段不太可控,建议您使用安全组ID来授信入网规则。

VPC网络中,您可以自己通过不同的vSwitch设置不同的IP域,规划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} ,


变更安全组规则步骤

变更安全组规则可能会影响您的实例间的网络通信。为了保证必要的网络通信不受影响,您应先尝试以下方法放行必要的实例,再执行安全组策略收紧变更。


说明 执行收紧变更后,应观察一段时间,确认业务应用无异常后再执行其它必要的变更。


  • 新建一个安全组,将需要互通访问的实例加入这个安全组,再执行变更操作。
  • 如果授权类型为安全组访问,则将需要互通访问的对端实例所绑定的安全组ID添加为授权对象。
  • 如果授权类型为地址段访问,则将需要互通访问的对端实例内网IP添加为授权对象。

具体操作指引请参见添加安全组规则

相关实践学习
通义万相文本绘图与人像美化
本解决方案展示了如何利用自研的通义万相AIGC技术在Web服务中实现先进的图像生成。
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情: https://www.aliyun.com/product/ecs
相关文章
|
2月前
|
人工智能 自然语言处理 安全
Python构建MCP服务器:从工具封装到AI集成的全流程实践
MCP协议为AI提供标准化工具调用接口,助力模型高效操作现实世界。
499 1
|
4月前
|
弹性计算
阿里云服务器公网带宽收费标准:按固定带宽和使用流量计费规则
阿里云ECS公网带宽提供两种计费模式:按固定带宽和按使用流量计费。按固定带宽适合稳定需求场景,费用基于带宽值与使用时长;按使用流量计费适用于波动需求场景,按实际流量线性收费。出网流量收费,入网免费,带宽限制分别为100 Mbps(按流量)和200 Mbps(包年包月)。用户可根据业务特点选择最优方案,结合CDT免费流量额度进一步降低成本。详情参考官方文档。
|
3月前
|
云安全 弹性计算 安全
阿里云服务器安全功能解析:基础防护与云安全产品参考
在使用云服务器的过程中,云服务器的安全问题是很多用户非常关心的问题。阿里云服务器除了提供基础的防护之外,还提供了一系列安全防护类云产品,以确保用户云服务器的安全。本文将详细介绍阿里云服务器的基础安全防护有哪些,以及阿里云的一些安全防护类云产品,帮助用户更好地理解和使用阿里云服务器的安全功能。
|
7月前
|
存储 弹性计算 安全
阿里云服务器付费类型、地域、镜像、存储、带宽和安全组设置与选择注意事项参考
在我们通过自定义购买的方式购买阿里云服务器器ECS时,会有多个选项,有的新手用户可能并不是很清楚这些选项是什么,选择或设置时需要注意什么,本文将从付费类型、地域与可用区、镜像、存储、带宽和安全组等多个方面,为您详细解析云服务器购买过程中各个参数与配置的选择注意事项,以供参考。
431 66
|
6月前
|
安全 Linux
阿里云linux服务器使用脚本通过安全组屏蔽异常海外访问ip
公网网站可能会遭受黑客攻击导致访问异常,使用此脚本可以屏蔽掉异常IP 恢复访问。也可自行设置定时任务定期检测屏蔽。
487 28
|
7月前
|
人工智能 安全 Linux
安全体检 | 服务器的终极卫士
阿里云的安全体检是为用户提供的一项免费安全检测工具,旨在通过调用云安全中心和配置审计中的安全检测能力,汇总检测结果,涵盖病毒攻击、风险配置和服务器漏洞三方面。该服务帮助用户及时发现并解决潜在的安全问题,提升云上安全水平。与云服务诊断不同,安全体检更侧重于深层次的安全检测,确保服务器的安全稳定运行。
安全体检 | 服务器的终极卫士
|
7月前
|
弹性计算 Linux 云计算
阿里云操作系统控制台——ECS操作及云计算应用实践
本文详细介绍了云服务器ECS的使用流程,包括开通服务、系统配置、权限管理、组件安装及内存全景诊断等关键步骤。通过开通阿里云操作系统服务、授予RAM用户权限和安装必要组件,可实现对服务器的有效管理与维护。在内存诊断部分,展示了如何发起诊断并解析结果,帮助精准定位内存问题。此外,文章还讲解了利用ECS训练模型的操作方法,从上传文件到终端命令执行,直至完成模型训练。最后总结指出,掌握这些技能不仅提升了对云服务器架构的理解,还为实际业务提供了高效解决方案,展现了ECS在数据处理与分析中的重要价值。
342 8
阿里云操作系统控制台——ECS操作及云计算应用实践
|
7月前
|
云安全 弹性计算 安全
阿里云服务器安全攻略参考:基础防护与云安全产品简介
在使用云服务器的过程中,云服务器的安全问题是很多用户非常关心的问题,阿里云服务器除了提供基础的防护之外,我们也可以选择其他的云安全类产品来确保我们云服务器的安全。本文为您介绍阿里云服务器的基础安全防护机制,以及阿里云提供的各类云安全产品,帮助用户全面了解并选择合适的防护手段,为云上业务保驾护航。
755 11
|
8月前
|
Kubernetes 监控 Serverless
基于阿里云Serverless Kubernetes(ASK)的无服务器架构设计与实践
无服务器架构(Serverless Architecture)在云原生技术中备受关注,开发者只需专注于业务逻辑,无需管理服务器。阿里云Serverless Kubernetes(ASK)是基于Kubernetes的托管服务,提供极致弹性和按需付费能力。本文深入探讨如何使用ASK设计和实现无服务器架构,涵盖事件驱动、自动扩展、无状态设计、监控与日志及成本优化等方面,并通过图片处理服务案例展示具体实践,帮助构建高效可靠的无服务器应用。

热门文章

最新文章