Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

在 IBM Cloud 中执行 vSRX 虚拟防火墙高级任务

使用防火墙

IBM Cloud™ Juniper vSRX 虚拟防火墙使用安全区域的概念,其中每个 vSRX 虚拟防火墙接口都映射到一个“区域”,以处理有状态防火墙。无状态防火墙由防火墙过滤器控制。

策略用于允许和阻止这些定义的区域之间的流量,此处定义的规则是有状态的。

在 IBM Cloud 中,vSRX 虚拟防火墙旨在具有四个不同的安全区域:

独立接口

HA 接口

SL-Private(未标记)

ge-0/0/0.0 或 ae0.0

reth0.0

SL-Public(未标记)

ge-0/0/1.0 或 ae1.0

1.1

客户专用(已标记)

ge-0/0/0.1 或 ae0.1

reth2.1

客户公开(已标记)

ge-0/0/1.1 或 ae1.1

3.1

区域策略

以下是可以在策略中定义的一些属性:

  • 源地址

  • 目标地址

  • 应用

  • 操作(允许/拒绝/拒绝/计数/log)

由于这是一个有状态的操作,因此无需允许返回数据包(在这种情况下,Echo 会回复)。

要配置有状态的防火墙,请执行以下步骤:

  1. 创建安全区域并分配相应的接口:

    独立场景:

    set security zones security-zone CUSTOMER-PRIVATE interfaces ge-0/0/0.1

    set security zones security-zone CUSTOMER-PUBLIC interfaces ge-0/0/1.1

    高可用性场景:

    set security zones security-zone CUSTOMER-PRIVATE interfaces reth2.1

    set security zones security-zone CUSTOMER-PUBLIC interfaces reth2.1

  2. 定义两个不同区域之间的策略和规则。

    以下示例说明了从客户专用区域到“客户公共”区域 ping 流量:

    set security policies from-zone CUSTOMER-PRIVATE to-zone CUSTOMER-PUBLIC policy

    set security policies from-zone CUSTOMER-PRIVATE to-zone CUSTOMER-PUBLIC policy

  3. 使用以下命令允许定向到 vSRX 虚拟防火墙的流量:

    • 独立场景:

      set security zones security-zone CUSTOMER-PRIVATE interfaces ge-0/0/0.0 host-inbound-traffic system-services all

    • 高可用性场景:

      set security zones security-zone CUSTOMER-PRIVATE interfaces reth2.0 host-inbound-traffic system-services all

  4. 要允许 OSPF 或 BGP 等协议,请使用以下命令:

    • 独立场景:

      set security zones security-zone trust interfaces ge-0/0/0.0 host-inbound-traffic protocols all

    • 高可用性场景:

      set security zones security-zone trust interfaces reth2.0 host-inbound-traffic protocols all

防火墙过滤器

默认情况下,IBM Cloud™ Juniper vSRX 虚拟防火墙允许对自身执行 ping、SSH 和 HTTPS,并通过将 PROTECT-IN 过滤器应用于 lo 接口来丢弃所有其他流量。

要配置新的无状态防火墙,请执行以下步骤:

  1. 创建防火墙过滤器和术语(以下过滤器仅允许 ICMP 并丢弃所有其他流量)

    set firewall filter ALLOW-PING term ICMP from protocol icmp

    set firewall filter ALLOW-PING term ICMP then accept

  2. 将过滤器规则应用于接口(以下命令将过滤器应用于所有专用网络流量)

    set interfaces ge-0/0/0 unit 0 family inet filter input ALLOW-PING

使用 sNAT

您可以参考 vSRX 虚拟防火墙设备上的 sNAT 配置示例,其中网关后面路由的专用节点可以通过使用 sNAT 与外界通信

要为 IBM Cloud™ Juniper vSRX 虚拟防火墙配置 NAT,请参阅瞻博 网络网站上的网络地址转换用户指南

使用故障切换

您可以从主要 IBM Cloud™ Juniper vSRX 虚拟防火墙启动故障转移到备份设备,以便在故障转移后,所有控制和数据平面流量都会通过辅助网关设备进行路由。

注意:

仅当瞻博网络 vSRX 虚拟防火墙网关设备在高可用性模式下配置时,本节才适用。

