防火墙

概述

防火墙:在VPC网络场景下,负责管控经由VPC路由器的流量,通过配置规则集和规则管控网络的访问控制策略。

相关定义

  • 防火墙规则集:防火墙规则的集合,包含了一组规则,需要绑定到VPC路由器网卡的某个方向上才能生效。
    • 防火墙规则集可绑定VPC路由器网卡的入方向或出方向:
      • 绑定入方向:规则集中的所有规则作用于通过网络进入VPC路由器的流量。
      • 绑定出方向:规则集中的所有规则作用于从VPC路由器通过网络向外发出的流量。
  • 防火墙规则:配置至防火墙用于控制VPC网络流量的访问策略,由规则优先级、匹配条件、以及行为三部分组成。
    • 防火墙规则可绑定VPC路由器网卡的入方向或出方向:
      • 绑定入方向:防火墙规则作用于通过网络进入VPC路由器的流量。
      • 绑定出方向:防火墙规则作用于从VPC路由器通过网络向外发出的流量。
    • 防火墙规则分为自定义规则和系统规则:
      • 自定义规则:用户自定义的防火墙规则,可选择规则的作用方向,并配置规则的优先级、匹配条件、和行为。
        • 规则优先级:定义一条防火墙规则相对其他防火墙规则优先匹配和生效机制,支持的优先级范围为1001-2999。
          • 通常按照优先级由高到低进行匹配,以阿拉伯数字标识,数字越小,优先级越高。
          • 一般而言,规则匹配条件越具体,所配置的优先级应该越高。
        • 匹配条件:定义匹配VPC网络流量属性的条件,包括源IP和目的IP地址、源端口和目的端口、报文状态、报文协议。
          • 源IP和目的IP支持输入固定IP地址、IP范围或CIDR,支持混合输入。
          • 若输入多个IP地址,且包含一个或多个CIDR格式,则CIDR格式仅支持/24掩码范围,若仅输入一个CIDR则不限制掩码范围。
          • 支持最多添加10条,以英文逗号分隔。
        • 行为:定义针对满足规则匹配条件的流量所应采取的具体动作,包括接受、丢弃、和拒绝。
          • 接受:允许VPC路由器上的网络请求流量通过。
          • 丢弃:不允许VPC路由器上的网络请求流量通过,且不向请求端反馈。
          • 拒绝:不允许VPC路由器上的网络请求流量通过,并向请求端反馈不通过信息。
      • 系统规则:支持系统服务的预置规则。系统规则已预绑定了作用方向,同时预置了规则的优先级、匹配条件、以及行为。
        • 系统规则优先级范围为1-1000、4000-9999。
        • ZStack Cube 旗舰版已为防火墙的VPC路由器入方向流量和出方向流量配置以下系统规则:
          • 作用于入方向的系统规则:
            • 规则1:优先级为4000,行为和匹配条件为允许任意源/目的IP地址和端口、任意协议、且报文状态为establishedrelated的流量通过网络进入VPC路由器。
            • 规则2:优先级为9999,行为和匹配条件为允许任意源/目的IP地址和端口、任意协议、且报文状态为new的流量通过网络进入VPC路由器。
            • 规则3:默认规则,优先级为10000,行为和匹配条件为默认拒绝任意源/目的IP地址和端口、任意协议、任意报文状态的流量通过网络进入VPC路由器。用户可手动修改该条规则的行为,包括接受、丢弃、和拒绝。
          • 作用于出方向的系统规则:
            • 规则1:默认规则,优先级为10000,行为和匹配条件为默认允许任意源/目的IP地址和端口、任意协议、任意报文状态的流量通过网络进入VPC路由器。用户可手动修改该条规则的行为,包括接受、丢弃、和拒绝。
        • 除默认规则仅支持修改行为外,其他系统规则均不支持修改。
        • 系统规则不支持添加或删除。
  • 规则模板:将一组规则保存为模板,向防火墙或规则集添加规则时可直接选用该模板。
  • IP/端口集合:将一组IP或端口进行保存,在向防火墙或规则集添加规则时可直接选用已建好的IP/端口集合。

功能原理

ZStack Cube 旗舰版支持在防火墙的VPC路由器每个网卡流量方向上均绑定和配置规则集和规则。配置规则集或规则后,根据规则的优先级、匹配条件、行为、以及作用方向过滤进/出VPC路由器网卡的流量,从而保障整个VPC的通信安全以及VPC路由器安全,确保用户业务安全稳定运行。

