安全组

概述

安全组:为云主机网卡提供安全控制,按照指定的安全规则对进出网卡的TCP/UDP/ICMP等数据包进行有效过滤。

功能框架

安全组与安全规则

安全组通过安全规则控制和过滤进出网卡的流量。一个安全组可以添加多条安全规则。根据创建规则可以分为系统规则和自定义规则:
  • 系统规则:安全组内的网卡默认允许相互访问,系统会自动添加相应的出/入方向规则,该规则优先级高于所有自定义规则,且不可修改或删除。如需取消组内互通,可以停用该规则。
  • 自定义规则:用户自定义添加到安全组的规则。
安全规则由作用方向、作用对象、协议&端口、行为、优先级组成
  • 作用方向:安全规则对流量来源或目的进行控制,按控制的流量流向,可分为入方向规则和出方向规则:
    • 入方向规则:针对由外部进入网卡的流量,主要控制流量来源。
    • 出方向规则:针对由网卡向外发送的流量,主要控制流量目的。
  • 作用对象:安全规则的生效对象,包括源和目的
    • 源:与入方向规则对应,支持使用IP地址/段或安全组作为源
      • IP地址/段:允许/拒绝来自该IP地址/段的流量访问组内网卡。
      • 安全组:允许/拒绝另一个安全组内的网卡访问当前安全组内的网卡。
    • 目的:与出方向规则对应,支持使用IP地址/段或安全组作为目的
      • IP地址/段:允许/拒绝组内网卡访问该IP地址/段。
      • 安全组:允许/拒绝当前安全组内的网卡访问另一个安全组内的网卡。
  • 协议&端口:规则作用的数据包协议和对应端口:
      • ALL:表示涵盖所有协议类型,此时不能指定端口。
      • TCP:支持1-65535端口。
      • UDP:支持1-65535端口。
      • ICMP:默认起始结束端口均为-1,表示支持全部的ICMP协议。
      示例:
      • 设置入方向规则,协议TCP,源IP段192.168.12.0/24,端口1000,策略允许,表示允许来自192.168.12.0/24网段的流量使用TCP协议访问组内网卡的1000端口
      • 设置出方向规则,协议UDP,目的IP段192.168.12.0/24,端口1000-1001,策略允许,表示允许组内网卡使用UDP协议访问192.168.12.0/24网段的1000和1001端口。
  • 行为:针对满足规则匹配条件的流量所应采取的具体动作,包括允许和拒绝:
    • 允许:允许网络请求流量流入或流出网卡。
    • 拒绝:不允许网络请求流量流入或流出网卡。
  • 优先级
    • 由于安全组同时支持黑名单和白名单机制,同一源/目的上被设置多条规则时,可能发生冲突。设置优先级后,同一源/目的优先级最高的规则生效。
    • 支持的优先级范围:1-100,数值越大,优先级越低。

安全组与网卡

网卡加入安全组后,才会受安全规则的控制。一张网卡可以加入多个安全组。
  • 安全组优先级
    • 网卡加入多个安全组时,可设置安全组优先级,网卡将首先匹配优先级较高的安全组下的规则。
    • 所有管理员安全组优先级高于租户/子账户安全组。
  • 其他流量控制策略:作用于未被安全组规定的流量
    • 网卡加入安全组后,除安全规则规定外,默认允许其他所有出方向流量,拒绝其他所有入方向流量。
    • 用户也可以自定义调整该策略,控制未被安全组规定的流量。

安全组与权限

安全组分为管理员安全组和租户/子账户安全组。通常,管理员安全组由管理员创建、归管理员所有,租户/子账户安全组由租户/子账户创建,归租户/子账户所有。
  • 租户/子账户只能查看和操作自己所有的安全组。
  • 管理员可以查看和管理全部安全组,其中,管理员安全组可以被绑定到任意云主机,租户/子账户安全组只能被绑定到与其所有者一致的云主机。

安全组VS防火墙

防火墙管控南北向流量,作用于整个VPC。安全组作用于云主机虚拟网卡,侧重保护VPC内部东西向通信安全。二者相辅相成,互为补充,具体区别如下:
对比项 安全组 防火墙
作用范围 云主机虚拟网卡 整个VPC网络
部署方式 分布式 集中式
部署位置 云主机 VPC路由器
配置策略 支持允许、拒绝策略 可自定义允许、丢弃或拒绝策略
优先级 自定义优先级顺序 自定义优先级顺序
规则匹配 源IP/安全组、目的IP/安全组、源端口、目的端口、协议 源IP、源端口、目的IP、目的端口、协议、报文状态

注意事项

  • 若使用安全组同时使用其他网络服务(如负载均衡、路由表等),需确保其他网络服务所需要的安全组规则已添加至该安全组中。
  • 公有网络、扁平网络和VPC网络均支持安全组服务,安全组服务均由安全组网络服务模块提供,使用方法均相同:使用iptables进行云主机的安全控制。
  • 安全组实际上是一个分布式防火墙,每次规则变化、加入/删除网卡都会导致多个云主机上的安全组规则被更新。

创建安全组

ZStack Cloud主菜单,点击资源中心 > 网络服务 > 基础网络服务 > 安全组,进入安全组界面,点击创建安全组,弹出创建安全组界面。