执行以下过程:

  1. 登录您的主 vSRX 虚拟防火墙网关设备。

  2. 通过在控制台提示符下运行命令 cli,进入 CLI 模式。进入 CLI 模式后,控制台将显示主节点角色或辅助节点角色。

  3. 在主 vSRX 虚拟防火墙网关设备上,运行以下命令:

    show chassis cluster status

    确保对于两个冗余组,同一个节点设置为主节点。不同的冗余组可能会将不同的节点设置为主要角色。

    注意:

    默认情况下,vSRX 虚拟防火墙将冗余组 1 的 Preempt 设置为“是”,冗余组 0 设置为“否”。请参阅此链接,了解有关抢占和故障切换行为的更多信息。

  4. 通过在控制台提示符中运行以下命令,启动故障切换:

    request chassis cluster failover redundancy-group <redundancy group number> node <node number>

    从步骤 2 中命令输出中选择相应的冗余组编号和节点编号。要对两个冗余组进行故障转移,请执行上一个命令两次,每个组一个。

  5. 故障转移完成后,验证控制台输出。现在,它应列为辅助项。

  6. 登录对的另一个 vSRX 虚拟防火墙网关。通过再次执行命令 cli 进入 CLI 模式,然后验证控制台输出是否显示为主输出。

    提示:

    当瞻博网络 vSRX 虚拟防火墙网关设备进入 CLI 模式时,从控制平面的角度来看,输出将显示为主要输出。始终检查 show 机箱群集状态输出,从数据平面的角度来看,确定哪个网关设备是主要网关设备。请参阅 vSRX 虚拟防火墙默认配置,了解有关冗余组以及控制和数据平面的更多信息。

使用路由

IBM Cloud™ Juniper vSRX 虚拟防火墙基于 JunOS,让您能够访问完整的瞻博网络路由堆栈。

  • Static routing—要配置静态路由,请运行以下命令:

    设置默认路由 —set routing-options static route 0/0 next-hop <Gateway IP>

  • Creating a static route—运行 set routing-options static route <PREFIX/MASK> next-hop <Gateway IP>

  • Basic OSPF routing—要仅使用区域 0 设置基本 OSPF 路由,请使用命令使用 md5 身份验证 set protocols ospf area 0 interface ge-0/0/1.0 authentication md5 0 key <key> 来运行以下命令。

  • Basic BGP routing

    • 要设置基本 BGP 路由,请首先通过运行 set routing-options autonomous-system 65001 命令来定义本地 AS。

    • 然后,配置 BGP 邻接方及其会话属性:

      set protocols bgp group CUSTOMER local-address 10.1.1.1

      set protocols bgp group CUSTOMER family inet unicast

      set protocols bgp group CUSTOMER family inet6 unicast

      set protocols bgp group CUSTOMER peer-as 65002

      set protocols bgp group CUSTOMER neighbor 2.2.2.2

      此示例为以下内容配置了 BGP:

      • 要使用 10.1.1.1.1 的源 IP 地址建立会话

      • 协商 ipv4 和 ipv6 单播系列

      • 与属于 AS 65002 的邻接方对等

      • 对等邻接方 IP 10.2.2.2

有关更多配置,请参阅 Junos OS 文档

使用 VPN

本主题详细介绍了两个站点之间基于路由的 VPN 配置示例。在此示例配置中,服务器 1(站点 A)可与服务器 2(站点 B)通信,并且每个站点都使用两阶段 IPSEC 身份验证。有关更多信息 ,请参阅使用 VPN

站点 A (达拉斯) 配置示例:

站点 B(伦敦)配置示例:

性能考虑因素

为了获得最佳的 IPSEC VPN 性能,请使用 AES-GCM 作为 IKE 和 IPSEC 提议的加密算法。

例如:

set security ike proposal IKE-PROP encryption-algorithm aes-128-gcm

set security ipsec proposal IPSEC-PROP encryption-algorithm aes-128-gcm

使用 AES-GCM 作为加密算法,无需在同一提议中指定身份验证算法。AES-GCM 同时提供加密和身份验证。

有关 VPN 配置的更多信息,请参阅 安全设备 IPsec VPN 用户指南示例:配置基于路由的 VPN

保护主机操作系统

IBM Cloud™ Juniper vSRX 虚拟防火墙在安装有 Ubuntu 和 KVM 的裸机服务器上作为虚拟机运行。要保护主机操作系统的安全,应确保同一操作系统上没有其他关键服务托管。

SSH 访问

IBM Cloud™ Juniper vSRX 虚拟防火墙可通过公共和私有网络接入或专用网络访问进行部署。。默认情况下,在新配置和操作系统重新加载时,将禁用基于密码的 SSH 对主机操作系统公共 IP 的访问。可通过专用 IP 地址访问主机。或者,可以使用基于密钥的身份验证来访问公共 IP。为此,请在下达新网关顺序时指定公共 SSH 密钥。