图 1所示:
图 1. 防火墙


假定用户在VPC私网中已部署一台服务器和两台云主机,用于运行重要业务。为保障业务安全,在相应的VPC路由器入方向和出方向绑定防火墙规则集或规则,允许公网可信流量可访问VPC私网中云主机业务,以及VPC私网中服务器可访问公网服务器数据。
  • 云主机1访问云主机3:访问流量匹配公网网卡入方向规则集,检测为恶意流量,拒绝访问。
  • 云主机2访问云主机4:访问流量匹配公网网卡入方向规则,再匹配私网网卡出方向规则,检测为可信流量,允许访问。
  • 服务器2访问服务器1:访问流量匹配私网网卡入方向规则集,再匹配公网网卡出方向规则集,检测为可信流量,允许访问。

防火墙VS安全组

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

创建防火墙

ZStack Cube 旗舰版主菜单,点击资源中心 > 网络服务 > 高级网络服务 > 防火墙,进入防火墙界面。点击创建防火墙,弹出创建防火墙界面。

可参考以下示例输入相应内容:
  • 名称:设置VPC防火墙的名称
  • 简介:可选项,可留空不填
  • VPC路由器:选择需要防护的VPC路由器
    Note: 创建防火墙需要VPC路由器需处于运行状态,且未绑定任何防火墙。
图 1所示:
图 1. 创建防火墙


创建完成后,在防火墙详情页添加规则,即可对VPC路由器进行防护。

管理防火墙

ZStack Cube 旗舰版主菜单,点击资源中心 > 网络服务 > 高级网络服务 > 防火墙,进入防火墙界面。

防火墙支持以下操作:
操作 描述
创建防火墙 创建一个新的防火墙。
删除 删除防火墙。

防火墙详情

添加防火墙规则

ZStack Cube 旗舰版主菜单,点击资源中心 > 网络服务 > 高级网络服务 > 防火墙,进入防火墙界面。可从防火墙详情页或规则集详情页两个入口添加防火墙规则。

若从防火墙详情页进入,点击添加规则,弹出添加规则界面。

可参考以下示例输入相应内容:
  • 优先级:设置规则优先级
    Note:
    • 优先级支持输入范围:1001-2999,数字越小表示优先级越高
    • 优先级范围1-1000、4000-9999是支持系统服务的预置规则,除默认规则仅支持修改行为外,其他系统规则不支持添加、修改或删除
    • 同一规则集内,规则优先级不能相同
  • 行为:选择接收到网络请求的处理办法,包括:接受、丢弃、拒绝
    • 接受:允许VPC路由器上的网络请求通过
    • 丢弃:不允许VPC路由器上的网络请求通过,且不向请求端反馈
    • 拒绝:不允许VPC路由器上的网络请求通过,并向请求端反馈不通过信息
  • 报文状态:可选项,选择VPC防火墙需要匹配规则的报文,例如:若勾选new选项,则所有new状态的报文将按照当前规则设置的行为来处理
    • new:新连接请求
    • established:已建立的连接
    • invalid:无法识别的连接
    • related:相关联的连接,当前连接是一个新请求,但附属于某个已存在的连接
  • 协议:必选项,选择VPC防火墙需要匹配规则的协议,例如:若选择TCP,则所有TCP协议的请求将按照当前规则设置的行为来处理
  • IP地址:可选项,设置当前规则需要匹配的源IP地址和目的IP地址
    • 支持输入固定IP地址、IP地址范围或CIDR,若使用IP地址范围格式需要以-分隔,如:192.168.0.1-192.168.0.100
    • 源IP地址/目的IP地址最多添加10条,支持固定IP地址、IP地址范围或IP/掩码格式的混合输入,以英文逗号隔开。
    • 若输入多个IP地址,且包含一个或多个CIDR格式,则CIDR格式仅支持/24掩码范围,若仅输入一个CIDR则不限制掩码范围。
    • 支持使用IP/端口集合方式快速填写IP地址。
  • 简介:可选项,可留空不填
  • 立刻启用:设置当前规则是否在添加后立即生效。若不开启,则当前规则在添加后将为停用状态,需手动启用后才能生效
  • 保存为规则模板:将当前规则设置保存为一个规则模板
