更新时间:2024-12-19 GMT+08:00
分享

安全组概述

安全组

安全组是一个逻辑上的分组,为具有相同安全保护需求并相互信任的云服务器提供访问策略。安全组创建后,用户可以在安全组中定义各种访问规则,当云服务器加入该安全组后,即受到这些访问规则的保护。

您也可以根据需要创建自定义的安全组,或使用默认安全组,系统会为每个用户默认创建一个默认安全组,默认安全组的规则是在出方向上的数据报文全部放行,入方向访问受限,安全组内的云服务器无需添加规则即可互相访问。默认安全组您可以直接使用,详情请参见默认安全组和规则

云上一分钟,了解什么是安全组。

安全组需在网络互通的情况下生效。若实例属于不同VPC,但同属于一个安全组,则此安全组不生效,您可以使用对等连接等产品建立VPC连接互通。VPC连接请参见VPC连接

安全组规则

安全组创建后,您可以在安全组中设置出方向、入方向规则,这些规则会对安全组内部的云服务器出入方向网络流量进行访问控制,当云服务器加入该安全组后,即受到这些访问规则的保护。

每个安全组都自带默认安全组规则,详情请参见默认安全组和规则。您也可以自定义添加安全组规则,请参见配置安全组规则

安全组的使用限制

  • 为了确保良好的网络性能体验,建议一个实例最多关联5个安全组。
  • 建议一个安全组关联的实例数量不应超过6000个,否则会引起安全组性能下降。
  • 在一个安全组中,对于入方向规则来说,源地址是安全组的规则数量+源地址是IP地址组的规则数量+端口是不连续端口号的规则数量 ≤ 120条,否则超过数量的安全组规则将不生效。当同时存在IPv4和IPv6类型的安全组规则时,两种类型的安全组规则单独计算,即IPv4规则和IPv6规则可以各有120条。

    对于安全组出方向规则来说,目的地址和端口存在一样的限制。

    以安全组Sg-A的入方向IPv4规则为例,表1中提供了部分符合限制条件的规则供您参考。其中,当一条安全组规则同时符合多个限制时,比如规则A02即使用了不连续端口,又使用了安全组作为源地址,此时只占用一条配额。

    表1 入方向安全组规则示例

    规则编号

    策略

    类型

    协议端口

    源地址

    规则A01

    允许

    IPv4

    全部

    当前安全组:Sg-A

    规则A02

    允许

    IPv4

    TCP: 22,25,27

    其他安全组:Sg-B

    规则A03

    允许

    IPv4

    TCP: 80-82

    IP地址组:ipGroup-A

    规则A04

    允许

    IPv4

    TCP: 22-24,25

    IP地址: 192.168.0.0/16

  • 如果您添加安全组规则时,使用IP地址组或者不连续端口,那么该安全组规则对不同规格云服务器的生效情况存在差异,为了避免您的安全组规则不生效,请您查看表2了解详情。
    表2 安全组规则限制

    安全组规则

    云服务器类型

    添加安全组规则时,“源地址”和“目的地址”可选择“IP地址组”

    不支持的X86云服务器规格如下:
    • 通用计算型(S1型、C1型、C2型 )
    • 内存优化型(M1型)
    • 高性能计算型(H1型)
    • 磁盘增强型( D1型)
    • GPU加速型(G1型、G2型)
    • 超大内存型(E1型、E2型、ET2型)

    添加安全组规则时,“协议端口”可配置为不连续端口号

    不支持的X86云服务器规格如下:

    • 通用计算型(S1型、C1型、C2型 )
    • 内存优化型(M1型)
    • 高性能计算型(H1型)
    • 磁盘增强型( D1型)
    • GPU加速型(G1型、G2型)
    • 超大内存型(E1型、E2型、ET2型)

    所有鲲鹏云服务器规格不支持配置不连续端口。

    如果您在鲲鹏云服务器中添加安全组规则时,使用了不连续端口号,那么除了该条规则不会生效,该规则后的其他规则也不会生效。比如:

    您先配置了安全组规则A(不连续端口号22,24),再配置了下一条安全组规则B(独立端口号9096),则安全组规则A和B均不会生效。

  • 当您的组网中存在以下情况时,来自ELB和VPCEP的流量不受网络ACL和安全组规则的限制。
    • ELB实例的监听器开启“获取客户端IP”功能时,不受限制。

      比如规则已明确拒绝来自ELB实例的流量进入后端云服务器,此时该规则无法拦截来自ELB的流量,流量依然会抵达后端云服务器。

    • VPCEP实例类型为“专业型”时,不受限制。

实践建议

  • 请您遵循白名单原则配置安全组规则,即安全组内实例默认拒绝所有外部的访问请求,通过添加允许规则放通指定的网络流量。
  • 添加安全组规则时,请遵循最小授权原则。例如,放通22端口用于远程登录云服务器时,建议仅允许指定的IP地址登录,谨慎使用0.0.0.0/0(所有IP地址)。
  • 请您尽量保持单个安全组内规则的简洁,通过不同的安全组来管理不同用途的实例。如果您使用一个安全组管理您的所有业务实例,可能会导致单个安全组内的规则过于冗余复杂,增加维护管理成本。
  • 您可以将实例按照用途加入到不同的安全组内。例如,当您具有面向公网提供网站访问的业务时,建议您将运行公网业务的Web服务器加入到同一个安全组,此时仅需要放通对外部提供服务的特定端口,例如80、443等,默认拒绝外部其他的访问请求。同时,请避免在运行公网业务的Web服务器上运行内部业务,例如MySQL、Redis等,建议您将内部业务部署在不需要连通公网的服务器上,并将这些服务器关联至其他安全组内。
  • 对于安全策略相同的多个IP地址,您可以将其添加到一个IP地址组内统一管理,并在安全组内添加针对该IP地址组的授权规则。当IP地址发生变化时,您只需要在IP地址组内修改IP地址,那么IP地址组对应的安全组规则将会随之变更,无需逐次修改安全组内的规则,降低了安全组管理的难度,提升效率。具体方法,请参见使用IP地址组提升安全组规则管理效率
  • 请您尽量避免直接修改已运行业务的安全组规则。如果您需要修改使用中的安全组规则,建议您先克隆一个测试安全组,然后在测试安全组上进行调试,确保测试安全组内实例网络正常后,再修改使用中的安全组规则,减少对业务的影响。具体方法,请参见克隆安全组
  • 您在安全组内新添加实例,或者修改安全组的规则后,此时不需要重启实例,安全组规则会自动生效。

    如果您的安全组规则配置完未生效,请参考为什么配置的安全组规则不生效?

相关文档