简介
本文档介绍如何在高信任环境下在Azure中部署自动缩放的Cisco Firepower威胁防御虚拟(FTDv)。
先决条件
要求
Cisco 建议您了解以下主题:
- NGFW和Firepower管理中心应通过私有IP进行通信
- 外部负载均衡器不应具有公共IP
- 该功能的应用应该能够与专用IP通信
使用的组件
本文档中的信息基于以下软件和硬件版本:
- Azure
- Firepower 管理中心
- 虚拟机扩展集
本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始(默认)配置。如果您的网络处于活动状态,请确保您了解所有命令的潜在影响。
背景信息
FTDv将思科的Firepower下一代防火墙功能引入虚拟化环境,使一致的安全策略能够跟踪物理、虚拟和云环境以及云之间的工作负载。
由于这些部署可在虚拟化环境中使用,因此目前对HA的支持不适用于NGFW。因此,为了提供高度可用的解决方案,思科下一代防火墙(NGFW)利用Azure的本地功能(如可用性集和虚拟机扩展集[VMSS])使NGFW高度可用,并满足日益增加的按需流量。
本文档重点介绍根据不同参数将Cisco NGFW配置为AutoScale,其中NGFW可按需扩展或按需扩展。这涵盖了客户要求使用Firepower管理中心(FMC)的使用案例,该管理中心在托管数据中心中可用,需要集中管理所有NGFW,客户也不希望使用FMC和FTD通过公共IP进行通信以管理流量。
在深入了解配置和设计之前,请注意以下几个对Azure应非常了解的概念:
可用区域: 可用区是一种高可用性产品,可保护您的应用和数据免受数据中心故障的影响。可用区是Azure区域内唯一物理位置。每个区域由一个或多个数据中心组成,这些数据中心配备了独立的电源、冷却和网络。
VNET: Azure虚拟网络(VNet)是Azure中私有网络的基本构建块。VNet使许多Azure资源类型(例如Azure虚拟机[VM])能够安全地相互通信、互联Internet和本地网络。VNet与传统网络类似,您可在自己的数据中心运行,但它也带来了Azure基础设施的其他优势,例如规模、可用性和隔离。默认情况下,VNET内的每个子网均可互相访问,但不同VNET中的子网则不同。
可用性集: 可用性集是另一种数据中心配置,用于提供VM冗余和可用性。数据中心内的此配置可确保计划内或计划外维护事件期间,至少有一个虚拟机可用并符合99.95%的Azure SLA。
VMSS: Azure虚拟机扩展集允许您创建和管理一组负载均衡的VM。VM实例的数量可以自动增加或减少,以响应需求或定义的计划。扩展集为您的应用提供高可用性,并允许您集中管理、配置和更新大量虚拟机。借助虚拟机扩展集,您可以为计算、大数据和容器工作负载等领域构建大规模服务。
功能应用:Azure功能是按需提供的云服务,提供运行应用程序所需的所有持续更新的基础设施和资源。你关注对你来说最重要的代码片段,Azure功能处理其余部分。您可以使用Azure函数构建Web API、响应数据库更改、处理IoT流、管理消息队列等。在此自动缩放解决方案中,Azure函数是对FMC的各种API请求,用于创建对象、注册/注销FTDv、检查参数等。
逻辑应用:Azure Logic Apps是一项云服务,可在您需要跨企业或组织集成应用、数据、系统和服务时,帮助您计划、自动化和协调任务、业务流程和工作流。Logic Apps可简化您设计和构建可扩展解决方案的方式,无论这些解决方案是在云中、现场中还是两者中,均可用于应用集成、数据集成、系统集成、企业应用集成(EAI)以及企业到企业(B2B)通信。此解决方案为自动缩放解决方案的功能提供了要执行的功能的逻辑顺序。
目前,可用于NGFW的AutoScale解决方案不提供与VNet本地专用IP通信的管理计划,并且需要公共IP在Firepower管理中心和NGFW之间交换通信。
本文旨在解决此问题,直到经验证的解决方案可用于通过私有IP进行Firepower管理中心和NGFW通信。
配置
为了创建自动缩放的NGFW解决方案,本配置指南经过多次修改后可用于解决以下使用案例:
- 功能的应用应该能够与客户的内部IP网段通信
- 负载均衡器不应具有公共IP
- NGFW和FMC之间的管理流量应通过专用IP网段交换
要创建AutoScaled NGFW解决方案,您需要使用上述使用案例在思科官方指南中提到的步骤中修改以下内容:
1. Azure ARM模板
ARM模板用于在Azure中启用自动化。思科已提供经过验证的ARM模板,可用于创建自动扩展解决方案。但Public Github中提供的此ARM模板创建了一个功能应用,尽管可以通过快速路由到达客户的内部网络,但无法进行通信。因此,您需要对此进行一些修改,以便函数应用现在可以使用高级模式而不是消费模式。所需ARM模板可在https://github.com/Madhuri150791/FunctionApp_with_Premiium_Plan.git上获得。
2.功能应用
函数应用是一组Azure函数。基本功能包括:
- 定期通信/探测Azure指标。
- 监控FTDv负载并触发扩展输入/扩展操作。
- 向FMC注册新的FTDv。
- 通过FMC配置新的FTDv。
- 从FMC取消注册(删除)按比例缩放的FTDv。
如要求中所述,为按需创建或删除NGFW而创建的各种功能基于NGFW的公共IP完成。因此,我们需要调整C#代码以获得私有IP而不是公有IP。在调整代码后,可在https://github.com/Madhuri150791/FunctionApp_with_Premiium_Plan.git上找到用于创建功能应用的zip文件
名称为ASM_Function.zip。这使功能应用能够与内部资源通信,而无需公共IP。
3.逻辑应用
Auto Scale Logic App是一个工作流程,即序列中的步骤集合。Azure函数是独立的实体,无法相互通信。此协调器会对这些功能的执行进行排序,并在它们之间交换信息。
- 逻辑应用用于协调自动缩放Azure功能之间的信息并进行传递。
- 每个步骤代表一个自动缩放Azure功能或内置标准逻辑。
- 逻辑应用以JSON文件的形式提供。
- 可通过GUI或JSON文件自定义逻辑应用。
注意:https://github.com/Madhuri150791/FunctionApp_with_Premiium_Plan.git上提供的逻辑应用详细信息应仔细修改,且这些项目必须替换为部署详细信息、FUNSTIONAPP名称、资源组名称和订用ID。
网络图
此图像显示了入站和出站流量如何通过NGFW在Azure环境中流动。
配置
现在创建自动扩展解决方案所需的各种组件。
- 创建自动缩放逻辑的组件。
使用ARM模板并创建VMSS、Logic APP、Function APP、App Insight和Network Security Group。
导航至 Home > Create a Resource > Search for Template
然后选择 Template Deployment
.现在点击 Create
并在编辑器中构建自己的模板。
- 点击
Save
.
对此模板进行所需更改,然后点击 Review + create
.
- 这将在上述资源组下创建所有组件。
- 登录到URL。
上传文件 ASM_Function.zip
和 ftdssh.exe
到 site/wwwroot/
文件夹(必须将其上传到指定的位置。函数应用无法识别各种函数)。
它应该如下所示:
- 查看
Function app > Function
.你应该看看所有的功能。
- 更改访问权限,以便VMSS可以在功能应用内执行功能。导航至
-vmss> Access Control (IAM) > Add role assignement
.提供此VMSS参与者访问
-function-app
.
点击 Save
.
- 导航至
Logic App > Logic Code
使用https://github.com/CiscoDevNet/cisco-ftdv/tree/master/autoscale/azure/NGFWv6.6.0/Logic%20App上提供的代码查看和更改逻辑代码。 此处,Azure订阅、资源组名称和函数应用名称需要在使用前替换,不允许成功保存。
- 点击
Save
.导航至Logic App Overview并启用 Logic App
.
验证
一旦逻辑应用被启用,它将在5分钟的间隔内开始执行。如果所有配置都正确,则您会看到触发器操作成功。
此外,VM在VMSS下创建。
登录FMC并检查FMC和NGFW是否通过FTDv专用IP连接:
登录NGFW CLI时,您会看到以下内容:
因此,FMC通过Azure专用VNet子网与NGFW通信。
故障排除
有时,当您构建新的NGFW时,Logic App会失败,为了排除此类故障,可以采取以下步骤:
- 检查逻辑应用是否已成功运行。
- 确定故障原因。点击失败的触发器。
尝试从代码流中识别故障点。从此映像可以看出,ASM逻辑显然失败,因为它无法连接到FMC。接下来,您需要确定Azure中无法按流访问FMC的原因。