图 1所示:
图 1. 添加规则


若从规则集详情页进入,点击添加规则,弹出添加规则界面。支持以下两种方式添加规则:
  • 手动添加规则
  • 模板导入规则

手动添加规则

可指定单个IP地址逐条添加规则,也可指定IP范围批量添加规则。最大允许一次性批量添加 1998 条规则。

可参考以下示例输入相应内容:
  • 优先级:设置规则优先级
    Note:
    • 优先级支持输入范围:1001-2999,数字越小表示优先级越高
    • 优先级范围1-1000、4000-9999是支持系统服务的预置规则,除默认规则仅支持修改行为外,其他系统规则不支持添加、修改或删除
    • 同一规则集内,规则优先级不能相同
  • 行为:选择接收到网络请求的处理办法,包括:接受、丢弃、拒绝
    • 接受:允许VPC路由器上的网络请求通过
    • 丢弃:不允许VPC路由器上的网络请求通过,且不向请求端反馈
    • 拒绝:不允许VPC路由器上的网络请求通过,并向请求端反馈不通过信息
  • 报文状态:可选项,选择VPC防火墙需要匹配规则的报文,例如:若勾选new选项,则所有new状态的报文将按照当前规则设置的行为来处理
    • new:新连接请求
    • established:已建立的连接
    • invalid:无法识别的连接
    • related:相关联的连接,当前连接是一个新请求,但附属于某个已存在的连接
  • 协议:必选项,选择VPC防火墙需要匹配规则的协议,例如:若选择TCP,则所有TCP协议的请求将按照当前规则设置的行为来处理
  • IP地址:可选项,设置当前规则需要匹配的源IP地址和目的IP地址
    • 支持输入固定IP地址、IP地址范围或CIDR,若使用IP地址范围格式需要以-分隔,如:192.168.0.1-192.168.0.100
    • 源IP地址/目的IP地址最多添加10条,支持固定IP地址、IP地址范围或IP/掩码格式的混合输入,以英文逗号隔开。
    • 若输入多个IP地址,且包含一个或多个CIDR格式,则CIDR格式仅支持/24掩码范围,若仅输入一个CIDR则不限制掩码范围。
    • 支持使用IP/端口集合方式快速填写IP地址。
  • 简介:可选项,可留空不填
  • 立刻启用:设置当前规则是否在添加后立即生效。若不开启,则当前规则在添加后将为停用状态,需手动启用后才能生效
  • 保存为规则模板:将当前规则设置保存为一个规则模板
图 2所示:
图 2. 手动添加规则


模板导入规则

用户可通过模板导入方式将其他防火墙出/入方向上部分或全部规则快速添加至当前防火墙。若需在模板文件中大量修改或添加规则,推荐使用手动添加规则方式,更为便捷易用。

