Article / 文章中心

添加安全组规则

发布时间:2021-01-21 点击数:755

点击查看原图

您可以通过添加安全组规则,允许或禁止安全组内的ECS实例对公网或私网的访问。

前提条件

添加安全组规则之前,请确认以下信息:
  • 您已经创建了一个安全组。
  • 您已经知道ECS实例需要允许或禁止哪些公网或内网的访问。

背景信息

安全组负责管理是否放行来自公网或者内网的访问请求。为安全起见,安全组入方向大多采取拒绝访问策略。如果您使用的是默认安全组,则系统会给部分通信端口自动添加安全组规则。

本文内容适用于以下场景:
  • 当您的应用需要与ECS实例所在安全组之外的网络相互通信,但请求发起后进入长时间等待状态,您需要优先设置安全组规则。
  • 当您在运营应用的过程中发现部分请求来源有恶意攻击行为,您可以添加拒绝访问的安全组规则实行隔离策略。
添加安全组规则之前,请了解以下内容:
  • 普通安全组在未添加任何安全组规则之前,出方向允许所有访问,入方向拒绝所有访问。
  • 企业安全组在未添加任何安全组规则之前,出方向和入方向都拒绝所有访问。同时不支持设置优先级、不支持授权给其他安全组、不支持设置拒绝访问的安全组规则。
  • 安全组规则支持IPv4安全组规则和IPv6安全组规则。
    说明 IPv6正在公测中,如果您需要支持IPv6安全组规则,请提交公测申请试用,可用地域以实际购买页面为准。
  • 每个安全组的入方向规则与出方向规则的总数不能超过200条。

更多详情,请参见安全组概述

操作步骤

  1. 登录ECS管理控制台
  2. 在左侧导航栏,单击网络与安全 > 安全组
  3. 在顶部菜单栏左上角处,选择地域。
  4. 找到要配置授权规则的安全组,在操作列中,单击配置规则
  5. 选择安全组规则的规则方向。
    表 1. 安全组规则方向
    网络类型 选择规则方向
    专有网络VPC
    • 入方向:同时控制公网和内网入方向
    • 出方向:同时控制公网和内网出方向
    经典网络
    • 公网入方向
    • 公网出方向
    • 入方向:内网入方向
    • 出方向:内网出方向
  6. 安全组规则页面上,您可以选择以下任意一种方式添加安全组规则。
    • 方式一:快速添加安全组规则

      适用于无需设置ICMP、GRE协议规则,并通过勾选多个端口便能完成操作的场景。快速添加提供了SSH 22、telnet 23、HTTP 80、HTTPS 443、MS SQL 1433、Oracle 1521、MySQL 3306、RDP 3389、PostgreSQL 5432和Redis 6379的应用端口设置。您可以同时勾选一个或多个端口。

      1. 单击快速添加
      2. 设置授权策略授权对象端口范围
        说明 参数设置的详细指导请参见表 2
      3. 单击确定
    • 方式二:手动添加安全组规则
      1. 单击手动添加
      2. 在规则列表中配置新增的安全组规则。 表 2. 安全组规则参数说明
        名称 描述
        授权策略
        • 允许:放行该端口相应的访问请求。
        • 拒绝:直接丢弃数据包,不会返回任何回应信息。如果两个安全组规则其他都相同只有授权策略不同,则拒绝授权生效,允许策略不生效。
        说明 企业安全组只支持允许授权策略。
        优先级 优先级数值越小,优先级越高,取值范围为1~100。
        说明 企业安全组优先级固定为1,不支持自定义设置。
        协议类型 支持协议类型包括:
        • 全部
        • 自定义TCP
        • 自定义UDP
        • 全部ICMP(IPv4)
        • 全部GRE
        协议类型端口范围的关系参见表 3。更多常用端口信息,请参见常用端口
        端口范围 协议类型自定义TCP自定义UDP时,可自定义设置。手动输入端口范围,多个端口范围以英文半角逗号分隔,例如22/23,443/443。
        授权对象 支持以下方式设置授权对象。
        • IPv4地址段
          • 填写单一IP地址或者CIDR网段格式,如:12.1.1.1或13.1.1.1/25。

            关于CIDR格式介绍,请参见网络FAQ

          • 支持多组授权对象,用英文半角逗号(,)隔开,最多支持10组授权对象。
          • 如果填写0.0.0.0/0表示允许或拒绝所有IP地址的访问,设置时请务必谨慎。
        • IPv6地址段
          • 填写单一IP地址或者CIDR网段格式,如2408:4321:180:1701:94c7:bc38:3bfa:***或2408:4321:180:1701:94c7:bc38:3bfa:***/128。
          • 支持多组授权对象,用英文半角逗号(,)隔开,最多支持10组授权对象。
          • 如果填写::/0表示允许或拒绝所有IP地址的访问,设置时请务必谨慎。
        • 安全组
          说明 企业安全组不支持授权安全组访问。

          安全组访问只对内网有效。授权本账号或其他账号下某个安全组中的ECS实例访问本安全组中的ECS实例,实现内网互通。设置公网访问只能通过CIDR网段方式授权。

          • 本账号授权:选择同一账号下的其他安全组ID。如果是专有网络VPC类型的安全组,目的端必须为同一个专有网络VPC中的安全组。
          • 跨账号授权:填写目标安全组ID,以及对方账号ID。在账号管理 > 安全设置里查看账号ID。
        说明 出于安全性考虑,经典网络的内网入方向规则,授权对象优先使用安全组。如果使用CIDR,则只能授权单个IP地址,授权对象的格式只能是a.b.c.d/32,仅支持IPv4,子网掩码必须是/32。
        描述 安全组规则描述信息。
        表 3. 协议类型和端口范围关系表
        协议类型 端口显示范围 应用场景
        全部 -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
        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
      3. 在规则的操作列中,单击保存
    以下示例演示了如何在安全组添加安全组规则。添加安全组规则

执行结果

添加完成后,在安全组规则列表中查看已添加的安全组规则。安全组规则的变更会自动应用到安全组内的ECS实例上,建议您立即测试是否生效。刷新安全组

后续步骤

每台ECS实例至少属于一个安全组,您可以根据业务需要,将ECS实例加入一个或多个安全组。具体操作,请参见ECS实例加入安全组

设置安全组规则后如果发现业务无法访问,您需要排查业务服务是否启动、服务端口和安全组规则是否一致等问题。更多信息,请参见安全组常见问题处理

说明 控制台安全组放行某个端口,只能说明安全组没有限制这个端口的访问,不能说明这个端口已经开启。 如需外网访问ECS服务器的端口需要满足以下三个必要条件:
  • 安全组规则放行该端口。
  • 对应端口的程序软件是启动运行状态,并且监听地址为0.0.0.0(您可通过执行netstat -ano |findstr 端口号命令来检测端口是否处于监听状态)。
  • 已关闭ECS实例内部防火墙,或者防火墙已放行该端口。
    我公司为阿里云代理商为您提供一对一专业全面的技术服务,通过此页面下单购买,新老阿里云会员,均可享受我公司代理商价格!
上一篇:更换ECS实例的VPC 下一篇:释放实例