添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

安全组 在ECS的使用中扮演了云上虚拟防火墙的角色,通过管理安全组和规则,可提供精细化的网络安全隔离与访问控制。

下图示例通过配置两条安全组规则,实现仅允许授权IP远程管理实例,并阻止实例访问公网风险站点的场景。

  • 入方向规则:允许特定IP( 121.XX.XX.XX )通过SSH(22端口)访问实例。

  • 出方向规则:拒绝实例访问某个已知的风险IP( XX.XX.XX.XX )。

image

为新建实例配置安全组

  1. 前往购买实例: 前往 ECS控制台-自定义购买 页面,选择实例配置。

  2. 新建安全组: 网络和安全组 内新建普通安全组或企业级安全组,并编辑安全组名称。

  3. 快捷配置常用规则: 购买实例时,控制台提供了常用的端口/协议,勾选后可以允许所有 IP 地址( 0.0.0.0/0 )来源访问目标端口,或允许遵循目标协议的流量访问创建的实例。

购买实例时新建安全组不支持精细配置新建安全组的规则,可以在实例创建后配置。若在快速配置勾选了管理实例使用的端口(如远程连接实例常用的SSH(22)、RDP(3389)等),建议创建实例后将安全组规则设置为仅允许从安全的IP地址进行访问。
  1. 创建后修改/添加/删除安全组规则: 购买实例后,可参考 安全组规则 的配置信息,为新建的实例 添加/修改/删除安全组规则

可以查看 安全组应用指导和案例 ,了解如限制实例访问、数据库安全策略等更多业务情况下的安全组规则配置案例方法。

管理安全组

随ECS实例新建的安全组可以在创建后进行安全组规则修改。安全组也可以独立于实例创建管理,并将其关联至已有的ECS实例。

创建安全组

控制台

  1. 前往 ECS控制台-安全组 页面,单击 创建安全组

  2. 设置安全组名称及 专有网络 VPC

  3. 选择安全组类型为 普通安全组 企业级安全组

  4. 为安全组 配置安全组规则 后,单击 确认创建

API

调用 CreateSecurityGroup ,创建安全组。

创建的普通安全组若未配置规则时,入方向默认会允许同安全组内其他ECS的流量,拒绝其他所有入方向流量,出方向允许所有流量。

添加/修改/删除安全组规则

安全组规则 定义了允许或禁止出入安全组的网络流量应匹配的条件。配置规则时,须指定流量方向、访问目的及 优先级 等。 安全组规则为有状态的规则,只需配置入方向规则,安全组会自动放行对应的出方向响应流量。

控制台

  1. 前往 ECS控制台-安全组 页面,单击目标安全组ID进入安全组详情页。

  2. 配置安全组规则。

    • 添加规则: 在目标安全组详情页面,选择规则需要控制方向,单击 增加规则

    • 修改规则: 在目标安全组详情页 访问规则 区域,找到目标规则,单击 操作 列中的 编辑

    • 删除规则: 在目标安全组详情页 访问规则 区域,找到目标规则,单击 操作 列中的 删除

API

同优先级下,拒绝规则优先生效。对于 部分特定网络流量 ,安全组会默认放行。
警告
  • 为减少业务生产安全问题,建议按照最小范围(白名单)开放原则配置安全组规则,尽量避免涉及登录、管理ECS实例等高危场景下允许全量访问(慎用0.0.0.0/0或::/0)。

  • 避免直接修改生产环境的安全组。可以先 克隆安全组 ,在测试环境调试,确保修改后实例流量正常,再对线上环境的安全组规则进行修改。

为实例关联安全组

当您为ECS实例关联安全组时,实际上是在为ECS实例的主网卡关联安全组。

控制台

  1. 前往 ECS控制台-实例 单击目标实例ID进入实例详情页。

  2. 在实例详情页切换至 安全组 页签,在安全组列表页单击 更换安全组 ,按需将安全组加入实例或者移除实例。关联多个安全组时,安全组规则会合并,且按照优先级排序生效。

API

辅助弹性网卡 关联安全组

安全组实际作用在ECS实例的 弹性网卡 上。实例有多张弹性网卡时,为弹性网卡关联不同的安全组,并配置差异化的安全组规则,可以实现实例内部网络流量的分级管控与业务隔离。

控制台

  1. 前往 ECS控制台-弹性网卡 页面,单击目标辅助网卡的ID,进入辅助弹性网卡详情页。

  2. 单击 更换安全组 ,勾选要关联的安全组,单击 确定

API

使用前缀列表

当需对多个IP地址段进行统一授权时,可使用前缀列表集中管理,从而简化安全组规则配置,提升批量维护效率。

控制台

  1. 创建前缀列表:

    1. 前往 ECS控制台-前缀列表

    2. 根据需求选择到目标页签,单击 创建前缀列表

      引用前缀列表的安全组,规则数量会根据列表设置的最大条目数计算。
  2. 在目标安全组详情页 访问规则 区域增加或修改规则:

    1. 设置 访问来源 为前缀列表,选择目标前缀列表。

API

克隆安全组

