安全组

更新时间:
复制为 MD 格式

安全组是一种虚拟防火墙,用于控制ENS实例的入方向和出方向网络流量,实现安全隔离。您可以通过配置安全组规则,允许或拒绝安全组内实例的入方向和出方向流量。

功能概述

安全组是ENS提供的实例级别的网络访问控制功能。您可以将具有相同安全防护需求的ENS实例加入同一个安全组,通过安全组规则对这些实例的网络流量进行统一管理。安全组具备以下能力:

  • 入方向和出方向流量控制:通过安全组规则分别控制实例的入方向(外部访问实例)和出方向(实例访问外部)流量。

  • 协议和端口过滤:支持按TCP、UDP、ICMP等协议类型及端口范围进行流量过滤。

  • IPv4/IPv6双栈:安全组规则的源地址和目的地址同时支持IPv4IPv6地址段,满足IPv6场景下的访问控制需求。

  • 即时生效:安全组规则变更后,对组内所有实例即时生效,无需重启实例。

说明

安全组是免费功能,目前支持的实例类型包括X86计算型ARM计算型

安全组架构

安全组作用于ENS实例的网卡层面,对公网网卡和内网网卡的流量分别进行控制。

说明

实例关联安全组后,若实例有公网网卡,则安全组针对公网网卡生效;若实例仅有内网网卡,则针对主网卡生效。

image

安全组位于ENS实例的网卡之前,对进出网卡的流量进行过滤。上图描述了无自定义规则的安全组的默认行为:

  • 公网网卡:安全组控制来自公网的入方向流量以及实例访问公网的出方向流量。

  • 内网网卡:安全组控制VPC内部实例间的互访流量。通过NAT绑定公网的流量,同样受安全组规则控制。

安全组规则

安全组规则是安全组中控制流量的最小单元。每条规则定义了一组流量匹配条件和对应的处理策略。

规则组成

一条安全组规则由以下要素组成:

要素

说明

规则方向

入方向或出方向。入方向控制外部访问实例的流量;出方向控制实例访问外部的流量。

授权策略

允许或拒绝。当流量匹配到该规则时,执行放行或丢弃。

协议类型

支持TCP、UDP、ICMP(IPv4)、ICMP(IPv6)、GRE,以及ALL(全部协议)。

端口范围

流量的目标端口范围。格式为起始端口/结束端口,例如22/22表示SSH端口,80/80表示HTTP端口,1/65535表示所有端口。设置ICMPGRE协议时,端口范围为-1/-1,表示不限制端口。

授权对象

入方向规则中为流量源地址,出方向规则中为流量目标地址。支持单个IP地址(如192.168.1.1)或CIDR地址块(如10.0.0.0/8),同时支持IPv4IPv6地址段。

0.0.0.0/0表示所有IPv4地址,::/0表示所有IPv6地址。

优先级

取值范围为1~100,数值越小优先级越高。

安全组默认规则

新建安全组时,系统默认添加以下访问控制策略:

方向

默认策略

说明

入方向

拒绝所有流量

默认拒绝所有入方向流量。您需要主动添加放行规则,以确保公网网卡实例可被外部访问、内网网卡实例间可以彼此互通。

出方向

允许所有流量

默认放行所有出方向流量。

重要

(202447日之后)新建安全组默认拒绝所有入方向流量。如果您将实例加入新建安全组后发现无法访问实例,请检查是否已添加相应的入方向放行规则。

与中心RegionECS安全组的默认行为对比如下:

对比项

ENS安全组

ECS安全组(普通安全组)

入方向默认策略

拒绝所有流量

拒绝所有流量(安全组内实例间互通)

出方向默认策略

允许所有流量

允许所有流量

规则匹配顺序

当实例收到网络流量时,系统按以下逻辑匹配安全组规则:

  1. 将实例关联的安全组中所有同方向的规则合并。

  2. 按优先级从高到低排序(数值从小到大)。当优先级相同时,拒绝规则优先级高于允许规则

  3. 按排序顺序逐条匹配流量,首条匹配的规则即为最终生效规则。

  4. 如果没有任何规则匹配,则执行默认策略(入方向拒绝,出方向允许)。

有状态特性

ENS安全组规则是有状态的。当入方向流量被允许后,对应的出方向响应流量自动放行,无需额外配置出方向规则;当入方向流量被拒绝后,对应的出方向响应流量也将自动拒绝。

