本文汇总了云服务器ECS安全方面的常见问题,涵盖了安全组配置、安全组规则设定、资源限额管理等问题。
安全组问题
安全组规则问题
限额问题
什么是安全组?
安全组是一种虚拟防火墙,能够控制ECS实例的出入站流量。您可以将具有相同安全需求并相互信任的ECS实例放入相同的安全组,以划分安全域,保障云上资源的安全。
创建ECS实例时,您需要指定一个或多个安全组。ECS 实例关联的多个安全组的规则将按固定的策略排序,共同决定是否放行实例出入站的流量。
详细信息,请参见安全组概述。
创建ECS实例前,未创建安全组怎么办?
如果ECS实例所在VPC下没有安全组,系统会在创建实例的同时创建一个默认安全组。详细信息,请参见默认安全组。
为什么ECS实例加入安全组时提示规则数量超限?
ECS实例的单张弹性网卡关联的所有安全组的规则(包括入方向规则与出方向规则)数量之和的上限为1000。
如果提示加入安全组失败,作用在该实例上的安全组规则数量已达上限,表示当前ECS实例上的规则总数已经超过数量上限。建议您检查并清除安全组中存在的冗余规则。
安全组在什么情况下会使用默认安全组规则?
在以下情况中会使用默认安全组规则:
使用默认安全组的默认规则:通过ECS管理控制台在一个地域首次创建ECS实例时,如果您尚未创建安全组,可以选择系统自动创建的默认的普通安全组。默认安全组采用默认安全规则。入方向放行ICMP(IPv4)协议和自定义TCP协议的SSH 22端口、RDP 3389端口,授权对象为全网段(0.0.0.0/0),优先级为100,您还可以勾选放行HTTP 80端口和HTTPS 443端口。出方向允许所有访问。详细信息,请参见默认安全组。
重要默认安全组是为了简化ECS实例初次使用流程而产生的,其默认规则针对TCP协议的22、3389端口以及ICMP(IPv4)协议,对任意源地址(0.0.0.0/0)放通流量,这些默认规则存在风险,会使得任何人均可尝试连接到您的ECS实例,从而可能导致您的ECS实例成为暴力破解攻击的目标。从安全的角度来看,阿里云建议您在安全组规则中仅放通指定的源地址,而不是任意源地址,建议您尽量不要使用默认安全组的默认规则,而是根据自己的业务需要创建新的安全组或修改默认规则。
采用默认规则创建安全组:您在ECS管理控制台上创建安全组时默认的安全组规则,入方向放行ICMP(IPv4)协议和自定义TCP协议的SSH 22端口、RDP 3389端口、HTTP 80端口和HTTPS 443端口,授权对象为全网段(0.0.0.0/0)。
您可以在控制台或者通过API查询安全组规则,详细信息,请参见查询安全组规则。
不同安全组的ECS实例如何实现内网互通?
不同安全组之间实现内网互通的应用案例,请参见案例5:不同安全组的实例实现内网互通和不同安全组的经典网络实例内网互通。
同一安全组的ECS实例如何实现内网隔离?
普通安全组的组内互通功能,可以理解为一种授权本安全组内ECS实例内网访问的特殊规则。您可以通过修改组内连通策略,来开启或关闭普通安全组的组内互通功能。在企业级安全组中,安全组内的ECS实例默认组内隔离,您不能将企业级安全组的内网连通策略设置为组内互通。
详细信息,请参见组内互通功能。
同一个ECS实例中的两块弹性网卡如何进行流量隔离?
ECS实例绑定了两块弹性网卡,如果您尝试使用安全组将这两块网卡进行流量隔离,会发现无法使用安全组实现同一个ECS实例中两块网卡的流量隔离。原因是,安全组作用于ECS实例操作系统之外的虚拟网络设备上,默认情况下,同一ECS实例两块网卡的流量会在操作系统内部进行路由和转发,两块弹性网卡间的网络流量不会经过安全组,因此无法使用安全组进行流量隔离。
您可以使用操作系统的命名空间(namespace)机制,将ECS实例的两块网卡加入到不同的namespace,使得两块网卡之间的网络流量发往操作系统之外,这样网络流量才会经过安全组,才能够使用安全组进行流量隔离。
为什么我配置安全组后还是无法访问服务?
设置安全组规则后如果发现业务无法访问,您需要排查业务服务是否启动、服务端口和安全组规则是否一致等问题。更多信息,请参见ECS实例的安全组规则未生效问题排查。
弹性网卡如何更换安全组?
ECS实例关联的安全组,其规则作用于ECS实例的主网卡,主网卡随实例加入同一个安全组,您无法单独修改主网卡所关联的安全组,可以通过修改ECS实例所在安全组来实现修改主网卡所属安全组。详细信息,请参见将实例加入、移出或更换安全组。
ECS实例附加的辅助弹性网卡,可以关联同一专有网络VPC下同一可用区内的安全组,可以和实例所在安全组不同。您可以在创建弹性网卡时指定网卡关联的安全组,或者在网卡创建后更换弹性网卡关联的安全组。
普通安全组和企业级安全组是否支持相互转换?
不支持,普通安全组和企业级安全组无法相互转换。
您可以新建目标类型的安全组,然后将安全组规则从原安全组中导出再导入到新的安全组中。
在VPC网络下,相比于普通安全组,企业级安全组可以容纳更多的私网IP地址数量。如果您集群中的私网IP数量较多,普通安全组无法容纳,阿里云建议您使用企业级安全组。
更多信息,请参见普通安全组与企业级安全组。
什么场景下我需要添加安全组规则?
当安全组关联ECS实例后,系统会默认启用隐式的默认访问控制规则(如普通安全组内实例之间内网互通)。若业务场景涉及跨安全组实例互通、公网访问管控、Workbench远程连接、来源IP限制或特定端口放行等需求,必须显式配置对应规则,否则可能因默认规则限制导致访问控制失效。详细信息,请参见安全组应用指导和案例。
安全组规则中协议和端口之间是什么关系?
在安全组规则中,协议和端口是协同定义流量访问权限的核心参数。添加安全组规则时,您必须指定通信端口以及通信协议,然后安全组根据允许或拒绝策略决定是否转发数据到ECS实例。详细信息,请参见安全组规则的构成。
常用端口及使用场景,请参见常用端口。
为什么无法访问TCP 25端口?
TCP 25端口是默认的邮箱服务端口。基于安全考虑,云服务器ECS的25端口默认受限,建议您使用465端口发送邮件。
更多使用场景,请参见安全组应用指导和案例。
为什么无法访问80端口?
如何排查80端口故障,请参见检查TCP 80端口是否正常工作。
为什么安全组里自动添加了很多内网相关的安全组规则?
以下两种情况可能导致您的安全组里自动添加了很多规则:
如果您操作过将ECS实例上的自建数据库录入至数据管理DMS中,会涉及到添加DMS IP地址段到实例关联的安全组中,安全组中会自动添加相应的规则。
如果您近期通过阿里云数据传输DTS功能迁移过数据,安全组中会添加DTS的服务IP地址相关的规则。
安全组规则配置错误会造成什么影响?
安全组配置错误可能会导致ECS实例在私网或公网与其他资源之间的访问失败,例如:
ECS实例内网通信异常,如同VPC下不同安全组或者不同账号的ECS实例之间内网不通,您可以参考不同安全组的实例实现内网互通配置规则,进而实现通信。
安全组的入方向规则和出方向规则区分计数吗?
不区分。
ECS实例的单张弹性网卡关联的所有安全组的规则(包括入方向规则与出方向规则)数量之和的上限为1000。
更多信息,请参见使用限制。
是否可以调整安全组规则的数量上限?
不可以。
ECS实例的单张弹性网卡关联的所有安全组的规则(包括入方向规则与出方向规则)数量之和的上限为1000。
如果当前数量上限无法满足您的使用需求,建议您按照以下步骤操作:
检查安全组是否存在冗余规则:您可以通过安全组的健康检查功能,检查并删除安全组中的冗余规则。
您也可以提交工单,阿里云技术支持将提供检查服务。
根据业务拆分安全组:按照用途将规则维护在多个安全组中,并将实例关联到这些安全组。单个安全组的规则数量过多,会增加管理复杂度。详细信息,请参见安全组应用指导。
我配置的安全组规则,各规则的优先级排序是怎么样的?
优先级:取值范围为1~100,数值越小,代表优先级越高。安全组规则的排序,首先考虑优先级,其次考虑授权策略,更多信息,请参见安全组自定义规则匹配策略。
如何对安全组规则的不合规变更进行审计和预警?
若安全组规则对全网段(0.0.0.0/0)开放22(SSH服务)、3389(RDP)等高危风险端口,将会给系统带来严重的安全隐患。您可借助配置审计持续检测安全组配置并自动修复不合规的配置项,确保系统安全。详细信息,请参见对安全组规则的合规性进行自动审计修复。
如何禁止RAM用户(子账号)配置安全组规则?
如果您需要禁止RAM用户(子账号)配置安全组规则,可以参考创建如下自定义权限策略并授权给RAM用户,来禁用配置安全组规则的相关API接口。
{ "Version": "1", "Statement": [ { "Effect": "Deny", "Action": [ "ecs:AuthorizeSecurityGroup", "ecs:AuthorizeSecurityGroupEgress", "ecs:RevokeSecurityGroup", "ecs:RevokeSecurityGroupEgress", "ecs:ModifySecurityGroupRule", "ecs:ModifySecurityGroupEgressRule", "ecs:ModifySecurityGroupPolicy", "ecs:ModifySecurityGroupAttribute", "ecs:ConfigureSecurityGroupPermissions" ], "Resource": "*" } ] }
您也可以通过授予RAM用户一个或多个包含RAM条件关键字的自定义权限策略,从而限制其创建安全组或添加安全组规则时的操作权限。例如,禁止添加包含对应IP和协议的安全组规则、限制添加的安全组规则范围,或在创建ECS实例时禁止使用默认安全组,从而提升阿里云账号的安全性。详细信息,请参见禁止RAM用户创建高危安全组规则。
如何查看资源的限额?
查看资源的使用限制和限额,请参见使用限制。