当需要批量创建带有相同配置的安全组,或进行跨地域、跨网络类型复制和备份时,可通过克隆安全组功能快速实现。克隆成功后,可在目标地域的安全组列表中看到新安全组。

  1. 前往 ECS控制台-安全组 ,在目标安全组的 操作 栏单击 克隆安全组

  2. 设置目标安全组,克隆后,新的安全组显示在目标地域的安全组列表中。

    • 专有网络ID :新安全组的网络类型,选择经典网络或者具体的专有网络。

    • 保留规则 :勾选将保留原安全组中所有规则,优先级大于100的规则将调整为100。

    • 复制本安全组标签到克隆安全组 :选择是否需要将原安全组的标签复制到新安全组。

导入/导出规则

如果需要备份、恢复和迁移规则,可以使用导入导出功能。

导入规则

导入的安全组规则需遵循以下要求:

  • 文件格式:JSON或CSV。

  • 规则数量:单次导入不超过200条。

  • 规则优先级:1到100之间。优先级高于100的规则将被忽略。

在跨地域导入规则时,不支持安全组规则中授权对象为安全组和前缀列表,不支持安全组规则中端口范围为端口列表。
  1. 前往 ECS控制台-安全组 在目标安全组详情页面 访问规则 区域,单击 导入安全组规则

  2. 导入安全组规则 页面,单击 选择文件 并选中本地的JSON或CSV文件,单击 确认

导入失败时,将鼠标悬停在警告图标上可查看原因。

导出规则

前往 ECS控制台-安全组 ,在目标安全组详情页 访问规则 区域,单击 导出 。导出的规则文件的命名格式:

  • JSON格式:ecs_${region_id}_${groupID}.json。

    示例:如果Region ID为 cn-qingdao ,安全组ID为 sg-123 ,则导出的文件名为 ecs_cn-qingdao_sg-123.json
  • CSV格式:ecs_sgRule_${groupID}_${region_id}_${time}.csv。

    示例:如果Region ID为 cn-qingdao ,安全组ID为 sg-123 ,导出日期为 2020-01-20 ,则导出的文件名为 ecs_sgRule_sg-123_cn-qingdao_2020-01-20.csv

删除安全组

警告

删除安全组是一个不可逆的操作,将永久删除安全组下所有规则。在执行删除操作前,请确保备份相关配置。

控制台

  1. 前往 ECS控制台-安全组 ,在目标安全组的 操作 栏单击 删除

  2. 删除安全组 对话框中,确认信息后,单击 确定

    如果安全组没有关联的ECS实例和弹性网卡,在 删除安全组 对话框中仍提示 不可删除 时,可以单击 尝试强制删除

API

调用 DeleteSecurityGroup ,删除安全组。

安全组在以下场景时无法删除:

  • 已关联ECS实例或弹性网卡时无法删除,需先将其移除。

  • 被其他安全组规则授权,需先删除授权规则。

  • 托管安全组 仅支持查看,不可删除。

  • 开启了删除保护,请先关闭删除保护,然后再尝试操作。如果无法关闭删除保护则无法删除安全组。

    在使用 DeleteSecurityGroup 接口删除安全组时返回错误码 InvalidOperation.DeletionProtection ,或使用控制台删除安全组看到类似 删除保护 的提示时,说明该安全组开启了删除保护功能。

安全组内实例网络互通

默认情况下,同一普通安全组内的ECS实例间内网互通。为提高安全性,可以将组内连通策略调整为组内隔离,禁止实例间的内网互通。

企业级安全组 不支持修改组内连通策略。
  • 当实例关联多个安全组时,只要其中任一安全组的组内连通策略设置为组内互通,实例间即可内网互通。

  • 安全组的组内连通策略设置为组内隔离时,可通过配置安全组规则,允许实例间通信。

控制台

  1. 前往 ECS控制台-安全组 ,单击目标安全组ID进入安全组详情页。

  2. 安全组详情 页面,页签 基本信息 区域,单击 修改组内网络连通策略

  3. 安全组的组内连通策略已更改为 组内隔离

API

调用 ModifySecurityGroupPolicy ,修改普通安全组的组内连通策略。

安全组间实例网络互通

将其他安全组设为规则的授权对象时,可允许其他安全组内实例,通过内网访问本安全组内的实例。图中为安全组A设置了入方向的授权对象安全组B后,安全组B内的实例可以通过内网访问安全组A内的实例。

企业级安全组 规则不支持添加授权对象为安全组的规则。

image

控制台

  1. 前往 ECS控制台-安全组 ,单击目标安全组ID进入安全组详情页。

  2. 在目标 安全组详情 页面,选择规则需要控制方向,单击 增加规则

  3. 新建安全组规则 页面选择 访问来源 安全组 跨账号安全组

API