可参考以下示例输入相应内容:
  • 名称:设置安全组名称
  • 简介:可选项,可留空不填
  • 交换机类型:选择交换机类型,用于过滤不同网络下的网卡
  • 网卡:可选项,选择云主机网卡加入安全组,云主机网卡可在创建安全组时直接添加,也可在创建安全组后添加
  • 入方向规则:可选项,设置外部流量对网卡的访问规则,可在创建安全组时直接设置,也可在创建安全组后添加
  • 出方向规则:可选项,设置网卡的对外访问规则,可在创建安全组时直接设置,也可在创建安全组后添加
添加出/入方向规则时,需设置以下参数:
  • 类型:展示该规则控制的流量流向
  • 优先级:可选项,设置规则的生效优先级,取值范围:1-100范围内的整数。数值越大,优先级越低
    Note:
    • 如不手动设置,该规则默认排在当前所有已有规则之后。
    • 如填写的优先级已被占用,则原占用该优先级的规则将自动向后顺延。例如,设置当前规则优先级为 2,则原优先级为 2 的规则顺延为 3,原优先级为 3 的规则顺延为 4,以此类推。
  • IP地址类型:选择IP地址类型
  • 协议:选择规则针对的通信协议类型,支持ALL、TCP、UDP、ICMP四种类型
  • 端口:选项TCP或UDP时,需设置规则针对的端口
    Note:
    • 如需填写一个端口范围,请用起始端口-结束端口的形式表示。
    • 如需填写多个端口或端口范围,请用英文逗号“,”隔开,最多可填写10个。
  • :添加入方向规则时需设置此项,表示允许/拒绝来自指定IP地址/段或安全组的访问
    Note:
    • 按IP地址/段指定时,可填写一个IP范围,用起始IP-结束IP的形式表示
    • 按IP地址/段指定时,可填写CIDR,如同时填写CIDR和其他类型的IP地址,则CIDR的掩码必须为24位;如只填写CIDR,则无掩码限制。请勿使用0.0.0.0/0或::/0。
    • 如需填写多个IP地址/段,请用英文逗号“,”隔开。
  • 目的:添加出方向规则时需设置此项,表示允许/拒绝组内网卡访问指定IP地址或安全组
    Note:
    • 按IP地址/段指定时,可填写一个IP范围,用起始IP-结束IP的形式表示
    • 按IP地址/段指定时,可填写CIDR,如同时填写CIDR和其他类型的IP地址,则CIDR的掩码必须为24位;如只填写CIDR,则无掩码限制。请勿使用0.0.0.0/0或::/0。
    • 如需填写多个IP地址/段,请用英文逗号“,”隔开。
  • 启用状态:设置安全组创建完成后是否直接启用该规则,默认为启用;如设置为停用,安全组创建完成后,组内的网卡不会匹配这条规则,直到您手动启用它
  • 简介:可选项,可留空不填
图 1所示:
图 1. 创建安全组


管理安全组

ZStack Cloud主菜单,点击资源中心 > 网络服务 > 基础网络服务 > 安全组,进入安全组界面。

安全组支持以下操作:
操作 描述
创建安全组 创建一个新的安全组。
编辑安全组 修改安全组的名称与简介。
启用安全组 将停用的安全组启用。
停用安全组 停用安全组,停用后,安全组规则和相关安全组服务不再生效。
删除安全组 删除安全组,将自动删除所有的安全组规则和相关安全组服务。
点击安全组名称,进入安全组详情页,可进一步对安全组内的规则进行操作。
操作 描述
添加规则 添加一个出方向或入方向规则。
修改规则 修改已添加的规则。
Note: 系统自动添加的、用于组内互通的规则不支持修改。
启用规则 将停用状态的规则启用生效。
停用规则 将启用状态的规则停用。停用后,组内网卡不再匹配这条规则。
导入规则 为安全组批量导入规则。
Note: 导入的规则优先级默认低于当前所有规则,且处于停用状态。用户可在导入后手动调整规则优先级并将其启用。
导出规则 批量导出安全组规则。
删除规则 删除已添加的规则。
Note: 系统自动添加的、用于组内互通的规则不支持删除。
点击安全组名称,进入安全组详情页,并点击网卡标签,可进一步对安全组内的网卡进行操作。
操作 描述
绑定网卡 将网卡添加进安全组。
  • 管理员执行该操作时需注意:
    • 安全组所有者为管理员时,支持绑定到任意网卡,如网卡所有者为管理员,则该安全组优先级默认排在网卡已绑定的所有安全组之后;如网卡所有者为租户/子账户,则该安全组优先级默认为1(即最高)。
    • 安全组所有者为租户/子账户时,只支持绑定到与其所有者一致的云主机网卡,且优先级默认排在网卡已绑定的所有安全组之后。
  • 租户/子账户执行该操作时,仅支持将安全组绑定到归自己所有的云主机网卡,且优先级默认排在网卡已绑定的所有安全组之后。
  • 绑定完成后,用户均可前往云主机网卡列表,点击设置安全组,调整默认的优先级顺序。
解绑网卡 将网卡从安全组内解绑。