您可以通过添加安全组规则,允许或禁止安全组内的ECS实例对公网或私网的访问。
前提条件
背景信息
安全组负责管理是否放行来自公网或者内网的访问请求。为安全起见,安全组入方向大多采取拒绝访问策略。如果您使用的是默认安全组,则系统会给部分通信端口自动添加安全组规则。
- 当您的应用需要与ECS实例所在安全组之外的网络相互通信,但请求发起后进入长时间等待状态,您需要优先设置安全组规则。
- 当您在运营应用的过程中发现部分请求来源有恶意攻击行为,您可以添加拒绝访问的安全组规则实行隔离策略。
- 普通安全组在未添加任何安全组规则之前,出方向允许所有访问,入方向拒绝所有访问。
- 企业安全组在未添加任何安全组规则之前,出方向和入方向都拒绝所有访问。同时不支持设置优先级、不支持授权给其他安全组、不支持设置拒绝访问的安全组规则。
- 每个安全组的入方向规则与出方向规则的总数不能超过200条。
更多详情,请参见安全组概述。
操作步骤
- 登录ECS管理控制台。
- 在左侧导航栏,单击 。
- 在顶部菜单栏左上角处,选择地域。
- 找到要配置授权规则的安全组,在操作列中,单击配置规则。
- 在安全组规则页面上,您可以选择以下任意一种方式添加安全组规则。
- 方式一:快速添加安全组规则
适用于无需设置ICMP、GRE协议规则,并通过勾选多个端口便能完成操作的场景。快速添加提供了SSH 22、telnet 23、HTTP 80、HTTPS 443、MS SQL 1433、Oracle 1521、MySQL 3306、RDP 3389、PostgreSQL 5432和Redis 6379的应用端口设置。您可以同时勾选一个或多个端口。
单击快速创建规则,快速创建规则对话框中的网卡类型、规则方向和端口范围等参数设置的详细指导请参见方式二添加安全组规则。
- 方式二:手动添加安全组规则
- 单击添加安全组规则。
- 在规则列表中配置新增的安全组规则。
表 1. 安全组规则参数说明 名称 描述 网卡类型 仅经典网络的安全组需要选择网卡类型。 - 内网:设置经典网络的安全组内网访问规则。
- 公网:设置经典网络的安全组公网访问规则。
规则方向 设置安全组规则的方向。 - 出方向:是指ECS实例访问内网中其他ECS实例或者公网上的资源。
- 入方向:是指内网中的其他ECS实例或公网上的资源访问ECS实例。
授权策略 - 允许:放行该端口相应的访问请求。
- 拒绝:直接丢弃数据包,不会返回任何回应信息。如果两个安全组规则其他都相同只有授权策略不同,则拒绝授权生效,允许策略不生效。
说明 企业安全组只支持允许授权策略。协议类型 选择安全组规则的协议类型。 端口范围 端口范围的设置受协议类型影响。协议类型为自定义TCP或自定义UDP时,可自定义设置。即手动输入端口范围,例如 22/23,443/443
。优先级 优先级数值越小,优先级越高,取值范围为1~100。 说明 企业安全组优先级固定为1,不支持自定义设置。授权类型 可选IPv4地址段访问和安全组访问。 说明 企业安全组不支持授权安全组访问。授权对象 支持以下方式设置授权对象。 - IPv4地址段
- 填写单一IP地址或者CIDR网段格式,如:12.1.1.1或13.1.1.1/25。
关于CIDR格式介绍,请参见网络FAQ。
- 支持多组授权对象,用英文半角逗号(,)隔开,最多支持10组授权对象。
- 如果填写0.0.0.0/0表示允许或拒绝所有IP地址的访问,设置时请务必谨慎。
- 填写单一IP地址或者CIDR网段格式,如:12.1.1.1或13.1.1.1/25。
- 安全组
说明 企业安全组不支持授权安全组访问。
安全组访问只对内网有效。授权本账号或其他账号下某个安全组中的ECS实例访问本安全组中的ECS实例,实现内网互通。设置公网访问只能通过CIDR网段方式授权。
- 本账号授权:选择同一账号下的其他安全组ID。如果是专有网络VPC类型的安全组,目的端必须为同一个专有网络VPC中的安全组。
- 跨账号授权:填写目标安全组ID,以及对方账号ID。在 里查看账号ID。
说明 出于安全性考虑,经典网络的内网入方向规则,授权对象优先使用安全组。如果使用CIDR,则只能授权单个IP地址,授权对象的格式只能是a.b.c.d/32,仅支持IPv4,子网掩码必须是/32。描述 安全组规则描述信息。 表 2. 协议类型和端口范围关系表 协议类型 端口显示范围 应用场景 全部 -1/-1,表示不限制端口。不能设置。 可用于完全互相信任的应用场景。 全部 ICMP(IPv4) -1/-1,表示不限制端口。不能设置。 使用 ping
程序检测ECS实例之间的通信状况。全部 GRE -1/-1,表示不限制端口。不能设置。 用于VPN服务。 自定义 TCP 自定义端口范围,有效的端口值是1 ~ 65535。 必须采用<开始端口>/<结束端口>的格式。例如80/80表示端口80,1/22表示1到22端口。
可用于允许或拒绝一个或几个连续的端口。 自定义 UDP SSH 22/22 用于SSH远程连接到Linux实例。连接ECS实例后您能修改端口号,具体操作,请参见修改服务器默认远程端口。 TELNET 23/23 用于Telnet远程登录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 3306/3306 ECS实例作为MySQL服务器。 RDP 3389/3389 用于通过远程桌面协议连接到Windows实例。连接ECS实例后您能修改端口号,具体操作,请参见修改服务器默认远程端口。 PostgreSQL 5432/5432 ECS实例作为PostgreSQL服务器。 Redis 6379/6379 ECS实例作为Redis服务器。 说明 公网出方向的SMTP端口25默认受限,无法通过安全组规则打开。如果您需要使用SMTP 25端口,请自行规避安全风险,然后申请解封端口25。具体操作,请参见申请解封端口25。 - 单击确定。
- 方式一:快速添加安全组规则
执行结果
添加完成后,在安全组规则列表中查看已添加的安全组规则。安全组规则的变更会自动应用到安全组内的ECS实例上,建议您立即测试是否生效。
后续步骤
每台ECS实例至少属于一个安全组,您可以根据业务需要,将ECS实例加入一个或多个安全组。具体操作,请参见ECS实例加入安全组。
- 安全组规则放行该端口。
- 对应端口的程序软件是启动运行状态,并且监听地址为0.0.0.0(您可通过执行netstat -ano |findstr 端口号命令来检测端口是否处于监听状态)。
- 已关闭ECS实例内部防火墙,或者防火墙已放行该端口。