生产应用建议

  • 安全组规划

    • 职责单一: Web、数据库、缓存等各业务场景下安全组应各自独立。

    • 环境隔离: 生产、测试环境的安全组须分离,避免混用。

    • 命名规范: 采用 环境-应用-用途-sg 格式,如 prod-mysql-db-sg

  • 规则配置

    • 最小权限: 仅对必要的源开放必要的端口。避免对SSH(22)、RDP(3389)等管理端口开放 0.0.0.0/0 应始终限定为可信的固定IP。

    • 默认拒绝: 默认拒绝所有入方向流量。仅在必要时,添加入方向规则,放行特定端口和来源的访问。

    • 规则优先级冲突: 当实例关联多个安全组时,低优先级的允许规则会被高优先级的拒绝规则覆盖。排查网络不通时,需检查所有关联的安全组。

  • 变更管理

    • 避免直接修改生产环境: 直接修改生产环境的安全组是高危操作。可以先 克隆安全组 ,在测试环境调试,确保修改后实例流量正常,再对线上环境的安全组规则进行修改。

计费规则

安全组免费使用。

使用限制

限制项

普通安全组限制

企业级安全组限制

单个阿里云账号在特定地域下的安全组总数量上限

请根据配额ID q_security-groups 查看或申请提升对应配额。具体操作请参见 查看或提升云服务器 ECS配额

与普通安全组相同

单张弹性网卡可以关联的安全组数量

10

与普通安全组相同

单张弹性网卡关联的所有安全组的规则(包括入方向规则与出方向规则)数量之和的上限

1,000

与普通安全组相同

单个安全组中,授权对象为安全组的规则数量

20

0条,在企业级安全组中,您不能添加授权对象为安全组的规则,也不能将企业级安全组作为其他安全组规则中的授权对象。

单个专有网络VPC类型的安全组能容纳的VPC类型ECS实例数量

不固定,受安全组能容纳的私网IP地址数量影响。

无限制

单个阿里云账号在特定地域下单个专有网络VPC类型的安全组能容纳的私网IP地址数量

6,000

说明
  • IP占用数按照安全组关联的弹性网卡(包括实例主网卡、辅助网卡)的私网IP数量计数,包括主私网IPv4、IPv6、辅助私网IPv4、IPv4 前缀、IPv6前缀等所有类型IP地址的数量总和。

  • 如果您有超过6,000个私网IP需要内网互访,可以将这些私网IP的ECS实例分配到多个安全组内,并通过互相授权的方式允许互访。

  • 您可以在 配额中心 根据配额ID q_vpc-normal-security-group-ip-count 查看专有网络普通安全组内的私网IP地址数量上限。

65,536

说明

IP占用数按照安全组关联的弹性网卡(包括实例主网卡、辅助网卡)的数量计数,即关联的所有弹性网卡的数量总和。

单个经典网络类型的安全组能容纳的经典网络类型ECS实例数量

1,000

说明

如果您有超过1,000台经典网络类型ECS实例需要内网互访,可以将ECS实例分配到多个安全组内,并通过互相授权的方式允许互访。

不支持经典网络

公网访问端口

基于安全考虑,ECS实例25端口默认受限,建议您使用SSL加密端口(通常是465端口)来对外发送邮件。

与普通安全组相同

常见问题

实例ping不通怎么办?

无法ping通ECS实例,通常是因为安全组中入方向ICMP协议(ping 命令所使用的协议)的默认规则被移除。可以使用安全组规则诊断工具快速定位问题。

  1. 前往 ECS控制台-实例 找到目标实例并记录实例ID。

  2. 单击 进入自助问题排查页面,并切换至目标地域。

  3. 选择 安全组规则诊断 ,单击 发起诊断

  4. 选择记录的实例 ID及对应的网卡。单击 开始检测

    多数情况下,一台实例只有一张网卡。
  5. 查看检测结果。如果结果显示ICMP协议未放行,单击 开通端口 即可快速开通。

    除ICMP外,诊断工具还会检测以下常用端口是否放行:80、443、22、3389和8080。
  6. 如果检测后发现还是ping不通可以根据 无法ping通ECS实例公网IP的排查方法 更进一步排查。

实例连不上、服务访问不通怎么办?

服务无法访问,通常是由于安全组未放行端口。可以使用安全组规则诊断工具快速定位问题。

  1. 前往 ECS控制台-实例 找到目标实例并记录实例ID。

  2. 单击 进入自助问题排查页面,并切换至目标地域。

  3. 选择 安全组规则诊断 ,单击 发起诊断

  4. 选择记录的实例 ID及对应的弹性网卡,并根据服务端口,选择诊断方式后,单击 开始检测 ,查看诊断结果。

    • 一键检测: 适用于 80 443 22 3389 8080 端口。

    • 自定义检测: 适用于所有其他端口。需要填写以下信息:

      • 源地址:输入本地或客户端的公网IP地址。

      • 目的端口:输入服务使用的端口号。

      • 协议类型:选择端口对应的协议。

安全组与网络ACL(NACL)有何区别?

特性

安全组

网络ACL

作用层级

弹性网卡

子网级

状态

有状态

无状态

用途

实例的精细化防火墙

子网的边界访问控制

实例主网卡的安全组如何更换/添加?

安全组实际作用在ECS实例的 弹性网卡 上。ECS实例详情页面上安全组页签中配置的安全组,即为实例主网卡的安全组。可参考 为实例关联安全组 更改实例主网卡关联的安全组。

相关文档