可参考以下步骤使用模板导入规则:
  1. 从当前/其他防火墙详情页或规则集详情页导出已添加规则的CSV模板文件。
    图 3所示:
    图 3. 模板文件


  2. 按规定格式填写规则信息。
    可参考以下示例输入相应内容:
    • 优先级:必填项,设置规则优先级
      Note:
      • 优先级支持输入范围:1001-2999,数字越小表示优先级越高
      • 优先级范围1-1000、4000-9999是支持系统服务的预置规则,系统规则不支持添加、修改或删除
      • 同一规则集内,规则优先级不能相同
    • 协议:可填项,填写VPC防火墙需要匹配规则的协议,例如:若填写TCP,则所有TCP协议的请求将按照当前规则设置的行为来处理。支持ALL,TCP,UDP,ICMP,GRE,ESP,AH,IPIP,VRRP,IPENCAP,PIM,OSPF,IGMP。填写多个协议时请用英文分号(;)分隔,不填则默认为 ALL
    • 创建时间:可填项,仅防火墙详情页导出的模板存在此项,可留空不填
    • 所属规则集:可填项,仅规则集详情页导出的模板存在此项,可留空不填
    • 操作:必填项,选择接收到网络请求的处理办法,包括:接受、丢弃、拒绝
      • 接受:允许VPC路由器上的网络请求通过
      • 丢弃:不允许VPC路由器上的网络请求通过,且不向请求端反馈
      • 拒绝:不允许VPC路由器上的网络请求通过,并向请求端反馈不通过信息
    • 启用状态:可填项,设置当前规则是否在添加后立即生效
      • 若不填或填 disable,则当前规则在添加后将为停用状态,需手动启用后才能生效。
      • 若填 enable,当前规则在添加后立即生效。
    • 报文状态:可填项,填写VPC防火墙需要匹配规则的报文,填写多个选项时请用英文分号(;)分隔。支持以下报文状态:
      • new:新连接请求
      • established:已建立的连接
      • invalid:无法识别的连接
      • related:相关联的连接,当前连接是一个新请求,但附属于某个已存在的连接
    • TCP flag:可填项,当协议类型选择 TCP 时填写,支持 SYN、ACK、FIN、RST、URG、PSH。填写多个时请用英文分号(;)分隔,不填则默认为空
    • ICMP类型:可填项,当协议类型选择 ICMP 时填写, 支持 echo-reply、echo-request、destination-unreachable、source-quench、redirect、router-advertisement、router-solicitation、time-exceeded、parameter-problem、timestamp-reply、timestamp-request、address-mask-request、address-mask-reply
    • 源端口:可填项,设置当前规则需要匹配的源IP端口,当协议类型选择 TCP 或 UDP 时填写
      • 支持输入端口号或端口范围,输入端口范围需以短横线(-)分隔,如:1-100。
      • 支持最多添加10条,以英文分号(;)分隔。
    • 目的端口:可填项,设置当前规则需要匹配的目的IP端口,当协议类型选择 TCP 或 UDP 时填写
      • 支持输入端口号或端口范围,输入端口范围需以短横线(-)分隔,如:1-100。
      • 支持最多添加10条,以英文分号(;)分隔。
    • 源IP地址:可填项,设置当前规则需要匹配的源IP地址
      • 支持输入固定IP地址、IP地址范围或CIDR,若使用IP地址范围格式需要以-分隔,如:192.168.0.1-192.168.0.100
      • 若输入多条 CIDR,或 CIDR 与其他格式混合输入,则 CIDR 格式仅支持 /24 掩码范围。若仅输入一个 CIDR 则不限制掩码范围。支持最多添加 10 条,以英文分号(;)分隔。
    • 目的IP地址:可填项,设置当前规则需要匹配的目的IP地址
      • 支持输入固定IP地址、IP地址范围或CIDR,若使用IP地址范围格式需要以-分隔,如:192.168.0.1-192.168.0.100
      • 若输入多条 CIDR,或 CIDR 与其他格式混合输入,则 CIDR 格式仅支持 /24 掩码范围。若仅输入一个 CIDR 则不限制掩码范围。支持最多添加 10 条,以英文分号(;)分隔。
    • 简介:可填项,可留空不填
  3. 上传模板文件。

    模板文件填写完成后,且确保语法无误后,点击上传文件或将文件拖拽到浏览器,将模板文件上传到云平台。

    图 4所示:
    图 4. 模板导入规则


    Note:
    • 模板导入规则后,需同步所属规则集的配置后生效。

管理防火墙规则

ZStack Cube 旗舰版主菜单,点击资源中心 > 网络服务 > 高级网络服务 > 防火墙,进入防火墙界面。可从防火墙详情页或规则集详情页两个入口管理防火墙规则。

防火墙规则支持以下操作:
操作 描述
启用防火墙规则 将处于停用状态的防火墙规则启用。
停用防火墙规则 停止使用某个防火墙规则。
修改防火墙规则 修改某条防火墙规则。
Note:
  • 防火墙详情页不支持对规则集中的规则进行修改。
  • 除默认规则仅支持修改行为外,其他系统规则均不支持修改。
删除防火墙规则 删除某条防火墙规则。
  • 系统规则不支持删除。
导出CSV 以CSV格式导出防火墙规则。

规则集

创建规则集

ZStack Cube 旗舰版主菜单,点击资源中心 > 网络服务 > 高级网络服务 > 防火墙,进入防火墙界面。点击规则集,进入规则集子界面,点击创建规则集,弹出创建规则集界面。

可参考以下示例输入相应内容:
  • 名称:设置规则集的名称
  • 简介:可选项,可留空不填
图 1所示:
图 1. 创建规则集


创建完成后,可在规则集详情页添加规则,添加完成后将规则集绑定到VPC路由器网卡的某个方向上,即可对VPC路由器进行防护。

