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 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。
配置
当前实现是在 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