管理安全组

您可以通过ENS控制台对安全组进行以下管理操作。

创建安全组

说明

安全组创建后,默认不包含任何入方向放行规则。请根据业务需求及时添加规则。

  1. 进入ENS安全组管理功能

  2. 单击创建安全组

    image

  3. 在创建安全组页面,配置以下参数后单击创建。:

    1. 名称:自定义安全组名称,便于后续识别和管理,如Security-Group

    2. 访问规则:可在创建时定义安全组规则,也可后续添加和管理。

      说明

      ENS安全组创建时无需指定VPC,您可以将不同节点不同VPC的实例添加到同一个安全组中。

添加安全组规则

  1. 在安全组列表中,找到目标安全组,单击安全组ID操作列的管理

  2. 根据需要选择入方向出方向页签。

  3. 单击添加,配置规则的授权策略优先级协议类型端口范围授权对象

  4. 单击确定

以下为常见业务场景的规则配置示例:

场景

方向

协议类型

端口范围

授权对象

策略

允许SSH远程连接

入方向

TCP

22/22

指定IP0.0.0.0/0

允许

允许RDP远程连接

入方向

TCP

3389/3389

指定IP0.0.0.0/0

允许

允许HTTP访问

入方向

TCP

80/80

0.0.0.0/0

允许

允许HTTPS访问

入方向

TCP

443/443

0.0.0.0/0

允许

允许Ping

入方向

ICMP

-1/-1

0.0.0.0/0

允许

允许VPC内实例互通

入方向

ALL

-1/-1

VPC网段CIDR

允许

重要

出于安全考虑,建议将SSH(22)和RDP(3389)端口的授权对象限制为特定IP地址,避免使用0.0.0.0/0开放给所有地址。

修改安全组规则

  1. 在安全组规则列表中,找到目标规则,单击操作列的管理

  2. 修改规则参数后,单击保存

删除安全组规则

  1. 在安全组规则列表中,找到目标规则,单击操作列的删除

  2. 在确认对话框中,单击确定

警告

删除规则后即时生效,可能导致实例的网络连通性发生变化,请谨慎操作。

关联实例到安全组

创建ENS实例时,需选择关联的安全组。对于已创建的实例,您也可以通过以下方式变更安全组关联关系:

  1. ENS实例列表中,找到目标实例,单击实例ID进入实例详情。

  2. 选择安全组页签,执行加入或移出安全组操作。

删除安全组

  1. 在安全组列表中,找到目标安全组,单击操作列的删除

  2. 在确认对话框中,单击确定

警告

删除安全组前,需确保安全组内没有关联任何实例。已关联实例的安全组无法删除。

使用限制

限制项

限制值

支持的实例类型

X86计算型、ARM计算型

单客户安全组数量上限

100

单安全组规则数量

出/入向总和最多200

单实例可关联安全组数量

最多5

使用建议

  • 最小授权原则:仅开放业务所需的协议和端口,避免过度放行。例如,仅需提供Web服务时,只放行80443端口。

  • 限制管理端口来源:SSH(22)、RDP(3389)等管理端口建议限制为运维人员的固定IP地址,避免开放给0.0.0.0/0

  • 及时添加入方向规则:新建安全组默认拒绝所有入方向流量,请在创建安全组后根据业务需求及时添加放行规则。

  • 按业务角色划分安全组:建议按照业务角色(如Web服务器、数据库服务器)创建不同的安全组,便于分别配置规则和管理。

  • 规则精简:避免在单个安全组中配置过多规则,保持规则清晰、易于维护。

  • IPv6规则配置:如实例使用IPv6地址,请同步配置IPv6地址段的安全组规则,确保IPv6流量的访问控制符合预期。

安全组与网络ACL对比

安全组和网络ACL均为ENS提供的网络访问控制功能,二者的作用范围和特性不同:

对比项

安全组

网络ACL

作用范围

实例级别(网卡)

VPC网络级别

状态特性

有状态(自动放行响应流量)

有无状态视具体协议而定,具体参考网络ACL-规则生效机制部分

规则生效对象

关联的实例

VPC下所有实例和弹性网卡

默认行为

入方向拒绝,出方向允许

创建时自带默认放行规则

适用场景

针对单个或一组实例的精细化流量控制

针对整个VPC网络的边界访问控制

建议同时使用安全组和网络ACL,实现多层次的网络安全防护。