管理规则集

ZStack Cube 旗舰版主菜单,点击资源中心 > 网络服务 > 高级网络服务 > 防火墙,进入防火墙界面。点击规则集,进入规则集子界面。

规则集支持以下操作:
操作 描述
创建规则集 创建一个新的规则集。
同步配置 修改规则集中的规则后,需要点击同步配置生效。
添加规则 选择规则集并添加规则。
绑定网络 为规则集绑定网络。
解绑网络 将规则集与网络解绑
删除 删除规则集。

规则模板

ZStack Cube 旗舰版主菜单,点击资源中心 > 网络服务 > 高级网络服务 > 防火墙,进入防火墙界面。点击规则模板,进入规则模板子界面,点击创建规则模板,弹出创建规则模板界面。

可参考以下示例输入相应内容:
  • 名称:设置规则模板名称
  • 简介:可选项,可留空不填
  • 优先级:设置规则优先级
    Note:
    • 优先级支持输入范围:1001-2999,数字越小表示优先级越高
    • 优先级范围1-1000、4000-9999是支持系统服务的预置规则,系统规则不支持添加、修改或删除
    • 同一规则集内,规则优先级不能相同
  • 行为:选择接收到网络请求的处理办法,包括:接受、丢弃、拒绝
    • 接受:允许VPC路由器上的网络请求通过
    • 丢弃:不允许VPC路由器上的网络请求通过,且不向请求端反馈
    • 拒绝:不允许VPC路由器上的网络请求通过,并向请求端反馈不通过信息
  • 报文状态:可选项,选择VPC防火墙需要匹配规则的报文,例如:若勾选new选项,则所有new状态的报文将按照当前规则设置的行为来处理
    • new:新连接请求
    • established:已建立的连接
    • invalid:无法识别的连接
    • related:相关联的连接,当前连接是一个新请求,但附属于某个已存在的连接
  • 协议:必选项,选择VPC防火墙需要匹配规则的协议,例如:若选择TCP,则所有TCP协议的请求将按照当前规则设置的行为来处理
  • IP地址:可选项,设置当前规则需要匹配的源IP地址和目的IP地址
    • 支持输入固定IP地址、IP地址范围或CIDR,若使用IP地址范围格式需要以-分隔,如:192.168.0.1-192.168.0.100
    • 源IP地址/目的IP地址最多添加10条,支持固定IP地址、IP地址范围或IP/掩码格式的混合输入,以英文逗号隔开。
    • 若输入多个IP地址,且包含一个或多个CIDR格式,则CIDR格式仅支持/24掩码范围,若仅输入一个CIDR则不限制掩码范围。
    • 支持使用IP/端口集合方式快速填写IP地址。
图 1所示:
图 1. 创建规则模板


IP/端口集合

ZStack Cube 旗舰版主菜单,点击资源中心 > 网络服务 > 高级网络服务 > 防火墙,进入防火墙界面。点击IP/端口集合,进入IP/端口集合子界面,点击创建IP/端口集合,弹出创建IP/端口集合界面。

可参考以下示例输入相应内容:
  • 名称:设置IP/端口集合的名称
  • 类别:设置集合的类别,包括:IP、端口
    若选择IP,需输入以下参数:
    • 源IP地址:输入需要整合的源IP地址
    • 目的IP地址:输入需要整合的目的IP地址
    Note:
    • 支持输入固定IP地址、IP地址范围或CIDR,若使用IP地址范围格式需要以-分隔,如:192.168.0.1-192.168.0.100。
    • 源IP地址/目的IP地址最多添加10条,支持固定IP地址、IP地址范围或IP/掩码格式的混合输入,以英文逗号隔开。
    • 若输入多个IP地址,且包含一个或多个CIDR格式,则CIDR格式仅支持/24掩码范围,若仅输入一个CIDR则不限制掩码范围。
    若选择端口,需输入以下参数:
    • 源端口:输入需要整合的源端口
    • 目的端口:输入需要整合的目的端口
    Note:
    • 支持输入端口号或端口范围,输入端口范围需以“-”分隔开,如:1-100。
    • 源端口/目的端口最多添加10条,支持端口号、端口范围混合输入,以英文逗号隔开。
图 1所示:
图 1. 创建IP/端口集合