您可以通过添加安全组规则,允许或禁止安全组内的ECS实例对公网或私网的访问。
前提条件
添加安全组规则之前,您已经规划好ECS实例需要允许或禁止哪些公网或内网的访问。
背景信息
安全组负责管理是否放行来自公网或者内网的访问请求。为安全起见,安全组入方向大多采取拒绝访问策略。如果您使用的是默认安全组,则系统会给部分通信端口自动添加安全组规则。
本文内容适用于以下场景:
· 当您的应用需要与ECS实例所在安全组之外的网络相互通信,但请求发起后进入长时间等待状态,您需要优先设置安全组规则。
· 当您在运营应用的过程中发现部分请求来源有恶意攻击行为,您可以添加拒绝访问的安全组规则实行隔离策略。
添加安全组规则之前,请了解以下内容:
· 普通安全组在未添加任何安全组规则之前,出方向允许所有访问,入方向拒绝所有访问。
· 企业安全组在未添加任何安全组规则之前,出方向和入方向都拒绝所有访问。同时不支持授权给其他安全组。
· 安全组规则支持IPv4安全组规则和IPv6安全组规则。
· 每个安全组的入方向规则与出方向规则的总数不能超过200条。
操作步骤
1. 进入安全组页面。
i. 登录ECS管理控制台。
ii. 在左侧导航栏,选择网络与安全 > 安全组。
iii. 在顶部菜单栏左上角处,选择地域。
2. 找到目标安全组,在操作列中,单击配置规则。
3. 选择安全组规则的规则方向。
网络类型 | 选择规则方向 |
专有网络VPC | o 入方向:同时控制公网和内网入方向 o 出方向:同时控制公网和内网出方向 |
经典网络 | o 公网入方向 o 公网出方向 o 入方向:内网入方向 o 出方向:内网出方向 |
1. 在安全组规则页面上,添加安全组规则。
o 方式一:快速添加安全组规则
适用于快速设置常用的TCP协议规则,您单击快速添加后,只需要设置授权策略、授权对象,并选中一个或多个端口便能完成。
o 方式二:手动添加安全组规则
支持自定义配置授权策略、优先级、协议类型等信息。具体操作,如下所示。
i. 单击手动添加。
ii. 在规则列表中,配置新增的安全组规则。
名称 | 描述 |
授权策略 | o 允许:放行该端口相应的访问请求。 o 拒绝:直接丢弃数据包,不会返回任何回应信息。 如果两个安全组规则其他都相同只有授权策略不同,则拒绝授权生效,允许策略不生效。 |
优先级 | 优先级数值越小,优先级越高,取值范围为1~100。 |
协议类型 | 协议类型包括: o 全部:支持全部协议类型。 o 自定义TCP:支持TCP协议。 o 自定义UDP:支持UDP协议。 o 全部ICMP(IPv4):支持ICMP(IPv4)协议。 o 全部ICMP(IPv6):支持ICMP(IPv6)协议。 o 全部GRE:支持GRE协议。 |
授权对象 | 支持以下方式设置授权对象。 o IP地址 设置单一IP地址,例如192.168.0.100、2408:4321:180:1701:94c7:bc38:3bfa:。 o o CIDR地址块: 设置IP地址段,例如192.168.0.0/24、2408:4321:180:1701:94c7:bc38:3bfa:***/128。 o 安全组 安全组访问只对内网有效。授权本账号或其他账号下某个安全组中的ECS实例访问本安全组中的ECS实例,实现内网互通。 说明 企业安全组不支持授权安全组访问。 o 本账号授权:填写同账号下的目标安全组ID。如果是专有网络VPC类型的安全组,目的安全组必须在同一个专有网络VPC中。 跨账号授权:填写目标阿里云账号ID和目标安全组ID(格式为目标阿里云账号ID/目标安全组ID)。在账号管理 > 安全设置里查看阿里云账号ID。 o 前缀列表 前缀列表是一些网络前缀(CIDR地址块的简称)的集合,仅支持VPC网络。您选择前缀列表后,这条安全组规则将会对前缀列表中的所有CIDR地址块生效。 o 选择前缀列表后,前缀列表的最大条目容量会占用安全组规则额度。例如,某前缀列表的最大条目容量设置为100个,如果安全组引用该前缀列表,就会占用该安全组100个规则额度,即使该前缀列表中已有的条目数未达到100条。 o 设置注意事项如下: o 支持多组授权对象,用英文半角逗号(,)隔开,最多支持10组授权对象。 o 如果填写0.0.0.0/0(IPv4)或者::/0(IPv6),表示所有IP地址的访问,设置时请务必谨慎。 o 出于安全性考虑,经典网络的内网入方向规则,授权对象优先使用安全组。如果使用IP地址,则只能授权单一IP地址,不能使用CIDR地址块。 |
描述 | 安全组规则描述信息。 |
i. 在规则的操作列中,单击保存。
执行结果
添加完成后,在安全组规则列表中查看已添加的安全组规则。安全组规则的变更会自动应用到安全组内的ECS实例上,建议您立即测试是否生效。
执行结果
添加完成后,在安全组规则列表中查看已添加的安全组规则。安全组规则的变更会自动应用到安全组内的ECS实例上,建议您立即测试是否生效。
协议类型 | 端口显示范围 | 应用场景 |
全部 | -1/-1,表示不限制端口。不支持设置。 | 可用于完全互相信任的应用场景。 |
全部 ICMP(IPv4) | -1/-1,表示不限制端口。不支持设置。 | 使用ping6程序检测ECS实例之间的通信状况。 |
全部 ICMP(IPv6) | -1/-1,表示不限制端口。不支持设置。 | 使用ping程序检测ECS实例之间的通信状况 |
全部 GRE | -1/-1,表示不限制端口。不支持设置。 | 用于VPN服务。 |
自定义 TCP | 自定义端口范围,有效的端口值是1 ~ 65535。 必须采用<开始端口>/<结束端口>的格式。例如80/80表示端口80,1/22表示1到22端口。 | 可用于允许或拒绝一个或几个连续的端口。 |
自定义 UDP | 自定义端口范围,有效的端口值是1 ~ 65535。 必须采用<开始端口>/<结束端口>的格式。例如80/80表示端口80,1/22表示1到22端口。 | 可用于允许或拒绝一个或几个连续的端口。 |
TCP协议中常用应用和端口如下表所示。
服务场景 | 协议类型 | 端口显示范围 | 说明 |
连接服务器 | SSH | 22/22 | 用于SSH远程连接到Linux实例。连接ECS实例后您能修改端口号 |
TELNET | 23/23 | 用于Telnet远程登录ECS实例。 | |
RDP | 3389/3389 | 用于通过远程桌面协议连接到Windows实例。连接ECS实例后您能修改端口号 | |
网站服务 | HTTP | 80/80 | ECS实例作为网站或Web应用服务器 |
HTTPS | 443/443 | ECS实例作为支持HTTPS协议的网站或Web应用服务器 |
数据库 | MS SQL | 1433/1433 | ECS实例作为MS SQL服务器。 |
Oracle | 1521/1521 | ECS实例作为Oracle SQL服务器。 | |
MySQL | ECS实例作为MySQL服务器。 | ||
PostgreSQL | 5432/5432 | ECS实例作为PostgreSQL服务器。 | |
Redis | 6379/6379 | ECS实例作为Redis服务器。 |
3306/3306 |
携手驰网多多一同探索拥有一台服务器可以做哪些很酷的事情吧~
感谢您的阅读,若是想要了解更多服务器技术干货,加个关注再走吧~