云主机

  • 云主机服务 > 使用文档 > 云主机 >安全组 >安全组概述

    安全组概述

    最近更新时间:2020-09-05 14:46:43

    安全组是一种虚拟防火墙,具备状态检测和数据包过滤能力,用于在云端划分安全域。通过配置安全组规则,您可以控制安全组内QVM实例的入流量和出流量。

    安全组定义

    安全组是一个逻辑上的分组,由同一地域内具有相同安全保护需求并相互信任的实例组成。

    安全组具有以下功能特点:

    • 一台QVM实例至少属于一个安全组,可以同时加入多个安全组。
    • 一个安全组可以管理同一个地域内的多台QVM实例。
    • 在没有设置允许访问的安全组规则的情况下,不同安全组内的QVM实例之间默认内网不通。
    • 安全组支持有状态应用。一个有状态的会话连接中,会话的最长保持时间是910秒。安全组会默认放行同一会话中的通信。例如,在会话期内,如果连接的数据包在入方向是允许的,则在出方向也是允许的。

    安全组描述

    安全组介绍如下:

    功能 安全组
    支持所有实例规格
    网络类型 专有网络VPC
    未添加任何规则时的访问策略 入方向:拒绝所有访问请求
    出方向:允许所有访问请求
    默认安全组规则 入方向:放行80、443、22、3389及ICMP协议,可修改
    出方向:允许所有访问请求
    手动添加安全组规则 可按需添加允许或拒绝策略的规则
    设置规则优先级 默认值为1,可修改
    授权给其他安全组 支持组组授权
    支持绑定弹性网卡到任意实例规格 否,实例网络类型必须是专有网络VPC
    能容纳的私网IP地址数量 2000
    同一个安全组内实例之间的网络连通策略 默认内网互通
    适用场景 适用于对网络精细化控制要求较高、希望使用多种QVM实例规格、以及网络连接数适中的用户场景。

    安全组规则

    建立数据通信前,安全组逐条匹配安全组规则查询是否放行访问请求。一条安全组规则由规则方向、授权策略、协议类型、端口范围、授权对象等属性确定, 具体详见下表。

    属性 说明
    规则方向 专有网络VPC支持入方向和出方向。
    授权策略 支持允许、拒绝两种访问策略。
    协议类型 TCP、UDP、ICMP(IPv4)和GRE。
    端口范围 应用或协议开启的端口。详情可参见常用端口。
    优先级 优先级的取值范围为1~100,数值越小,代表优先级越高。
    同类型规则间依赖优先级决定最终执行的规则。当QVM实例加入了多个安全组时,多个安全组会从高到低依次匹配规则。如果两条安全组规则的协议类型、端口范围、授权策略、授权对象都相同,最终生效的安全组规则如下:
    优先级相同:拒绝策略的规则优先生效,允许策略的规则不生效。
    优先级不同:优先级高的规则生效。
    授权对象 支持设置IP地址段和安全组ID。

    不同通信场景需要设置的安全组规则属性不同。例如,您使用Xshell客户端远程连接Linux系统QVM实例时,当安全组检测到从公网或内网有SSH请求,会逐一检查入方向上安全组规则、发送请求的设备的IP地址是否已存在、优先级是为同类规则第一、授权策略是否为允许、22端口是否开启等。只有匹配到一条安全组规则允许放行该请求时,方才建立数据通信。

    下图为使用Xshell远程连接Linux系统QVM实例的规则匹配举例。安全组规则匹配示意图

    更多规则配置示例,请参见安全组应用案例

    默认安全组

    通过QVM管理控制台创建实例时,若您未在该地域创建安全组,则七牛云会在创建实例的同时,创建一个默认安全组。默认安全组为普通安全组,网络类型和QVM实例一致。

    默认安全组的默认安全组规则如下:

    • 入方向:
      • 默认放行:ICMP协议、SSH 22端口、RDP 3389端口,授权对象为0.0.0.0/0。
      • 更多选择:HTTP 80端口和HTTPS 443端口,需自行勾选。
      • 规则优先级:100。
    • 出方向:允许所有访问。

    使用限制

    QVM实例和弹性网卡对所属的安全组类型有以下要求:

    • 每个用户最多有 100 个安全组。

    • 每个安全组最多有 100 条安全组规则。

    • 每个实例至少属于一个安全组,最多可以加入 5 个安全组,

    实践建议

    以下为一些实践建议。

    使用安全组时

    • 仅允许少量请求访问QVM实例时,可以将安全组作为白名单使用。即先设置安全组为拒绝全部访问,然后逐一添加允许通信的访问请求策略。
    • 不建议使用一个安全组管理所有应用,不同的分层一定有不同的隔离需求。
    • 不建议为每台QVM实例单独设置一个安全组,您只需将具有相同安全保护需求的QVM实例加入同一安全组。

    添加安全组规则时

    • 建议您设置简洁的安全组规则。如果您给一台QVM实例分配了多个安全组,该QVM实例很可能会同时遵循数百条安全组规则,任何规则变更都可能引起网络不通的故障。
    • 如果您需要修改生产环境的安全组规则,建议您提前在复制的安全组上进行调试,避免影响线上应用。
    • 为应用添加安全组规则时遵循最小授权原则。例如,您可以:
      • 选择开放具体的端口,如80/80。不要设置为端口范围,如1/80。
      • 添加安全组规则时,谨慎授权0.0.0.0/0(全网段)访问源。
    以上内容是否对您有帮助?
  • Qvm free helper
    Close