IBM Cloud™ Juniper vSRX 虚拟防火墙的某些现有部署可能允许基于密码的 SSH 访问主机操作系统的公共 IP。对于这些部署,您可以按照以下步骤手动禁用基于密码的 SSH 对操作系统公共 IP 的访问:

  1. 修改 /等/ssh/sshd_config

    • 请确保设置了以下值。

    • 将以下过滤器规则添加到文件的末尾。

  2. 使用命令 /usr/sbin/service ssh restart重新启动 SSH 服务。

    上述过程可确保私有基础架构网络 10.0.0.0/8 子网中的地址允许 SSH 访问。需要此访问权限才能执行如下操作:OS 重新加载、群集重建、版本升级。

防火墙

如果不按所需规则实施 Ubuntu 防火墙(UFW、Iptables 等),可能会导致 vSRX 虚拟防火墙 HA 群集被禁用。vSRX 虚拟防火墙解决方案依赖于主节点和辅助节点之间的心跳通信。如果防火墙规则不允许节点之间的通信,则群集通信将丢失。

vSRX 虚拟防火墙架构会影响下面讨论的防火墙规则。有关这两种架构的详细信息,请参阅 vSRX 默认配置

对于使用传统架构运行的 vSRX 虚拟防火墙 18.4 HA 部署,需要以下规则才能允许 UFW 进行群集通信:

  1. 要允许 /etc/ufw/before.rules 中的协议 47(用于心跳通信):

    -A ufw-before-input -p 47 -j ACCEPT

  2. 要允许专用网络通信:

    ufw allow in from 10.0.0.0/8 to 10.0.0.0/8

  3. 要启用 UFW:

    ufw enable

对于使用更新架构运行的 vSRX 虚拟防火墙版本,防火墙规则必须允许组播通信。

注意:

在某些情况下,故障排除操作可能需要禁用防火墙才能访问公共存储库。在这些情况下,您应该与 IBM Support 合作,了解如何继续。

大多数网关操作都需要 SSH 访问主机操作系统和 vSRX 虚拟防火墙的专用 10.0.0.0/8 子网。使用防火墙阻止此访问可能会导致以下操作失败:操作系统重新加载、群集重建和版本升级

因此,如果为 10.0.0.0/8 子网禁用 SSH 访问,则必须在执行上述任一操作之前重新启用 SSH 访问。

配置管理接口

IBM Cloud™ Juniper vSRX 虚拟防火墙节点提供默认情况下未配置的内置管理接口 (“fxp0”)。配置这些专用接口后,可用于与单个节点通信,这在高可用性群集中可用于监控通过 SSH、ping、SNMP 等的辅助节点的状态。由于 vSRX 虚拟防火墙的专用 IP 浮动到主节点,因此无法直接访问辅助节点。

fxp0 接口的配置要求子网中的 IP 连接到网关的专用传输 VLAN。虽然网关附带的主子网有可能可用的 IP,但不建议这样做。这是因为主子网是为网关配置基础架构保留的,如果同一 Pod 中部署了其他网关,可能会发生 IP 冲突。

您可以为专用传输 VLAN 分配一个辅助子网,并使用此子网中的 IP 配置 fxp0 和主机桥接接口,以实现 PING 和 SSH 访问。为此,请执行以下过程:

  1. 订购一个可移植的私有子网并将其分配给 vSRX 虚拟防火墙专用传输 VLAN。您可以在网关详细信息页面上找到专用传输 VLAN。
    注意:

    确保子网至少包含 8 个地址,以便为主机桥接接口支持 2 个 IP,为 vSRX 虚拟防火墙 fxp0 接口支持 2 个 IP。

  2. 配置主机 br0:0使用新子网中的 2 个 IP 桥接接口。例如:

    在 Ubuntu 主机 0 上:ifconfig br0:010.177.75.140 网络掩码 255.255.255.248

    在 Ubuntu 主机 1 上:ifconfig br0:010.177.75.141 网络掩码 255.255.255.248

  3. 通过修改每个 Ubuntu 主机上的 /等/网络/接口,在重新启动时保留网桥接口配置。例如:
  4. 将 2 个 IP 分配给 vSRX 虚拟防火墙 fxp0 接口,并创建备用路由器配置以访问辅助节点的 fxp0 接口:
    注意:

    有关配置备份路由器的更多信息,请参见这篇瞻博网络文章: KB17161

  5. 创建到子网的静态路由。例如:

    set routing-options static route 10.177.75.136/29 next-hop 10.177.75.137

  6. 创建防火墙过滤器以允许 PING 和 SSH 到 fxp0 管理接口:

    set firewall filter PROTECT-IN term PING from destination-address 10.177.75.136/29

    set firewall filter PROTECT-IN term SSH from destination-address 10.177.75.136/29