阿里云ECS安全组实践:允许或禁止安全组内的ECS实例对公网或私网的访问-阿里云开发者社区

开发者社区> loveyundashi> 正文

阿里云ECS安全组实践:允许或禁止安全组内的ECS实例对公网或私网的访问

简介: ECS安全组实践(一) 本文介绍配置安全组的入方向规则的最佳实践。您可以通过配置安全组规则,允许或禁止安全组内的ECS实例对公网或私网的访问。 安全组实践建议 您在云端安全组提供类似虚拟防火墙功能,用于设置单台或多台ECS实例的网络访问控制,是重要的安全隔离手段。
+关注继续查看

ECS安全组实践(一)

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

安全组实践建议

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

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

  • 最重要的规则:安全组应作为白名单使用。
  • 开放应用出入规则时应遵循“最小授权”原则,例如,您可以选择开放具体的端口(如80端口)。
  • 不应使用一个安全组管理所有应用,因为不同的分层一定有不同的需求。
  • 对于分布式应用来说,不同的应用类型应该使用不同的安全组,例如,您应对Web、Service、Database、Cache层使用不同的安全组,暴露不同的出入规则和权限。
  • 没有必要为每台实例单独设置一个安全组,控制管理成本。
  • 优先考虑VPC网络。
  • 不需要公网访问的资源不应提供公网IP。
  • 尽可能保持单个安全组的规则简洁。因为一台实例最多可以加入5个安全组,一个安全组最多可以包括100个安全组规则,所以一台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添加为授权对象。

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

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
如何开启阿里云安全组规则?配置阿里云安全组规则教程
1、注册阿里云账号:点击注册地址 2、设置安全组需要有一台自己的服务器 3、点击实例->管理->网络和安全组->安全组配置或者加入安全组4、点击配置规则进入配置页面设置安全组5、在这里可以选择添加安全组或者修改克隆安全组6、这里我们以mysql数据库端口为例需添加3306端口7、选择自己的端口或者选择自定义tcp,这里我们直接选择3306端口8、授权对象一般是0.0.0.0/0可以允许所有人进行远程连接,如果有特殊需求可以指定ip地址9、点击保存完之后千万不要以为结束了 我们需要重启阿里云服务器安全组配置才生效。
5451 0
安全管理最佳实践系列:给ECS实例配置一个RAM角色身份(使用动态STS-Token访问云服务API)
如果你的应用程序部署在ECS实例中,你可能会苦恼于应用程序的AK配置安全问题及管理难的问题。为此阿里云提供了给ECS实例配置RAM角色的解决方案,使得运行ECS实例中的应用程序将不再需要配置AK,而只需要从ECS Metadata服务中获取StsToken就可以访问阿里云服务API,让你不再担心应用程序的AK配置安全问题和难管理的问题。
6703 0
通过私网访问云服务最佳实践
一般情况下,部署在阿里云VPC A内的服务提供方需要暴露公网访问入口,而VPC B内的服务使用方则通过公网路径访问VPC A内的服务提供方。但公网访问方式容易受到攻击,存在安全隐患,且网络质量和时延无法得到可靠保障。若服务提供方和服务使用方所在的VPC存在地址冲突也无法通过云企业网进行私网互联通信。
511 0
「镁客早报」中国科学家首次在国际上实现量子纠缠态的自检验;软银表示跟风禁止华为将多付1000亿日
SpaceX成功发射GPS卫星,完成今年最后一次任务;大爆料罗永浩卸任CEO并遣散各省级分布人员。
214 0
【ECS】ECS数据安全最佳实践
本文档从使用云服务器ECS的角度出发,结合相关产品和运维架构经验,介绍如何保障云端的数据安全。
24 0
阿里云服务器添加安全组规则(图文教程)
阿里云服务器添加安全组规则(图文教程)
1709 0
【X-Pack解读】阿里云Elasticsearch X-Pack 安全组件功能详解
阿里云Elasticsearch集成了Elastic Stack商业版的X-Pack组件包,包括安全、告警、监控、报表生成、图分析、机器学习等组件,用户可以开箱即用。接下来小编将在【X-Pack解读】系列里解读各个Elasticsearch X-Pack 组件功能。
8979 0
电子合同安全传输是如何做到的?
随着国家政策的推动以及互联网技术的快速发展,电子合同已经飞速发展,深入应用到金融、拍卖、电商、租赁、房地产、人力资源、物流、教育、电子政务等领域。对用户来说,除了降本增效,电子合同的安全性备受关注。
145 0
+关注
loveyundashi
分享阿里云优惠信息和选购指导
19
文章
8
问答
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载