管理安全组规则
安全组规则用来控制ECS实例的出入站流量,适用于允许或拒绝特定网络流量、封锁不必要的端口、限制特定协议的流量和配置应用程序访问权限等使用场景。本文介绍安全组规则的添加、修改、查询、删除和导入导出操作。
操作前须知
在添加安全组规则之前,请了解以下内容:
安全组的入方向规则控制ECS实例入站的流量,出方向规则控制ECS实例出站的流量。ECS 实例关联的多个安全组规则将按固定的策略排序,共同决定是否放行实例出入站的流量。
安全组能力概述和使用建议,请参见安全组概述。
除了自定义的安全组规则,安全组还有一些不可见的默认访问控制规则,会影响流量的允许或拒绝,请参见普通安全组与企业级安全组。
安全组规则的构成和排序策略,请参见安全组规则。
安全组规则有数量限制,您应尽量保持规则的精简,请参见安全组使用限制。
使用场景
添加安全组规则
安全组出入方向规则包含授权策略、优先级、协议类型、端口范围、授权对象。当流量成功匹配授权对象、端口和协议类型时,表示流量匹配到安全组规则,才会根据优先级和授权策略匹配,决定流量是否被允许访问。否则流量表示未匹配到安全组规则,遵循安全组的兜底策略。
授权对象:入方向规则中匹配流量的源地址,出方向规则中匹配流量的目的地址。支持配置IP地址(可选择多个)、安全组、前缀列表。
如果授权对象选择安全组和前缀列表,表示选择安全组和前缀列表中所有的IP地址的访问权限受这条安全组规则限制。
如果您想实现在不同安全组的资源之间的网络互通,您应使用安全组方式授权。对于内网访问,您应使用源安全组授权,而不是CIDR网段授权。
对于经典网络类型的ECS实例,阿里云默认不开启任何内网的入规则。为了安全考虑,不建议开启任何基于CIDR网段的授权。
端口范围:匹配流量的端口。了解典型应用的端口及其对应的场景示例,请参见常用端口。
协议类型:匹配流量的协议类型。
TCP协议主要适用于高可靠性的应用,如网页浏览、电子邮件传输、远程登录、上传下载文件等。
UDP协议主要适用于速度比准确性更重要的应用,如在线游戏、视频会议等。
ICMP协议主要适用于在网络设备之间传递控制信息,如使用ping命令、错误报告、诊断信息等。
GRE协议主要适用于安全性高的应用,通过GRE可以跨越不同的网络类型(如IP over IP)安全地传输数据。
优先级:匹配流量的优先级,最高优先级为1。
对于优先级不同的规则,流量先匹配优先级高的规则,如果成功匹配到优先级高的规则,将会对流量执行规则授权策略指定的动作,不会再去匹配优先级低的规则。
对于优先级相同的规则,只是授权策略不同时,优先匹配拒绝策略,再匹配允许策略。
授权策略:匹配流量的授权动作是允许还是拒绝。
安全组规则中配置的端口,您需要确认该端口对应的应用处于启动状态,且端口需要监听到0.0.0.0上。如何查看当前端口状态,请参见检查服务状态及端口监听状态。
使用ECS控制台
登录ECS管理控制台。
在左侧导航栏,选择 。
在页面左侧顶部,选择目标资源所在的资源组和地域。
到目标安全组,在操作列单击管理规则,添加出入方向的安全组规则。
方式一:快速添加安全组规则
适用于快速设置常用的TCP协议规则,您单击快速添加后,只需要设置授权策略、授权对象,并选中一个或多个端口便能完成。
如果快速添加对话框中端口范围不包含您需要放通或者拒绝的端口,您可以先勾选一个端口创建出一条安全组规则,然后修改这条规则的端口范围等。也可以通过方式二:手动添加安全组规则,直接设置需要的端口。
方式二:手动添加安全组规则
您需要设置授权策略、优先级、协议类型、端口范围、授权对象等信息。具体操作步骤如下:
单击手动添加。
在规则列表中,配置新增的安全组规则,配置完成后,单击操作列中的保存。
单条规则如何设置,请参见安全组规则。
使用API
如果您需要更精确地控制ECS实例的出流量和入流量,可以使用安全组五元组规则。五元组规则包含:源IP地址、源端口、目的IP地址、目的端口以及协议类型,并且与原有的安全组规则完全兼容。您可以通过API的方式配置安全组五元组规则。更多信息请参见安全组五元组规则。
调用AuthorizeSecurityGroup - 增加安全组入方向规则,添加入方向规则。
调用AuthorizeSecurityGroupEgress - 增加安全组出方向规则,添加入方向规则。
修改安全组规则
修改安全组规则后,新的安全组规则对安全组中的ECS实例立即生效,您可能需要监控网络流量和连接情况,以确保修改后的规则满足实际业务需求,并维持网络安全。更多信息,请参见什么是云监控和网络分析与监控。
使用ECS控制台
在
页面,找到需要修改安全组规则的安全组,单击操作列中的管理规则。找到需要修改的安全组规则,单击操作列中的编辑,进行修改,完成后,单击保存。
使用API
使用ModifySecurityGroupRule - 修改安全组入方向规则,修改入方向规则。
使用ModifySecurityGroupEgressRule - 修改安全组出方向规则,修改出方向规则。
查询安全组规则
通过健康检查功能检测安全组中的冗余规则,可以帮助您简化安全组配置,减少管理工作量,提高网络管理的方便性和效率,同时降低安全漏洞的风险。
使用ECS控制台
方式一:查看单个安全组的规则
在
页面,找到需要修改安全组规则的安全组,单击操作列中的管理规则。选择安全组规则所属的方向,可以查询到各自分类的安全组规则。
说明在安全组规则列表上方的搜索框中输入端口或授权对象,能够快速搜索出符合条件的安全组规则。
方式二:查看ECS实例已加入的所有安全组中的规则
在
页面,找到待查看安全组规则的目标实例并单击实例ID,进入实例详情页。在安全组页签下,查看该实例加入的所有安全组。
单击操作列管理规则,逐个查询所有安全组的规则。
使用API
删除安全组规则
在删除安全组规则之前,请确保您了解此操作可能带来的影响。避免因误删而导致不必要的网络安全问题。如果在删除安全组规则后发现仍然需要使用该规则,您可以重新创建一条新的规则来取代它。
使用ECS控制台
在
页面,找到需要修改安全组规则的安全组,单击操作列中的管理规则。找到需要删除的安全组规则,单击操作列中的删除。
在弹出的对话框中阅读提示信息,确认无误后,单击确定。
使用API
使用RevokeSecurityGroup - 删除安全组入方向规则,删除入方向规则。
使用RevokeSecurityGroupEgress - 删除出方向安全组规则,删除出方向规则。
检查安全组是否存在冗余规则
安全组的健康检查功能用于检查单个安全组中是否存在冗余规则。例如,安全组规则A的所有条件被规则B完全包含,并且规则A的优先级小于等于规则B的优先级,则规则A被认定为冗余规则。如果存在冗余规则,请清除冗余规则,避免出现安全组规则数量达到上限影响安全组的使用。
每个安全组以及ECS实例的每张弹性网卡可以包含的安全组规则数量有限。有关安全组规则的使用限制及配额,请参见安全组使用限制。
使用ECS控制台
在
页面,找到需要查询规则的安全组,单击操作列中的管理规则。在访问规则区域,单击。
在健康检查对话框中确认是否存在冗余规则。
如下图所示,表示该安全组中存在两条冗余规则。
选中冗余规则,然后单击确定,可对冗余规则进行删除。
导入导出安全组规则
ECS控制台支持安全组规则导出和导入功能,适用于安全组规则备份、恢复和迁移等使用场景。
在导入安全组之前,您需要符合如下限制,否则将会有导入失败的风险:
安全组规则的优先级范围1~100,大于100的优先级需要先删除,导入后再重新创建。
ECS控制台支持将安全组规则导出为JSON或CSV文件。请确保您使用的文件格式正确,并且遵循了阿里云的安全组规则文件命名规则。
导入时建议单次导入规则数量不超过200条。
在跨地域导入规则时,不支持安全组规则中授权对象为安全组和前缀列表。
使用ECS控制台
在
页面,找到需要导出安全组规则的安全组,单击操作列中的管理规则。在访问规则区域,选择对应操作进行管理。
导入安全组规则
单击,在导入安全组规则对话框中,单击选择文件,然后选择本地的JSON或CSV文件。然后单击开始导入。
如果存在导入失败的规则,您可以将光标移到警告图标上查看失败原因。
导出安全组规则
单击,并选择保存的文件格式,下载并保存到本地。
JSON格式
JSON文件命名规则示例为:
ecs_${region_id}_${groupID}.json
假设
regionID
是cn-qingdao
,groupID
是sg-123
,导出的JSON文件名称则是ecs_cn-qingdao_sg-123.json
。CSV格式
CSV文件命名规则示例为:
ecs_sgRule_${groupID}_${region_id}_${time}.csv
假设
regionID
是cn-qingdao
,groupID
是sg-123
,time
是2020-01-20
,导出的CSV文件名称则是ecs_sgRule_sg-123_cn-qingdao_2020-01-20.csv
。
安全组规则常见问题和最佳实践
关于安全组配置、安全组规则设定、主机处罚与解禁流程、资源限额管理等常见问题,请参见安全FAQ。
关于协议类型和端口范围的问题,请参见常用端口、修改服务器默认远程端口。
将云资源(ECS实例,弹性网卡)加入新的安全组中,请参见安全组与ECS实例关联的管理、安全组与弹性网卡关联的管理。
根据业务需要,如果需要修改安全组的组内连通策略,请参见修改普通安全组的组内连通策略。
安全组规则配置最佳实践与应用案例:
如果服务器开启了防火墙,并设置了屏蔽外界访问的规则,那么在远程访问该服务器时,可能会导致访问失败。开启和关闭系统防火墙的最佳实践:
其他最佳实践: