跳转到: 导航, 搜索

Neutron/mcafee-ngfw-firewall

概述

McAfee NGFW FWaaS 集成使用 McAfee 下一代防火墙 (NGFW) 虚拟设备 (VM) 和 安全管理中心 (SMC) 服务器来实现 L3 路由器和 FWaaS 功能。

特性

基本路由

NGFW 在其连接的网络之间路由流量。

外部网关

您可以将网关附加到路由器,使其充当默认网关。

浮动 IP

您可以使用目标 NAT 将公共 IP 关联到内部实例。

FWaaS

您可以创建 FW 策略并将其与所有租户的路由器关联。

NGFW 功能

您可以使用 SMC 配置围绕通过 Neutron 定义的基本防火墙策略的 深度包检测应用程序检测 规则。

架构

McAfee NGFW FWaaS 集成分为两部分实现:McAfee L3 路由器插件McAfee FWaaS 驱动程序

McAfee FWaaS 集成架构

McAfee L3 路由器插件

L3 插件在 Neutron 内部运行,并用路由器 VM 替换上游网络命名空间实现。该插件与 Nova 通信以实例化 VM 并将其作为配置的路由器端口附加。NGFW 接口和路由配置通过 SMC REST API 传递给预配置的通用 SMC 服务器。SMC 然后配置 NGFW VM。

创建后,路由器 VM 将附加到预配置的管理网络,该网络用于 SMC 和 NGFW VM 之间的通信。

该插件使用 neutron 数据库中的两个新表来跟踪路由器 VM 相关信息。您可以使用 mfe-neutron-db-manage 命令来创建这些表,该命令是 neutron-db-manage 的包装器。McAfee L3 插件使用自己的 alembic 迁移表,因此独立于 neutron。请确保运行

mfe-neutron-db-manage upgrade

命令每次更新 mfe_fwaas python 包时。

McAfee FWaaS 驱动程序

FWaaS 驱动程序在 L3 代理内部运行,并符合 FwaasDriverBase API。该驱动程序负责将 Neutron 防火墙对象转换为 NGFW 策略,并将这些策略应用于 NGFW VM。与 L3 插件一样,FWaaS 驱动程序使用 SMC REST API。

NGFW driver.png

配置

当前实现是在 kilo 版本之上开发的和测试的。不过,您需要移植 bug #1475244 的修复。

McAfee L3 路由器插件

安装 mfe_fwaas python 包

pip install mfe_fwaas

更新 Neutron 数据库

mfe-neutron-db-manage upgrade head

作为管理员,创建一个用于托管路由器 VM 的租户

tenant-create --name ngfw_tenant

作为管理员,创建一个用于管理路由器 VM 的用户

keystone user-create --name ngfw_admin --tenant ngfw_tenant --pass password

作为管理员,使该用户成为管理员

keystone user-role-add --user ngfw_admin --tenant ngfw_tenant --role admin

从现在开始,使用 ngfw_admin 和 ngfw_tenant 作为用户和项目。

为 NGFW VM 创建 flavor。这些资源是推荐的最低配置。

nova flavor-create --is-public false ngfw_flavor auto 2048 0 2

导入 NGFW 磁盘镜像。注意:FWaaS 集成当前需要未发布的 NGFW 功能才能正常工作。请联系 McAfee 销售以获取镜像。

glance image-create --name ngfw_image --disk-format qcow2 --container-format bare --is-public false --file mcafee_ngfw.img

创建一个 Neutron 网络,用于 SMC 和 NGFW 防火墙 VM 之间的通信。例如,这将创建一个提供者网络,该网络映射到桥接 ‘smc’,SMC 服务器连接到该桥接。

neutron net-create --provider:network_type flat --provider:physical_network smc ngfw_mgmt_network

为 SMC 创建子网

neutron subnet-create ngfw_mgmt_network 192.168.206.128/26

在可以与 Neutron 和 L3 代理以及管理网络通信的机器上安装 SMC。使用 SMC 管理客户端启用 SMC API。

确保 McAfee 路由器插件和 FWaaS 插件已添加到您的 neutron.conf 中的服务插件中。

service_plugins = mfe_fwaas.router_plugin.ngfw_neutron_plugin.NgfwRouterPlugin,neutron_fwaas.services.firewall.fwaas_plugin.FirewallPlugin

将以下配置部分添加到您的 neutron.conf 中。

[NGFW]

# Router VM parameters
ngfw_image_id = 068185a4-20af-43e4-bb89-2e944d4cfe99
ngfw_flavor_id = 044f3971-6cfc-4432-a162-d43a2f58ce62
ngfw_mgmt_network_id = 3f9a2e58-0766-4eca-b5ff-3eb4b2db9cfb

vm_spawn_timeout = 0
vm_status_polling_interval = 3
fw_status_polling_interval = 3
fw_status_polling_timeout = 0

# Tenant that owns the router VMs
tenant_id = 87e36f304f8a4afdaa989b300100b2e4
tenant_name = ngfw_tenant

# Router VM admin user
tenant_admin_password = password
tenant_admin_name = ngfw_admin

# All router VM MACs will start with this. Hotplugging only works with ‘58:7a:4d’.
mac_address_prefix = 58:7a:4d

# SMC credential
smc_api_version = 5.8
smc_url = http://192.168.206.171:8082
smc_api_auth_key = BRTcfZspkFgsoTHcjD680001

McAfee FWaaS 驱动程序

配置 McAfee L3 插件后,通过在 fwaas_driver.ini 中配置以下变量来启用 FWaaS 驱动程序。

driver = mfe_fwaas.fwaas_driver.ngfw_fwaas.NgfwFwaasDriver
[ngfw]
smc_api_auth_key = BRTcfZspkFgsoTHcjD680001
smc_api_version = 5.8
smc_url = http://192.168.206.171:8082