您可以通过添加安全组规则,允许或禁止安全组内的ECS实例对公网或私网的访问。
前提条件
添加安全组规则之前,您已经规划好ECS实例需要允许或禁止哪些公网或内网的访问。更多有关安全组规则设置的应用案例,请参见安全组应用案例。
背景信息
安全组负责管理是否放行来自公网或者内网的访问请求。为安全起见,安全组入方向大多采取拒绝访问策略。如果您使用的是默认安全组,则系统会给部分通信端口自动添加安全组规则。
本文内容适用于以下场景:
- 当您的应用需要与ECS实例所在安全组之外的网络相互通信,但请求发起后进入长时间等待状态,您需要优先设置安全组规则。
- 当您在运营应用的过程中发现部分请求来源有恶意攻击行为,您可以添加拒绝访问的安全组规则实行隔离策略。
添加安全组规则之前,请了解以下内容:
- 普通安全组在未添加任何安全组规则之前,出方向允许所有访问,入方向拒绝所有访问。
- 企业安全组在未添加任何安全组规则之前,出方向和入方向都拒绝所有访问。同时不支持授权给其他安全组。
- 安全组规则支持IPv4安全组规则和IPv6安全组规则。
- 每个安全组的入方向规则与出方向规则的总数不能超过200条。
更多信息,请参见安全组概述。
操作步骤
执行结果
添加完成后,在安全组规则列表中查看已添加的安全组规则。安全组规则的变更会自动应用到安全组内的ECS实例上,建议您立即测试是否生效。
常见问题
- 问题:为什么我配置安全组后还无法访问服务?
控制台安全组放行某个端口,只能说明安全组没有限制这个端口的访问,不能说明这个端口已经开启。 如需外网访问ECS服务器的端口需要满足以下三个必要条件:
- 安全组规则放行该端口。
- 对应端口的程序软件是启动运行状态,并且监听地址为0.0.0.0(您可通过执行netstat -ano |findstr 端口号命令来检测端口是否处于监听状态)。
- 已关闭ECS实例内部防火墙,或者防火墙已放行该端口。
设置安全组规则后如果发现业务无法访问,您需要排查业务服务是否启动、服务端口和安全组规则是否一致等问题。更多信息,请参见安全组常见问题处理。
- 问题:为什么我无法使用SMTP 25自建邮箱服务器?
公网出方向的SMTP端口25默认受限,无法通过安全组规则打开。如果您需要使用SMTP 25端口,请自行规避安全风险,然后申请解封端口25。具体操作,请参见申请解封端口25。
- 问题:安全组中协议和端口之间是什么关系?
安全组中协议和端口信息如下表所示。更多端口信息,请参见常用端口。
协议类型 端口显示范围 应用场景 全部 -1/-1,表示不限制端口。不支持设置。 可用于完全互相信任的应用场景。 全部 ICMP(IPv4) -1/-1,表示不限制端口。不支持设置。 使用 ping
程序检测ECS实例之间的通信状况。全部 ICMP(IPv6) -1/-1,表示不限制端口。不支持设置。 使用 ping6
程序检测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 3306/3306 ECS实例作为MySQL服务器。 PostgreSQL 5432/5432 ECS实例作为PostgreSQL服务器。 Redis 6379/6379 ECS实例作为Redis服务器。