在 AWS 上部署 Firewall Threat Defense Virtual Auto Scale 解决方案

本文档介绍如何在 AWS 上部署 Firewall Threat Defense Virtual Auto Scale 解决方案。

关于 AWS 上的 Firewall Threat Defense Virtual Auto Scale 解决方案

部署在公共云环境(例如 AWS)中的 Firewall Threat Defense Virtual 实例支持偶尔遇到网络流量高峰和低谷的应用。流量高峰可能会导致部署的 Threat Defense Virtual 实例数量不足以检查网络流量。流量下降可能导致 Threat Defense Virtual 实例空闲,从而导致不必要的运营成本。

Auto Scale 解决方案可帮助组织在出现流量高峰时自动按比例增加 Threat Defense Virtual 实例的数量,并在流量停滞期间按比例缩小实例数量。这样可以有效地处理网络资源并降低运营成本。

AWS 中的 Firewall Threat Defense Virtual Auto Scale 是完整的无服务器实现(此功能的自动化不涉及辅助虚拟机),它可以将自动扩展功能加入到 AWS 环境中的 Firewall Threat Defense Virtual 实例。

从版本 6.4 开始,在管理中心管理的 Firewall Threat Defense Virtual 上支持基于网络负载均衡器 (NLB) 的自动扩展解决方案。从版本 7.2 开始,还支持基于网关负载均衡器 (GWLB) 的自动扩展解决方案。

Cisco 提供 CloudFormation 模板和脚本,用于使用多个 AWS 服务部署 Firewall Threat Defense Virtual 防火墙的自动扩展组,包括 Lambda、自动扩展组、弹性负载均衡 (ELB)、Amazon S3 存储桶、SNS 和 CloudWatch。

Firewall Threat Defense Virtual Auto Scale 解决方案是基于 CloudFormation 模板的部署,可提供:

  • 防火墙管理中心 中完全自动化的 Firewall Threat Defense Virtual实例注册和取消注册。

  • 自动应用到外向扩展 Firewall Threat Defense Virtual实例的 NAT 策略、访问控制策略和路由。

  • 对负载均衡器和多可用性区域的支持。

  • 仅适用于 防火墙管理中心;不支持 防火墙设备管理器

Auto Scale 增强功能(版本 6.7)

  • 自定义指标发布方 ― 新的 lambda 函数每 2 分钟轮询一次 防火墙管理中心 以获取 Auto Scale 组中所有 Firewall Threat Defense Virtual 实例的内存消耗情况,然后将值发布到 CloudWatch 指标;有关说明,请参阅。

  • 提供了基于内存消耗的新扩展策略。

  • 用于连接 防火墙管理中心Firewall Threat Defense Virtual专用 SSH 和安全隧道 IP 连接。

  • 防火墙管理中心 配置验证。

  • 支持在 ELB 上打开更多侦听端口。

  • 修改为单堆栈部署。所有 lambda 函数和 AWS 资源都从单堆栈进行部署,以便简化部署。

使用 NLB 的 Auto Scale 解决方案

由于 AWS 负载均衡器只允许入站发起的连接,因此只允许外部生成的流量通过 Cisco Threat Defense Virtual 防火墙传入内部。

面向互联网的负载均衡器可以是网络负载均衡器或应用程序负载均衡器。在两种情况下,所有 AWS 要求和条件均适用。如下图拓扑示例所示,虚线右侧通过 Threat Defense Virtual 模板进行部署。左侧由用户定义。



应用程序发起的出站流量将不会经过 Threat Defense Virtual。


基于端口的流量分叉是可能的。这可以通过 NAT 规则实现;请参阅在管理中心中创建主机对象添加设备组配置和部署 NAT 策略创建基本访问控制策略创建基本访问控制策略。例如,面向互联网的 LB DNS、端口:80 上的流量可以路由到应用程序 1;端口:88 流量可路由到应用程序 2。

拓扑示例

图 1. 使用 NLB 的 Firewall Threat Defense Virtual Auto Scale 解决方案

使用 NLB 部署 Auto Scale 解决方案的端到端流程

以下流程图说明了在 Amazon Web 服务 (AWS) 上使用 NLB 部署 Firewall Threat Defense Virtual 自动扩展解决方案的工作流程。

工作空间

步骤

本地主机

从 GitHub 下载所需的文件

Amazon CloudFormation 控制台

使用 NLB 的 Auto Scale 解决方案 - 在 Amazon CloudFormation 控制台上自定义和部署 NLB 基础设施模板

管理中心

在管理中心配置网络基础设施

本地主机

更新 configuration.json 和 configuration-schema.json 文件

本地主机

使用 AWS CLI 配置基础设施组件

本地主机

创建目标文件夹

本地主机

将文件上传到 Amazon S3 存储桶

Amazon CloudFormation 控制台

支持 NLB 的 Auto Scale 解决方案 - 部署支持 NLB 的 Auto Scale 解决方案

Amazon EC2 控制台

编辑 Auto Scale 组

Amazon VPC 控制台

为 VPC 配置路由

使用网关负载均衡器的 Auto Scale 解决方案

AWS 网关负载均衡器 (GWLB) 允许入站和出站连接。因此,允许内部和外部生成的流量通过 Firewall Threat Defense Virtual 防火墙。

GWLB 终端会将流量发送到 GWLB,然后发送到 Threat Defense Virtual 进行检测。在两种情况下,所有 AWS 要求和条件均适用。如使用案例图中所示,虚线右侧是通过 Threat Defense Virtual 模板部署的 Threat Defense Virtual GWLB Autoscale 解决方案。左侧完全由用户定义。

拓扑示例

图 2. 使用 GWLB 的 Firewall Threat Defense Virtual Auto Scale 解决方案

使用 GWLB 部署 Auto Scale 解决方案的端到端流程

以下流程图说明了在 Amazon Web 服务 (AWS) 上使用 GWLB 部署 Firewall Threat Defense Virtual 自动扩展解决方案的工作流程。

工作空间

步骤

本地主机

从 GitHub 下载所需的文件

Amazon CloudFormation 控制台

使用 GWLB 的 Auto Scale 解决方案 - 在 Amazon CloudFormation 控制台上自定义和部署 GWLB 基础设施模板

管理中心

在管理中心配置网络基础设施

本地主机

更新 configuration.json 和 configuration-schema.json 文件

本地主机

使用 AWS CLI 配置基础设施组件

本地主机

创建目标文件夹

本地主机

将文件上传到 Amazon S3 存储桶

Amazon CloudFormation 控制台

支持 GWLB 的 Auto Scale 解决方案 - 部署支持 GWLB 的 Auto Scale 解决方案

Amazon EC2 控制台

编辑 Auto Scale 组

Amazon VPC 控制台

带有 GWLB 的 Auto Scale 解决方案 - 创建 GWLB 终端

Amazon VPC 控制台

为 VPC 配置路由

Firewall Threat Defense Virtual和 AWS 的准则和限制

许可

  • 支持使用 Cisco 智能许可证帐户的 BYOL(自带许可证)。

  • PAYG(即付即用)许可,一种基于使用的计费模式,允许客户在不购买 Cisco 智能许可的情况下运行 Firewall Threat Defense Virtual。对于已注册的 PAYG 设备,将启用所有许可的功能(恶意软件/威胁/URL 过滤/VPN 等)。许可的功能无法从 防火墙管理中心 编辑或修改。(版本 6.5+)


    Note


    防火墙设备管理器 不支持 PAYG 许可。


有关许可准则,请参阅Cisco Secure Firewall Management Center 管理指南

Firewall Threat Defense Virtual 智能许可的性能层

在版本 7.0+ 中,Firewall Threat Defense Virtual 支持性能层许可,该级别许可可基于部署要求提供不同的吞吐量级别和 VPN 连接限制。

Table 1. 基于授权的 Firewall Threat Defense Virtual 许可功能限制

性能层

设备规格(核心/RAM)

速率限制

RA VPN 会话限制

FTDv5

4 核/8 GB

100 Mbps

50

FTDv10

4 核/8 GB

1 Gbps

250

FTDv20

4 核/8 GB

3 Gbps

250

FTDv30

8 核/16 GB

5 Gbps

250

FTDv50

12 核/24 GB

10 Gbps

750

FTDv100

16 核/34 GB

16 Gbps

10,000

最佳实践

前提条件

  • 一个 AWS 账户。您可以在 http://aws.amazon.com/ 创建一个。

  • 需要 SSH 客户端(例如,Windows 上的 PuTTY 或 macOS 上的终端)才能访问设备控制台。

  • 思科智能账户。您可以在 Cisco 软件中心 https://software.cisco.com/ 创建一个。

  • 用于下载配置文件和模板的 GitHub 帐户。

  • Firewall Threat Defense Virtual 接口要求:

    • 管理接口 (2) - 一个用于将设备连接到 防火墙管理中心,另一个用于诊断;无法用于直通流量。

    • 您可以选择为 防火墙管理中心 管理配置数据接口,而非管理接口。管理接口是数据接口管理的前提条件,因此您仍需要在初始设置中对其进行配置。有关为 防火墙管理中心 访问配置数据接口的详细信息,请参阅Cisco Secure Firewall Threat Defense 命令参考中的 configure network management-data-interface 命令。

    • 流量接口 (2) - 用于将设备连接到内部主机和公共网络。

  • 通信路径 - 用于访问设备的公共/弹性 IP 地址

设置具有 GWLB 或 NLB 的 Auto Scale 解决方案所需的组件

以下组件构成了 Auto Scale 解决方案。

CloudFormation 模板

CloudFormation 模板用于部署在 AWS 中设置 Auto Scale 解决方案所需的资源。该模板包括以下各项:

  • Auto Scale 组、负载均衡器、安全组和其他各种组件。

  • 模板需要用户输入来自定义部署。



    模板在验证用户输入方面有限制,因此,用户应负责在部署期间验证输入。


Lambda 函数

Auto Scale 解决方案是在 Python 中开发的一组 Lambda 函数,可以通过生命周期钩子、SNS、CloudWatch 事件/警报事件触发。基本功能包括:

  • 向实例添加/删除 Diag、Gig0/0 和 Gig 0/1 接口。

  • 向负载均衡器的目标组注册 Gig0/1 接口。

  • 防火墙管理中心 注册新的 Firewall Threat Defense Virtual

  • 通过 防火墙管理中心 配置并部署新的 Firewall Threat Defense Virtual

  • 防火墙管理中心 取消注册(删除)内向扩展的 Firewall Threat Defense Virtual

  • 防火墙管理中心 发布内存指标。

Lambda 函数以 Python 包的形式交付给客户。

生命周期钩子

  • 生命周期钩子用于获取关于实例的生命周期更改通知。

  • 在启动实例时,生命周期钩子用于触发 Lambda 函数,可将接口添加到 Firewall Threat Defense Virtual 实例,并将外部接口 IP 注册到目标组。

  • 在终止实例时,生命周期钩子用于触发 Lambda 函数,以便从目标组取消注册 Firewall Threat Defense Virtual 实例。

Simple Notification Service (SNS)

  • 来自 AWS 的 Simple Notification Service (SNS) 用于生成事件。

  • 受限于 AWS 中的无服务器 Lambda 函数没有适合的编排器,因此该解决方案使用 SNS 作为一种函数链,以便基于事件来编排 Lambda 函数。

VPC

您应根据应用程序要求创建 VPC。预计 VPC 具有一个互联网网关,而且至少有一个通过到互联网的路由连接的子网。有关安全组、子网等的要求,请参阅相应的部分。

安全组

在提供的 Auto Scale 组模板中允许所有连接。只需以下连接即可使 Auto Scale 解决方案发挥作用。

端口

使用方式

子网

8305

管理中心到 Threat Defense Virtual 安全隧道的连接

管理子网

运行状况探测端口(默认:8080)

面向互联网的负载均衡器运行状况探测器

外部、内部子网

应用程序端口

应用程序数据流量

外部、内部子网

管理中心实例的安全组或 ACL

需要这些信息才能在 lambda 函数和管理中心之间建立 HTTPS 连接。由于 lambda 函数将保存在以 NAT 网关作为默认路由的 lambda 子网中,因此应允许管理中心从 NAT 网关 IP 地址进行 HTTPS 入站连接。

子网

可以根据需要创建符合应用程序要求的子网。Threat Defense Virtual 需要 3 个子网才能运行。



如果需要多个可用性区域支持,则每个区域都需要子网,因为子网是 AWS 云中的区域属性。


外部子网

外部子网应该具有能够通过“0.0.0.0/0”连接互联网网关的默认路由。这将包含 Threat Defense Virtual 的外部接口,而面向互联网的 NLB 将位于此子网中。

内部子网

这可能与具有或没有 NAT/互联网网关的应用程序子网类似。请注意,对于 Threat Defense Virtual 运行状况探测,应该可以通过端口 80 到达 AWS 元数据服务器 (169.254.169.254)。



在此 Auto Scale 解决方案中,负载均衡器运行状况探测器会通过 inside/ Gig0/0 接口重定向到 AWS 元数据服务器。但是,您可以使用自己的应用为从负载均衡器发送到 Threat Defense Virtual 的运行状况探测连接进行更改。在这种情况下,您需要将 AWS 元数据服务器对象替换为应用 IP 地址,以提供运行状况探测响应。


管理子网

此子网包括 Threat Defense Virtual 管理接口。如果在此子网上使用管理中心,则为 Threat Defense Virtual 分配弹性 IP 地址 (EIP) 是可选的。诊断接口也位于此子网上。

Lambda 子网

AWS Lambda 函数需要使用 NAT 网关作为默认网关的两个子网。这使得 Lambda 函数将专用于 VPC。Lambda 子网不需要像其他子网一样的带宽。

应用程序子网

Auto Scale 解决方案对该子网没有限制,但如果应用程序需要 VPC 以外的出站连接,则应在该子网上配置相应的路由。这是因为出站发起的流量不会穿过负载均衡器。有关详细信息,请参阅《AWS 弹性负载均衡用户指南》。

无服务器组件

S3 桶

Amazon Simple Storage Service (Amazon S3) 是一项可提供行业领先可扩展性、数据可用性、安全性和性能的对象存储服务。您可以将所有必需的文件放在 S3 存储桶中。

部署模板时,将引用 S3 存储桶中的 zip 文件创建 Lambda 函数。因此,S3 存储桶应该能够供用户帐户访问。

GitHub 上的 CloudFormation 模板

为支持的 Auto Scale 解决方案提供了两组模板 - 一组用于使用网络负载均衡器 (NLB) 来设置 Auto Scale 解决方案,另一组用于使用网关负载均衡器 (GWLB) 来设置 Auto Scale 解决方案。

使用网络负载均衡器的 Auto Scale 解决方案

GitHub 上提供了以下模板

表 2. 模板参数列表

参数

允许的值/类型

说明

PodNumber

字符串允许的模式:'^\d{1,3}$'

这是 pod 号。这将作为 Auto Scale 组名称 (threat defense virtual-Group-Name) 的后缀。例如,如果此值为“1”,则组名称将为 threat defense virtual-Group-Name-1

它应至少为 1 个数字,但不超过 3 个数字。默认值:1。

AutoscaleGrpNamePrefix

字符串

这是 Auto Scale 组名称前缀。pod 号将作为后缀添加。

最大:18 个字符

示例:Cisco-threat defense virtual-1。

NotifyEmailID

字符串

Auto Scale 事件将被发送到此电子邮件地址。您需要接受订用电子邮件请求。

示例:admin@company.com。

VpcId

字符串

需要部署设备的 VPC ID。它应根据 AWS 要求配置。

类型:AWS::EC2::VPC::Id

如果使用“infrastructure.yaml”文件来部署基础架构,堆栈的输出部分将具有此值。请使用该值。

LambdaSubnets

列表

将部署 Lambda 函数的子网。

类型:List<AWS::EC2::Subnet::Id>

如果使用“infrastructure.yaml”文件来部署基础架构,堆栈的输出部分将具有此值。请使用该值。

LambdaSG

列表

Lambda 函数的安全组。

类型:List<AWS::EC2::SecurityGroup::Id>

如果使用“infrastructure.yaml”文件来部署基础架构,堆栈的输出部分将具有此值。请使用该值。

S3BktName

字符串

文件的 S3 存储桶名称。应根据 AWS 要求在您的帐户中配置此项。

如果使用“infrastructure.yaml”文件来部署基础架构,堆栈的输出部分将具有此值。请使用该值。

LoadBalancerType

字符串

面向互联网的负载均衡器类型,可以是“application”或“network”。

示例:application

LoadBalancerSG

字符串

负载均衡器的安全组。如果是网络负载均衡器,则不会使用它。但您应提供一个安全组 ID。

类型:List<AWS::EC2::SecurityGroup::Id>

如果使用“infrastructure.yaml”文件来部署基础架构,堆栈的输出部分将具有此值。请使用该值。

LoadBalancerPort

整数

负载均衡器端口。此端口将在 LB 上以 HTTP/HTTPS 或 TCP/TLS 作为协议,并根据所选的负载均衡器类型打开。

确保端口是有效的 TCP 端口,它将用于创建负载均衡器侦听程序。

默认值:80

SSL证书

字符串

用于安全端口连接的 SSL 证书 ARN。如果未指定,则在负载均衡器上开启的端口将为 TCP/HTTP。如果已指定,则在负载均衡器上开启的端口将为 TLS/HTTPS。

TgHealthPort

整数

此端口供目标组用于运行状况探测。在 Threat Defense Virtual 上到达此端口的运行状况探测将被路由到 AWS 元数据服务器,并且不应用于流量。它应该是有效的 TCP 端口。

如果您希望应用本身回复运行状况探测,则可以为 Threat Defense Virtual 相应地更改 NAT 规则。在这种情况下,如果应用不响应,Threat Defense Virtual 将被标记为运行状况不正常,并会由于实例运行状况不佳警报而被删除。

示例:8080

AssignPublicIP

布尔值

如果选择“true”,则将分配公共 IP。如果是 BYOL 类型的 Threat Defense Virtual,则需要它才能连接到思科的许可门户。

示例:TRUE

InstanceType

字符串

Amazon Machine Image (AMI) 支持不同的实例类型,这些实例类型将决定实例的大小和所需的内存量。

只应使用支持 Threat Defense Virtual 的 AMI 实例类型。

示例:c4.2xlarge

LicenseType

字符串

Threat Defense Virtual 许可证类型,可以是 BYOL 或 PAYG。确保相关的 AMI ID 具有相同的许可类型。

示例:BYOL

AmiId

字符串

Threat Defense Virtual AMI ID(有效的 Cisco Threat Defense Virtual AMI ID)。

类型:AWS::EC2::Image::Id

请根据地区和所需的映像版本选择正确的 AMI ID。Auto Scale 功能支持版本 6.4+、BYOL/PAYG 映像。在两种情况下,您都应在 AWS Marketplace 中接受许可证。

如果是 BYOL,请使用诸如“BASE”、“MALWARE”、“THREAT”、“URLFilter”等功能更新 Configuration JSON 中的“licenseCaps”键值。

NoOfAZs

整数

Threat Defense Virtual 应跨越的可用性区域数,介于 1 到 3 之间。如果是 ALB 部署,根据 AWS 的要求,最小值为 2。

示例:2

ListOfAzs

逗号分隔的字符串

按顺序列出的逗号分隔区域列表。

 

它们的列出顺序十分重要。应按相同的顺序给出子网列表。

如果使用“infrastructure.yaml”文件来部署基础架构,堆栈的输出部分将具有此值。请使用该值。

示例:us-east-1a, us-east-1b, us-east-1c

MgmtInterfaceSG

字符串

Threat Defense Virtual 管理接口的安全组。

类型:List<AWS::EC2::SecurityGroup::Id>

如果使用“infrastructure.yaml”文件来部署基础架构,堆栈的输出部分将具有此值。请使用该值。

InsideInterfaceSG

字符串

Threat Defense Virtual 内部接口的安全组。

类型:AWS::EC2::SecurityGroup::Id

如果使用“infrastructure.yaml”文件来部署基础架构,堆栈的输出部分将具有此值。请使用该值。

OutsideInterfaceSG

字符串

Threat Defense Virtual 外部接口的安全组。

类型:AWS::EC2::SecurityGroup::Id

如果使用“infrastructure.yaml”文件来部署基础架构,堆栈的输出部分将具有此值。请使用该值。

示例:sg-0c190a824b22d52bb

MgmtSubnetId

逗号分隔列表

逗号分隔的管理子网 ID 列表。此列表应与相应的可用性区域顺序相同。

类型:List<AWS::EC2::SecurityGroup::Id>

如果使用“infrastructure.yaml”文件来部署基础架构,堆栈的输出部分将具有此值。请使用该值。

InsideSubnetId

逗号分隔列表

逗号分隔的内部 /Gig0/0 子网 ID 列表。此列表应与相应的可用性区域顺序相同。

类型:List<AWS::EC2::SecurityGroup::Id>

如果使用“infrastructure.yaml”文件来部署基础架构,堆栈的输出部分将具有此值。请使用该值。

OutsideSubnetId

逗号分隔列表

逗号分隔的外部 /Gig0/1 子网 ID 列表。此列表应与相应的可用性区域顺序相同。

类型:List<AWS::EC2::SecurityGroup::Id>

如果使用“infrastructure.yaml”文件来部署基础架构,堆栈的输出部分将具有此值。请使用该值。

KmsArn

字符串

现有 KMS(用于静态加密的 AWS KMS 密钥)的 ARN。如果指定,管理中心和 Threat Defense Virtual 密码应加密。密码加密应仅使用指定的 ARN 进行。

生成加密密码示例:“aws kms encrypt --key-id <KMS ARN> --纯文本 <密码>” 请按照所示使用生成的密码。

示例:arn:aws:kms:us-east-1:[AWS Account]:key/7d586a25-5875-43b1-bb68-a452e2f6468e

ngfwPassword

字符串

所有 Threat Defense Virtual 实例都提供一个默认密码,该密码在启动模板(Autoscale 组)的 Userdata 字段中输入。

一旦 Threat Defense Virtual 可访问,此输入会将密码更改为新提供的密码。

如果未使用 KMS ARN,请使用纯文本密码。如果使用 KMS ARN,则应使用加密的密码。

示例:Cisco123789! 或 AQIAgcQFAGtz/hvaxMtJvY/x/rfHnI3lPpSXU

fmcServer

数字字符串

用于管理 Threat Defense Virtual 的 IP 地址,Lambda 函数和 Threat Defense Virtual 管理接口均可访问该地址。

示例:10.10.17.21

fmcOperationsUsername

字符串

在管理 Threat Defense Virtual 时创建的网络管理员或更高权限用户。请参阅《Cisco Secure Firewall Management Center 设备配置指南》中有关创建用户和角色的信息。

示例:apiuser-1

fmcOperationsPassword

字符串

如果未提及 KMS ARN,请使用纯文本密码。如果已提及,则应使用加密的密码。

示例:Cisco123@ 或 AQICAHgcQAtz/hvaxMtJvY/x/rnKI3clFPpSXUHQRnCAajB

fmcDeviceGrpName

字符串

管理中心设备组名称。

示例:AWS-Cisco-NGFW-VMs-1

fmc 性能许可证层

字符串

Firewall Management Center Virtual 上注册 Firewall Threat Defense Virtual 设备时使用的性能层许可证。

允许的值:FTDv/FTDv5/FTDv10/FTDv20/FTDv30/FTDv50/FTDv100

fmcPublishMetrics

布尔值

如果设置为“TRUE”,则将创建一个 Lambda 函数,该函数每 2 分钟运行一次,将获取所提供的设备组中已注册 Threat Defense Virtual 传感器的内存消耗情况。

允许的值:TRUE、FALSE

示例:TRUE

fmcMetricsUsername

字符串

用于向 AWS CloudWatch 进行指标发布的唯一管理中心用户名。请参阅《Cisco Secure Firewall Management Center 设备配置指南》中有关创建用户和角色的信息。

如果将“fmcPublishMetrics”设置为“FALSE”,则无需提供此输入。

示例:publisher-1

fmcMetricsPassword

字符串

用于向 AWS CloudWatch 进行指标发布的管理中心密码。如果未提及 KMS ARN,请使用纯文本密码。如果已提及,则应使用加密的密码。

如果将“fmcPublishMetrics”设置为“FALSE”,则无需提供此输入。

示例:Cisco123789!

CpuThresholds

逗号分隔的整数

下限 CPU 阈值和上限 CPU 阈值。最小值为 0,最大值为 99。

默认值:10、70

请注意,下限阈值应小于上限阈值。

示例:30、70

MemoryThresholds

逗号分隔的整数

下限 MEM 阈值和上限 MEM 阈值。最小值为 0,最大值为 99。

默认值:40、70

请注意,下限阈值应小于上限阈值。如果“fmcPublishMetrics”参数为“FALSE”,则它不起作用。

示例:40、50

实例元数据服务版本

布尔值

要为 Firewall Threat Defense Virtual 实例启用的实例元数据数据服务 (IMDS) 版本。

  • V1 和 V2(令牌可选):启用 IMDSv1 或 IMDSv2 或 IMDSv1 和 IMDSv2 API 调用的组合。

  • 仅 V2(需要令牌):仅启用 IMDSv2 模式。

 

Firewall Threat Defense Virtual 版本 7.6 及更高版本仅支持 IMDSv2 服务。

如果要为 7.6 以前的版本启用 IMDSv2 服务,则必须选择 IMDSv1 和 IMDSv2 V1 和 V2(可选令牌)参数组合。

 

如果您使用的是自定义模板(非思科提供),请注意,您必须在模板的 MetadataOptions 下包含 HttpEndpoint: enabledHttpTokens: required 属性,然后才能启用 IMDSv2 必需模式。

使用网关负载均衡器的 Auto Scale 解决方案

GitHub 上提供了以下模板:

表 3. 模板参数列表

参数

允许的值/类型

说明

DeploymentType 字符串

帮助处理从 Firewall Threat Defense Virtual 到 GWLB 或互联网流量的部署类型。

  • 单臂:此部署类型启用 Firewall Threat Defense Virtual 以在检测后将流量返回到 AWS GWLB(掉头)。默认情况下,如果未指定,则代理类型设置为单臂。

  • 双臂:此部署类型使 Firewall Threat Defense Virtual 能够执行网络地址转换 (NAT),然后将出站流量从其外部接口通过 NAT 网关转发到互联网。

PodNumber

字符串

允许的模式:'^\d{1,3}$'

这是 pod 号。这将作为 Auto Scale 组名称 (Firewall Threat Defense Virtual-Group-Name) 的后缀。例如,如果此值为“1”,则组名称将为 Firewall Threat Defense Virtual-Group-Name-1。

它应至少为 1 个数字,但不超过 3 个数字。默认值:1

AutoscaleGrpNamePrefix

字符串

这是 Auto Scale 组名称前缀。pod 号将作为后缀添加。

最大:18 个字符

示例:Cisco-Firewall Threat Defense Virtual-1

NotifyEmailID

字符串

Auto Scale 事件将被发送到此电子邮件地址。您需要接受订用电子邮件请求。

示例:admin@company.com

VpcId

字符串

需要部署设备的 VPC ID。它应根据 AWS 要求配置。

类型:AWS::EC2::VPC::Id

如果使用“infrastructure.yaml”文件来部署基础架构,堆栈的输出部分将具有此值。请使用该值。

LambdaSubnets

列表

将部署 Lambda 函数的子网。

类型:List<AWS::EC2::Subnet::Id>

如果使用“infrastructure.yaml”文件来部署基础架构,堆栈的输出部分将具有此值。请使用该值。

LambdaSG

列表

Lambda 函数的安全组。

类型:List<AWS::EC2::SecurityGroup::Id>

如果使用“infrastructure.yaml”文件来部署基础架构,堆栈的输出部分将具有此值。请使用该值。

S3BktName

字符串

文件的 S3 存储桶名称。应根据 AWS 要求在您的帐户中配置此项。

如果使用“infrastructure.yaml”文件来部署基础架构,堆栈的输出部分将具有此值。请使用该值。

LoadBalancerType

字符串

面向互联网的负载均衡器类型,可以是“application”或“network”。

示例:application

LoadBalancerSG

字符串

负载均衡器的安全组。如果是网络负载均衡器,则不会使用它。但您应提供一个安全组 ID。

类型:List<AWS::EC2::SecurityGroup::Id>

如果使用“infrastructure.yaml”文件来部署基础架构,堆栈的输出部分将具有此值。请使用该值。

LoadBalancerPort

整数

负载均衡器端口。此端口将在 LB 上以 HTTP/HTTPS 或 TCP/TLS 作为协议,并根据所选的负载均衡器类型打开。

确保端口是有效的 TCP 端口,它将用于创建负载均衡器侦听程序。

默认值:80

SSL证书

字符串

用于安全端口连接的 SSL 证书 ARN。如果未指定,则在负载均衡器上开启的端口将为 TCP/HTTP。如果已指定,则在负载均衡器上开启的端口将为 TLS/HTTPS。

TgHealthPort

整数

此端口供目标组用于运行状况探测。在 Firewall Threat Defense Virtual 上到达此端口的运行状况探测将被路由到 AWS 元数据服务器,并且不应用于流量。它应该是有效的 TCP 端口。

如果您希望应用本身回复运行状况探测,则可以为 Firewall Threat Defense Virtual 相应地更改 NAT 规则。在这种情况下,如果应用不响应,Firewall Threat Defense Virtual 将被标记为运行状况不正常,并会由于实例运行状况不佳警报而被删除。

示例:8080

AssignPublicIP

布尔值

如果选择“true”,则将分配公共 IP。如果是 BYOL 类型 Firewall Threat Defense Virtual,则需要它才能连接到思科许可门户。

示例:TRUE

InstanceType

字符串

Amazon Machine Image (AMI) 支持不同的实例类型,这些实例类型将决定实例的大小和所需的内存量。

只应使用支持 Firewall Threat Defense Virtual 的 AMI 实例类型。

示例:c4.2xlarge

LicenseType

字符串

Firewall Threat Defense Virtual 许可证类型,可以是 BYOL 或 PAYG。确保相关的 AMI ID 具有相同的许可类型。

示例:BYOL

AmiId

字符串

Firewall Threat Defense Virtual AMI ID(有效的思科 Firewall Threat Defense Virtual AMI ID)。

类型:AWS::EC2::Image::Id

请根据地区和所需的映像版本选择正确的 AMI ID。Auto Scale 功能支持版本 6.4+、BYOL/PAYG 映像。在两种情况下,您都应在 AWS Marketplace 中接受许可证。

如果是 BYOL,请使用诸如“BASE”、“MALWARE”、“THREAT”、“URLFilter”等功能更新 Configuration JSON 中的“licenseCaps”键值。

NoOfAZs

整数

Firewall Threat Defense Virtual 应跨越的可用性区域数,介于 1 到 3 之间。如果是 ALB 部署,根据 AWS 的要求,最小值为 2。

示例:2

ListOfAzs

逗号分隔的字符串

按顺序列出的逗号分隔区域列表。

 

它们的列出顺序十分重要。应按相同的顺序给出子网列表。

如果使用“infrastructure.yaml”文件来部署基础架构,堆栈的输出部分将具有此值。请使用该值。

示例:us-east-1a, us-east-1b, us-east-1c

MgmtInterfaceSG

字符串

Firewall Threat Defense Virtual 管理接口的安全组。

类型:List<AWS::EC2::SecurityGroup::Id>

如果使用“infrastructure.yaml”文件来部署基础架构,堆栈的输出部分将具有此值。请使用该值。

InsideInterfaceSG

字符串

Firewall Threat Defense Virtual 内部接口的安全组。

类型:AWS::EC2::SecurityGroup::Id

如果使用“infrastructure.yaml”文件来部署基础架构,堆栈的输出部分将具有此值。请使用该值。

OutsideInterfaceSG

字符串

Firewall Threat Defense Virtual 外部接口的安全组。

类型:AWS::EC2::SecurityGroup::Id

如果使用“infrastructure.yaml”文件来部署基础架构,堆栈的输出部分将具有此值。请使用该值。

示例:sg-0c190a824b22d52bb

MgmtSubnetId

逗号分隔列表

逗号分隔的管理子网 ID 列表。此列表应与相应的可用性区域顺序相同。

类型:List<AWS::EC2::SecurityGroup::Id>

如果使用“infrastructure.yaml”文件来部署基础架构,堆栈的输出部分将具有此值。请使用该值。

InsideSubnetId

逗号分隔列表

逗号分隔的内部 /Gig0/0 子网 ID 列表。此列表应与相应的可用性区域顺序相同。

类型:List<AWS::EC2::SecurityGroup::Id>

如果使用“infrastructure.yaml”文件来部署基础架构,堆栈的输出部分将具有此值。请使用该值。

OutsideSubnetId

逗号分隔列表

逗号分隔的外部 /Gig0/1 子网 ID 列表。此列表应与相应的可用性区域顺序相同。

类型:List<AWS::EC2::SecurityGroup::Id>

如果使用“infrastructure.yaml”文件来部署基础架构,堆栈的输出部分将具有此值。请使用该值。

KmsArn

字符串

现有 KMS(用于静态加密的 AWS KMS 密钥)的 ARN。如已指定,防火墙管理中心Firewall Threat Defense Virtual 密码应加密。密码加密应仅使用指定的 ARN 进行。

生成加密密码示例:“aws kms encrypt --key-id <KMS ARN> --纯文本 <密码>” 请按照所示使用生成的密码。

示例:arn:aws:kms:us-east-1:[AWS Account]:key/7d586a25-5875-43b1-bb68-a452e2f6468e

ngfwPassword

字符串

所有 Firewall Threat Defense Virtual 实例都提供一个默认密码,该密码在启动模板(Autoscale 组)的 Userdata 字段中输入。

一旦 Firewall Threat Defense Virtual 可访问,此输入会将密码更改为新提供的密码。

如果未使用 KMS ARN,请使用纯文本密码。如果使用 KMS ARN,则应使用加密的密码。

示例:Cisco123789! 或 AQIAgcQFAGtz/hvaxMtJvY/x/rfHnI3lPpSXU

fmcServer

数字字符串

用于管理 防火墙管理中心 的 IP 地址,Lambda 函数和 Firewall Threat Defense Virtual 管理接口均可访问该地址。

示例:10.10.17.21

fmcOperationsUsername

字符串

在管理 防火墙管理中心 时创建的网络管理员或更高权限用户。请参阅Cisco Secure Firewall Management Center 设备配置指南中有关创建用户和角色的信息。

示例:apiuser-1

fmcOperationsPassword

字符串

如果未提及 KMS ARN,请使用纯文本密码。如果已提及,则应使用加密的密码。

示例:Cisco123@ 或 AQICAHgcQAtz/hvaxMtJvY/x/rnKI3clFPpSXUHQRnCAajB

fmcDeviceGrpName

字符串

防火墙管理中心 设备组名称。

示例:AWS-Cisco-NGFW-VMs-1

fmc 性能许可证层

字符串

Firewall Management Center Virtual 上注册 Firewall Threat Defense Virtual 设备时使用的性能层许可证。

允许的值:FTDv/FTDv20/FTDv30/FTDv50/FTDv100

 

FTDv5 和 FTDv10 性能级别许可证不支持与 AWS 网关负载均衡器配合使用。

fmcPublishMetrics

布尔值

如果设置为“TRUE”,则将创建一个 Lambda 函数,该函数每 2 分钟运行一次,将获取所提供的设备组中已注册 Firewall Threat Defense Virtual 传感器的内存消耗情况。

允许的值:TRUE、FALSE

示例:TRUE

fmcMetricsUsername

字符串

用于向 AWS CloudWatch 进行指标发布的唯一 防火墙管理中心 用户名。请参阅Cisco Secure Firewall Management Center 设备配置指南中有关创建用户和角色的信息。

如果将“fmcPublishMetrics”设置为“FALSE”,则无需提供此输入。

示例:publisher-1

fmcMetricsPassword

字符串

用于向 AWS CloudWatch 进行指标发布的 防火墙管理中心 密码。如果未提及 KMS ARN,请使用纯文本密码。如果已提及,则应使用加密的密码。

如果将“fmcPublishMetrics”设置为“FALSE”,则无需提供此输入。

示例:Cisco123789!

CpuThresholds

逗号分隔的整数

下限 CPU 阈值和上限 CPU 阈值。最小值为 0,最大值为 99。

默认值:10、70

请注意,下限阈值应小于上限阈值。

示例:30、70

MemoryThresholds

逗号分隔的整数

下限 MEM 阈值和上限 MEM 阈值。最小值为 0,最大值为 99。

默认值:40、70

请注意,下限阈值应小于上限阈值。如果“fmcPublishMetrics”参数为“FALSE”,则它不起作用。

示例:40、50

实例元数据服务版本

布尔值

要为 Firewall Threat Defense Virtual 实例启用的实例元数据数据服务 (IMDS) 版本:

  • V1 和 V2(令牌可选):启用 IMDSv1、IMDSv2 或 IMDSv1 和 IMDSv2 API 调用的组合。

  • 仅 V2(需要令牌):仅启用 IMDSv2 模式。

 

Firewall Threat Defense Virtual 7.6 及更高版本仅支持 IMDSv2。

如果要为 7.6 以前的版本启用 IMDSv2 服务,则必须选择 IMDSv1 和 IMDSv2 V1 和 V2(可选令牌)参数组合。

 

如果您使用的是自定义模板(非思科提供),请注意,您必须在模板的 MetadataOptions 下包含 HttpEndpoint: enabledHttpTokens: required 属性,然后才能启用 IMDSv2 必需模式。

将所需文件和 CFT 从 GitHub 下载到本地主机

GitHub 下载 lambda-python-files 文件夹。此文件夹包含以下文件:

  • 用于创建 Lambda 层的 Python (.py) 文件。

  • 一个 configuration.json 文件,用于根据需要添加静态路由和自定义任何网络参数。

GitHub 下载以下 CloudFormation 模板:

  • 使用 NLB 的 Auto Scale 解决方案的模板 -

    • Infrastructure.yaml - 用于自定义 AWS 环境中的组件。

    • deploy_ngfw_autoscale.yaml - 用于部署使用 NLB 的 AWS Auto Scale 解决方案。

  • 使用 GWLB 的 Auto Scale 解决方案模板 -

    • Infrastructure_gwlb.yaml - 用于自定义 AWS 环境中的组件。

    • deploy_ngfw_autoscale_with_gwlb.yaml - 用于部署具有 GWLB 的 AWS Auto Scale 解决方案。



尽可能收集模板参数的值。这样可以在 AWS 管理控制台上部署模板时更轻松快速地输入值。


使用 NLB 的 Auto Scale 解决方案 - 在 Amazon CloudFormation 控制台上自定义和部署 NLB 基础设施模板

如果您使用 NLB 来部署 Auto Scale 解决方案,请执行本节中提供的步骤。

过程


步骤 1

在 AWS 管理控制台上,转到服务 (Services) > 管理和治理 (Management and Governance) > CloudFormation,然后点击创建堆栈 (Create stack) > 使用新资源(标准)(With new resources[standard])

步骤 2

选择上传模板文件 (Upload a template file),点击选择文件 (Choose file),然后从下载文件的文件夹中选择 infrastructure.yaml

步骤 3

点击下一步

步骤 4

指定堆栈详细信息 (Specify stack details) 页面上,输入堆栈的名称。

步骤 5

infrastructure.yaml 模板中的输入参数提供值。

步骤 6

点击下一步

步骤 7

配置堆栈选项窗口中点击下一步

步骤 8

查看 (Review) 页面上,查看并确认设置。

步骤 9

点击创建堆栈 (Create Stack) 以部署 infrastructure.yaml 模板并创建堆栈。

步骤 10

在部署完成后,转到输出 (Outputs) 并记下 S3 S3 Bucket Name


使用 GWLB 的 Auto Scale 解决方案 - 在 Amazon CloudFormation 控制台上自定义和部署 GWLB 基础设施模板

如果您使用 GWLB 来部署 Auto Scale 解决方案,请执行本节中提供的步骤。

过程


步骤 1

在 AWS 管理控制台上,转到服务 (Services) > 管理和治理 (Management and Governance) > CloudFormation,然后点击创建堆栈 (Create stack) > 使用新资源(标准)(With new resources[standard])

步骤 2

选择上传模板文件 (Upload a template file),点击选择文件 (Choose file),然后从下载文件的文件夹中选择 Infrastructure_gwlb.yaml

步骤 3

点击下一步

步骤 4

指定堆栈详细信息 (Specify stack details) 页面上,输入堆栈的名称。

步骤 5

infrastructure_gwlb.yaml 模板中的输入参数提供值。

步骤 6

点击下一步

步骤 7

配置堆栈选项窗口中点击下一步

步骤 8

查看 (Review) 页面上,查看并确认设置。

步骤 9

点击创建堆栈 (Create Stack) 以部署 Infrastructure_gwlb.yaml 模板并创建堆栈。

步骤 10

在部署完成后,转到输出 (Outputs) 并记下 S3 S3 Bucket Name


在管理中心配置网络基础设施

在管理中心为已注册的 Threat Defense Virtual 创建和配置设备丢弃、对象、运行状况检查端口、NAT 策略和访问策略。

您可以使用管理中心来管理 Threat Defense Virtual,前者是位于单独服务器上功能齐全的多设备管理器。Threat Defense Virtual 向您分配给 Threat Defense Virtual 虚拟机的管理接口上的 Threat Defense Virtual 注册并与之通信。

有关详细信息,请参阅关于使用安全防火墙管理中心的虚拟安全防火墙威胁防御

用于 Threat Defense Virtual 配置的所有对象均应由用户创建。

添加用户

过程


步骤 1

登录管理中心。您必须在管理中心创建两个用户账户:一个用于 Autoscale 自动化,另一个用于将指标发布到 CloudWatch。

步骤 2

依次选择设置 > 用户

步骤 3

要创建新用户:

  1. 点击创建用户 (Create User)

  2. 输入用户名 (User Name)

    用户名必须符合以下限制:

    • 最多 32 个字母数字字符,外加连字符 (-) 和下划线 (_)。

    • 字母可以是大写或小写。

    • 不能包含除句号 (.) 、连字符 (-)和下划线 (_)和以外的任何标点或特殊字符。

步骤 4

密码确认密码字段中输入值。

这些值必须符合您为此用户设置的密码选项。

步骤 5

用户角色配置区域中,选中管理员复选框。

记下这些用户凭证,以便在部署 Autoscale 解决方案模板时使用。您需要在 FMC 自动化配置和 FMC 设备组指标发布配置中提及这些用户凭证。

步骤 6

点击保存


添加设备组

管理中心允许将设备分组,从而可以在多台设备上轻松部署策略和安装更新。您可以展开和折叠组中的设备列表。


重要


应创建一个设备组,然后应对其应用规则。设备组上应用的所有配置都将被推送到 Threat Defense Virtual 实例。


过程


步骤 1

选择设备 > 设备管理

步骤 2

添加下拉菜单中,选择添加组

步骤 3

要编辑现有的组,请点击要编辑的组的“编辑”(编辑图标)。

步骤 4

输入 Name

步骤 5

点击确定以添加组。

 

创建自动扩展堆栈时,在 fmcDeviceGrp 下输入此设备组名称。


创建主机对象

开始之前

使用 AWS 网络负载均衡器 (NLB) 时,必须创建 主机对象。


AWS 网关负载均衡器 (GWLB) 不需要主机对象。


过程


步骤 1

登录管理中心。

步骤 2

选择对象 > 对象管理

步骤 3

从对象类型列表中选择网络 (Network)

步骤 4

添加网络 (Add Network) 下拉菜单中选择添加对象 (Add Object)

步骤 5

输入 Name

步骤 6

输入说明。

步骤 7

网络 (Network) 字段中,选择主机 (Host) 选项并输入以下值。

  1. 对象类型的名称,例如 aws-metadata-server

  2. 根据主机协议的类型,输入 IPv4 的以下 IP 地址:169.254.169.254

步骤 8

点击保存


创建端口对象

开始之前

使用 AWS 网络负载均衡器 (NLB) 时,您必须创建 端口对象。


AWS 网关负载均衡器 (GWLB) 不需要端口对象。


过程


步骤 1

登录管理中心。

步骤 2

选择对象 > 对象管理

步骤 3

从对象类型列表中选择端口 (Port)

步骤 4

添加端口 (Add Port) 下拉菜单中选择添加对象 (Add Object)

步骤 5

输入 Name

步骤 6

选择协议 (Protocol)。您必须选择已为主机对象类型输入的协议。根据选择的协议,按端口 (Port) 进行限制,或者选择 ICMP 类型 (Type)代码 (Code)

步骤 7

输入 8080。请注意,您可以根据需要自定义在此处输入的端口号。

 

如果选择与所有协议匹配,则必须使用其他 (Other) 下拉列表按端口限制对象。

步骤 8

点击保存


创建安全区域和接口组对象

过程


步骤 1

选择对象 > 对象管理

步骤 2

从对象类型列表中选择接口

步骤 3

点击添加 > 安全区域

步骤 4

输入名称 - Inside-sz

步骤 5

接口类型下拉列表中选择路由

步骤 6

点击保存

步骤 7

同样,您必须通过重复步骤 1 至步骤 6 创建 Outside-sz

步骤 8

如果部署 GWLB 双臂,请创建 VNI 安全区域


为运行状况检查探测器启用端口

您可以为运行状况检查探测启用端口 22 (SSH) 或端口 443 (HTTP)。



AWS 网关负载均衡器 (GWLB) 不需要运行状况检查探测。


为运行状况检查探测器启用端口 22 (SSH)

如果将端口 22 (SSH) 用于运行状况检查探测,请执行以下程序为运行状况检查探测启用端口。

过程

步骤 1

选择设备 > 平台设置 > SSH 访问

步骤 2

点击 + 添加

步骤 3

从下拉列表中选择任意 IP 地址

步骤 4

可用区域/接口 (Available Zones/Interfaces) 窗口中,选择连接到 GWLB 的外部接口或外部子网。

步骤 5

点击添加以将该接口添加到所选区域/接口窗口。

步骤 6

点击确定

步骤 7

点击保存


为运行状况检查探测器启用端口 443 (HTTP)

如果将端口 443 (HTTP) 用于运行状况检查探测,请执行以下程序为运行状况检查探测启用端口。

过程

步骤 1

选择设备 > 平台设置 > HTTP 访问

步骤 2

选中启用 HTTP 服务器 (Enable HTTP Server) 复选框。

步骤 3

端口 (Port) 字段中输入 443

步骤 4

点击 + 添加

步骤 5

从下拉列表中选择相关 IP 地址

步骤 6

可用区域/接口 (Available Zones/Interfaces) 窗口中,选择连接到 GWLB 的外部接口或外部子网。

步骤 7

点击添加以将该接口添加到所选区域/接口窗口。

步骤 8

点击确定

步骤 9

点击保存


采用 NLB 的 Auto Scale 解决方案 - 配置和部署网络地址转换 (NAT) 策略

典型的 NAT 规则会将内部地址转换为外部接口 IP 地址上的端口。这类 NAT 规则称为接口端口地址转换 (PAT)。有关 NAT 策略的信息,请参阅使用 Cisco Secure Firewall Management Center 管理 Cisco Secure Firewall Threat Defense Virtual 中的配置 NAT

您的 NAT 策略中必须有一个强制规则。NAT 规则示例如下:

  • 源区域:外部区域

  • 目标区域:内部区域

  • 原始源:任意 ipv4

  • 原始源端口:原始/默认

  • 原始目标:接口

  • 原始目标端口:8080/或用户配置的任何运行状况端口

  • 转换后的源:any-ipv4

  • 转换后的源端口:原始/默认

  • 转换后的目标:aws-metadata-server

  • 已转换的目标端口:80/HTTP

同样,可以添加任何数据流量 NAT 规则,以便将此配置推送到 Threat Defense Virtual 设备。


重要


创建的 NAT 策略应应用于设备组。来自 Lambda 函数的管理中心验证会对此进行验证。


过程


步骤 1

登录 Cisco Secure Firewall Management Center。

步骤 2

设备菜单中,点击 NAT

步骤 3

点击新建策略 (New Policy) > 威胁防御 NAT (Threat Defense NAT) 以创建新策略。

步骤 4

输入 NAT 策略的名称和描述。

步骤 5

点击保存

您可以看到 NAT 页面上已添加并列出了一个新策略。

步骤 6

点击添加规则 (Add Rule)

步骤 7

NAT 规则 (NAT Rule) 下拉列表中选择 手动 NAT 规则 (Manual NAT Rule)

步骤 8

从“插入”(Insert) 下拉列表中选择按类别 (In Category)之前的 NAT 规则 (NAT Rule Before)

步骤 9

类型 (Type) 下拉菜单中选择静态 (Static)

步骤 10

输入说明。

步骤 11

接口对象 (Interface Objects) 菜单中,添加源对象和目标对象。

步骤 12

转换 (Translations) 菜单中,为每个参数添加以下值。

参数

起始源

any-ipv4

原始目标

地址 (Address)

原始源端口

HTTP

原始目标端口

8080

转换后的源

any-ipv4

转换后的源端口

原始/默认

转换目标

aws-metadata-server

转换后的目标端口

80/HTTP

步骤 13

点击保存以保存并添加规则。

步骤 14

选择已创建的新规则以部署在 Threat Defense Virtual 设备上。

步骤 15

点击部署 (Deploy) > 部署 (Deployment) 将策略部署到分配的设备。在部署更改之后,更改才生效。


创建基本访问控制策略

创建新的访问控制策略时,它包含默认操作和设置。创建策略后,您会立即进入编辑会话,以便您可以调整策略以满足您的要求。

过程


步骤 1

依次选择策略 > 访问控制

步骤 2

点击新建策略

步骤 3

输入唯一的名称 - aws-asg-policy 和说明。

步骤 4

指定初始默认操作 (Default Action) - 阻止所有流量 (Block all traffic)

步骤 5

点击保存

步骤 6

点击页面右上角的目标设备 (Targeted Devices) 以分配策略。

步骤 7

选择之前创建的设备组。

步骤 8

点击添加到策略,然后点击确定以添加到策略。

步骤 9

点击您创建的新策略的编辑图标。

步骤 10

点击添加规则 (Add Rule)

步骤 11

设置以下参数:

  • 名称:inside-to-outside

  • 插入:到强制

  • 操作:允许

  • 添加源区域和目标区域。

步骤 12

点击应用


更新 configuration.json 和 configuration-schema.json 文件

configuration.jsonconfiguration-schema.json 文件位于您从 GitHub 下载的 lambda_python_files 文件夹中。使用您在管理中心设置的参数来更新 configuration.json 文件中的参数。请注意,不应更改 JSON 键。

编辑 configuration.json 文件时,请确保接口、安全区域对象、设备组和策略的名称与管理中心中相应的对象名称完全匹配。

configuration.jsonconfiguration-schema.json 文件的示例脚本可从 https://github.com/CiscoDevNet/cisco-ftdv/tree/master/autoscale/aws/sample-configuration-jsonssample-az-configuration-jsons 文件夹中获取。

根据您的部署拓扑,您必须将 configuration.jsonconfiguration-schema.json 文件中的脚本替换为以下同名文件中的示例脚本。

  • 对于部署 GWLB 单臂拓扑 - 使用 gwlb-single-arm-Configuration.jsongwlb-single-arm-Configuration-schema.json

  • 对于部署 GWLB 双臂拓扑 - 使用 gwlb-dual-arm-configuration.jsongwlb-dual-arm-configuration-schema.json

  • 对于部署 NLB 拓扑 - 使用 nlb-Configuration.jsonnlb-Configuration-schema.json

使用 AWS CLI 配置基础设施组件

模板不会为 Threat Defense Virtual 和管理中心创建 Lambda 层和加密密码。使用下面给出的程序配置这些组件。有关 AWS CLI 的更多信息,请参阅 AWS 命令行界面

创建 Lambda 层 Zip 文件以管理计算资源

创建 Lambda 函数所需的 Lambda 层 autoscale_layer.zip

可以在安装了Python 3.11 的 Amazon Linux VM 上创建 autoscale_layer.zip 。建议使用 AWS Cloudshell,它会运行最新版本的 Amazon Linux。

要创建 autoscale_layer.zip 文件,您需要先创建包含 python 库软件包详细信息的 requirements.txt 文件,然后运行 shell 脚本。

过程


步骤 1

通过指定 python 软件包详细信息来创建 requirements.txt 文件。

$ cat requirements.txt 
pycryptodome
paramiko
requests
scp
jsonschema
cffi
zipp
importlib-metadata

步骤 2

运行以下命令以创建 autoscale_layer.zip 文件。

$ pip3 install --platform manylinux2014_x86_64 
--target=./python/lib/python3.11/site-packages 
--implementation cp --python-version 3.11 --only-binary=:all: 
--upgrade -r requirements.txt
$ zip -r autoscale_layer.zip ./python

 

如果在安装过程中遇到依赖冲突,例如 urllib3 或密码学软件包之间的冲突,请将冲突的软件包及其推荐版本添加到 requirements.txt 文件中。再次运行安装命令以解决冲突。

步骤 3

将生成的 autoscale_layer.zip 文件放在 cisco-ftdv/autoscale/aws/lambda-python-files 目录中。

步骤 4

创建 autoscale_manager.ziplifecycle_ftdv.zipcustom_metric_fmc.zip 文件。

  1. 运行顶级目录的克隆存储库中提供的以下 make.py 文件。

    python3 make.py build
    它会将压缩的 Python 文件创建为个单独的 zip 文件,然后将它们复制到目标文件夹。
  2. 将这个 zip 文件上传到基础设施模板创建的 S3 存储桶。确保 Python 3 环境可用。


(可选)为 Threat Defense Virtual和管理中心创建加密密码

如果已在 Infrastructure_gwlb.yaml 模板文件中输入 KMS ARN 值,则必须加密您在 Threat Defense Virtual 和管理中心中设置的密码。请参阅查找密钥 ID 和密钥 ARN,以使用 AWS KMS 控制台来识别密钥 ARN。在本地主机上,运行以下 AWS CLI 命令加密密码。

$ aws kms encrypt --key-id <KMS-ARN> --plaintext 
'MyC0mplIc@tedProtect1oN'
{
    "KeyId": "KMS-ARN", 
    "CiphertextBlob": 
"AQICAHgcQFAGtz/hvaxMtJvY/x/rfHnKI3clFPpSXUU7HQRnCAFwfXhXH
JAHL8tcVmDqurALAAAAajBoBgkqhki
G9w0BBwagWzBZAgEAMFQGCSqGSIb3DQEHATAeBglghkgBZQMEAS4wEQQM45
AIkTqjSekX2mniAgEQgCcOav6Hhol
+wxpWKtXY4y1Z1d0z1P4fx0jTdosfCbPnUExmNJ4zdx8="
}
$

“CiphertextBlob”的值是加密密码。将此密码用作 Infrastructure_gwlb.yaml 文件中 NGFWv 密码(Threat Defense Virtual 密码)或 AutoScale 自动化的 FMC 密码(管理中心密码)参数的值。您还可以将此密码用作将指标发布到 CloudWatch 的 FMC 密码的值。

创建目标文件夹

在本地主机上,使用下面提供的命令创建一个目标文件夹,其中包含必须上传到 Amazon S3 存储桶的文件。

python3 make.py build

这将在本地主机上创建一个名为“target”的文件夹。target 文件夹包含部署 Auto Scale 解决方案所需的 zip 文件和 yaml 文件。

将文件上传到 Amazon S3 存储桶

在本地主机上,使用下面给出的命令将目标目录中的所有文件上传到 Amazon S3 存储桶。

$ cd ./target

$ aws s3 cp . s3://<bucket-name> --recursive

支持 NLB 的 Auto Scale 解决方案 - 部署支持 NLB 的 Auto Scale 解决方案

如果您使用 NLB 来部署 Auto Scale 解决方案,请执行本节中提供的步骤。

过程


步骤 1

在 AWS 管理控制台上,转至服务 (Services) > 管理和监管 (Management and Governance) > CloudFormation > 堆栈, 然后点击模板创建的堆栈。

步骤 2

点击创建堆栈 (Create stack) > 通过新资源(标准)(With new resources [standard])

步骤 3

选择上传模板 (Upload a template) 文件,点击选择 (Choose) 以选择文件,然后从目标文件夹中选择 deploy_ngfw_autoscale.yaml

步骤 4

点击下一步

步骤 5

指定堆栈详细信息 (Specify stack details) 页面上,输入堆栈的名称。

步骤 6

deploy_ngfw_autoscale.yaml 模板中的输入参数提供值。

步骤 7

配置堆栈选项窗口中点击下一步

步骤 8

查看 (Review) 页面上,查看并确认设置。

步骤 9

点击 创建堆栈 以部署 deploy_ngfw_autoscale.yaml 模板并创建堆栈。


这样就完成了为使用 NLB 的 Threat Defense Virtual 设置自动扩展解决方案所需的两个模板的部署。

支持 GWLB 的 Auto Scale 解决方案 - 部署支持 GWLB 的 Auto Scale 解决方案

如果您使用 GWLB 来部署 Auto Scale 解决方案,请执行本节中提供的步骤。

过程


步骤 1

在 AWS 管理控制台上,转至服务 (Services) > 管理和监管 (Management and Governance) > CloudFormation > 堆栈, 然后点击模板创建的堆栈。

步骤 2

点击创建堆栈 (Create stack) > 通过新资源(标准)(With new resources [standard])

步骤 3

选择上传模板 (Upload a template) 文件,点击选择 (Choose) 以选择文件,然后从目标文件夹中选择 deploy_ngfw_autoscale_with_gwlb.yaml

步骤 4

点击下一步

步骤 5

指定堆栈详细信息 (Specify stack details) 页面上,输入堆栈的名称。

步骤 6

deploy_ngfw_autoscale_with_gwlb.yaml 模板中的输入参数提供值。

步骤 7

配置堆栈选项窗口中点击下一步

步骤 8

查看 (Review) 页面上,查看并确认设置。

步骤 9

点击创建堆栈 (Create Stack) 以部署 deploy_ngfw_autoscale_with_gwlb.yaml 模板并创建堆栈。


这样就完成了为使用 GWLB 的Threat Defense Virtual 设置自动扩展解决方案所需的两个模板的部署。

AWS 安全组变更

  1. 允许基础设施堆栈创建的 eipNAT 到 FMC 安全组(如果使用 FMC 公共 IP 地址)。

  2. 允许 FMC IP 到 FTD 实例安全组(如果使用公共 FTD IP 地址)。

带有 GWLB 的 Auto Scale 解决方案 - 创建 GWLB 终端

如果您使用 GWLB 来部署 Auto Scale 解决方案,请执行本节中提供的步骤。

过程


步骤 1

在 AWS 管理控制台上,转至服务 (Services) > 网络和内容交付 (Networking & Content Delivery) > VPC > 终端服务 (Endpoint Services)

步骤 2

点击创建终端服务 (Create Endpoint Service)

步骤 3

在“负载均衡器”(Load balancer) 类型下,选择网关 (Gateway)

步骤 4

可用的负载均衡器 (Available load balancers) 下,选择作为 Auto scale 部署的一部分创建的网关负载均衡器。

步骤 5

要求接受终端 (Require accepting for endpoint) 下,选择需要接受 (Acceptance required)。这可确保您必须手动接受任何终端服务连接请求。

步骤 6

支持的 IP 地址类型 (Supported IP address types) 下,选择 IPv4

步骤 7

点击创建 (Create)

步骤 8

复制新创建的终端服务的服务名称。

步骤 9

转至服务 (Services) > 网络和内容交付 (Networking & Content Delivery) > VPC > 终端 (Endpoints)

步骤 10

点击创建终端 (Create endpoint)

步骤 11

服务类别 (Service category) 下,选择其他终端服务 (Other endpoint services)

步骤 12

对于服务名称 (Service name),输入服务的名称,然后选择验证服务 (Verify service)

步骤 13

VPC 字段中,选择要在其中创建终端的 VPC。

步骤 14

子网 (Subnets)下,选择要在其中创建终端的子网。

步骤 15

对于 IP 地址类型,请选择 IPv4 选项以将 IPv4 地址分配给终端网络接口。

步骤 16

点击创建终端 (Create endpoint)


为 VPC 配置路由

过程


步骤 1

在 AWS 管理控制台上,转到服务 (Services) > 网络和内容 (Networking & Content) > 虚拟私有云 (Virtual Private Cloud) > 路由表 (Route tables)

步骤 2

选择互联网网关的路由表并执行以下步骤:

  1. 点击操作 (Actions) > 编辑路由 (Edit routes)

  2. 对于 IPv4,请点击添加路由 (Add route)。对于目标 (Destination),输入应用服务器子网的 IPv4 CIDR 块。对于目标 (Target),选择 VPC 终端。

  3. 点击保存更改 (Save changes)

步骤 3

选择包含应用服务器的子网的路由表,并执行以下步骤:

  1. 点击操作 (Actions) > 编辑路由 (Edit routes)

  2. 对于 IPv4,请点击添加路由 (Add route)。对于目标 (Destination),输入0.0.0.0/0。对于目标 (Target),选择 VPC 终端。

  3. 点击保存更改 (Save changes)

步骤 4

选择带有网关负载均衡器终端的子网路由表,然后执行以下步骤:

  1. 点击操作 (Actions) > 编辑路由 (Edit routes)

  2. 对于 IPv4,请点击添加路由 (Add route)。对于目标 (Destination),输入0.0.0.0/0。对于目标 (Target),选择互联网网关。

  3. 点击保存更改 (Save changes)


编辑 Auto Scale 组

默认情况下,Auto Scale 组的最小和最大威胁防御虚拟实例数分别设置为 0 和 2。根据需要更改这些值。

过程


步骤 1

在 AWS 管理控制台上,转至服务 (Services) > 计算 (Compute) > EC2,然后点击自动扩展组 (Auto Scaling Groups)

步骤 2

选择您创建的 自动扩展组,然后点击编辑 (Edit) 以根据您的要求修改所需容量 (Desired capacity)最小容量 (Minimum capacity)最大容量 (Maximum capacity) 字段中的值。这些值对应于要为自动扩展功能调出的 Threat Defense Virtual 实例的数量。将所需容量 (Desired capacity) 设置为介于最小和最大容量值之间的值。

步骤 3

点击更新




我们建议您仅启动一个 Threat Defense Virtual 实例,并验证此实例的行为是否符合预期。然后,您可以根据自己的要求启动更多实例。


验证部署

成功部署模板后,转到 Amazon CloudWatch 控制台以确保正在收集日志并创建了所需的警报。

日志

检查日志文件,以排除管理中心连接方面的任何问题。

过程


步骤 1

AWS 管理控制台上,转至服务 (Services) > 管理和监管 (Management & Governance) > CloudWatch

步骤 2

点击日志组 (Log groups),然后点击此处显示的任何日志组以查看日志。


警报

确保已在 Amazon CloudWatch 控制台上创建所需的警报。

过程


步骤 1

AWS 管理控制台上,转至服务 (Services) > 管理和监管 (Management & Governance) > CloudWatch

步骤 2

点击警报 (Alarms) > 所有警报 (All Alarms) 以显示警报列表以及触发外向扩展和内向扩展函数的条件。


维护任务

扩展过程

本主题说明如何挂起、然后恢复 Auto Scale 组的一个或多个扩展过程。

开始和停止扩展操作

要开始和停止外向/内向扩展操作,请执行以下步骤。

运行状况监控

每 60 分钟,CloudWatch Cron 作业会触发运行状况医生模块的 Auto Scale 管理器 Lambda:

  • 如果有属于有效 Firewall Threat Defense Virtual VM 的不正常 IP,且 Firewall Threat Defense Virtual 超过了一小时,则该实例将被删除。

  • 如果这些 IP 不是来自有效的 Firewall Threat Defense Virtual机,则仅从目标组中删除 IP。

运行状况监控器还会验证设备组、访问策略和 NAT 规则的 防火墙管理中心 配置。如果 IP/实例运行状况不正常,或者 防火墙管理中心 验证失败,则运行状况监控器会向用户发送邮件。

禁用运行状况监控器

要禁用运行状况监控器,请在 constant.py 中将常量设为“True”。

启用运行状况监控器

要启用运行状况监控器,请在 constant.py 中将常量设为“False”。

禁用生命周期钩子

在极少数需要禁用生命周期钩子的情况下,如果禁用,将不会向实例添加额外的接口。它还可能导致一系列 Firewall Threat Defense Virtual 实例部署失败。

禁用 Auto Scale 管理器

要禁用 Auto Scale Manager,应禁用相应的 CloudWatch 事件“notify-instance-launch”和“notify-instance-terminate”。禁用这些不会对任何新事件触发 Lambda。但是,已在执行的 Lambda 操作将会继续。Auto Scale Manager 不会突然停止。通过删除堆栈或删除资源尝试突然停止可能会导致状态不确定。

负载均衡器目标

由于 AWS 负载均衡器不允许对具有多个网络接口的实例使用实例类型目标,因此将 Gigabit0/1 接口 IP 配置为目标组上的目标。但是,截至目前,AWS Auto Scale 运行状况检查仅对实例类型目标(而不是 IP)有效。此外,这些 IP 不会自动添加到目标组或从目标组中删除。因此,我们的 Auto Scale 解决方案会以编程方式处理这两个任务。但在进行维护或故障排除时,可能会有需要手动完成此操作的情况。

将目标注册到目标组

要将 Firewall Threat Defense Virtual 实例注册到负载均衡器,其 Gigabit0/1 实例 IP(外部子网)应添加为目标组中的目标。请参阅按 IP 地址注册或取消注册目标

从目标组取消注册目标

要从负载均衡器取消注册 Firewall Threat Defense Virtual 实例,其 Gigabit0/1 实例 IP(外部子网)应作为目标组中的目标删除。请参阅按 IP 地址注册或取消注册目标

实例备用

AWS 不允许在 Auto Scale 组中重新启动实例,但允许用户将实例置于备用状态并执行这类操作。但是,当负载均衡器目标为实例类型时,这将发挥最佳效果。但是,由于多个网络接口,Firewall Threat Defense Virtual机无法配置为实例类型目标。

将实例置于备用状态

如果实例被置于备用状态,则其目标组中的 IP 在运行状况探测失败之前仍将继续处于相同状态。因此,建议在将实例置于备用状态之前,从目标组取消注册各自的 IP;有关详细信息,请参阅负载均衡器目标

删除 IP 后,请参阅暂时从 Auto Scaling 组中删除实例

从备用状态删除实例

同样,您也可以将实例从备用状态移至运行状态。从备用状态删除后,实例的 IP 应注册到目标组目标。请参阅负载均衡器目标

有关如何将实例置于备用状态以进行故障排除或维护的详细信息,请参阅 AWS 新闻博客

从 Auto Scale 组删除/分离实例

要从 Auto Scale 组中删除实例,应首先将其移到备用状态。请参阅“将实例置于备用状态”。当实例处于备用状态后,可以将其删除或分离。请参阅从 Auto Scaling 组分离 EC2 实例

防火墙管理中心 端不会有任何更改。需要手动执行任何必要的更改。

终止实例

要终止实例,应将其置于备用状态;请参阅实例备用。当实例处于备用状态后,即可继续终止。

实例内向扩展保护

为避免从 Auto Scale 组中意外删除任何特定实例,可以对其进行内向扩展保护。如果实例受到内向扩展保护,则不会因内向扩展事件而终止。

请参阅以下链接,以便将实例置于内向扩展保护状态。

https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-instance-termination.html


重要


建议将状况良好的最小数量的实例(目标 IP 应正常运行,而不仅是 EC2 实例)设为内向扩展保护。


配置更改

配置中的任何更改都不会自动反映在运行中的实例上。更改将仅反映在未来的设备上。应手动将此类更改推送到现有设备。

如果您在现有实例上手动更新配置时遇到问题,我们建议从扩展组中删除这些实例并将其替换为新实例。

更改 防火墙管理中心 用户名和密码

在更改 防火墙管理中心 IP、用户名或密码的情况下,应对 Auto Scale Manager Lambda 函数和自定义指标发布方 Lambda 函数环境变量执行相应的更改。请参阅使用 AWS Lambda 环境变量

当 Lambda 下次运行时,将引用更改后的环境变量。



环境变量会被直接送入 Lambda 函数。此处不检查密码复杂性。


更改Firewall Threat Defense Virtual 管理员密码

对于运行中的实例,更改 Firewall Threat Defense Virtual 密码时要求用户在每个设备上手动更改。对于要载入的新 Firewall Threat Defense Virtual 设备,将从 Lambda 环境变量提取 Firewall Threat Defense Virtual 密码。请参阅使用 AWS Lambda 环境变量

更改注册和 NAT ID

对于要使用不同的注册和 NAT ID 载入的新 Firewall Threat Defense Virtual设备,在进行 防火墙管理中心 注册时,应在 Configuration.json 文件中更改这些信息。可以在 Lambda 资源页中找到 Configuration.json 文件。

访问策略和 NAT 策略更改

通过设备组分配的帮助,访问策略或 NAT 策略的任何更改都将自动应用到未来的实例。不过,要更新现有的 Firewall Threat Defense Virtual 实例,您需要手动推送配置更改,然后从 防火墙管理中心 部署这些更改。

AWS 资源更改

部署后可以在 AWS 中更改许多内容,如 Auto Scale 组、启动配置、CloudWatch 事件、扩展策略等。您可以将资源导入 CloudFormation 堆栈,或通过现有资源创建新的堆栈。

有关如何管理对 AWS 资源执行的更改的详细信息,请参阅将现有资源引入 CloudFormation 管理

为现有 Autoscale 组实例配置 IMDSv2 所需模式

您可以为 AWS 上已部署的 Firewall Threat Defense Virtual 个自动缩放组实例配置 IMDSv2 必需模式。

Before you begin

Firewall Threat Defense Virtual 7.6 及更高版本支持 IMDSv2 必需模式。在为部署配置 IMDSv2 模式之前,确保现有实例版本与 IMDSv2 模式兼容(升级到版本 7.6)。

Procedure


Step 1

登录 http://aws.amazon.com/

Step 2

点击 EC2,然后选择自动扩展 (Auto Scaling) > 自动扩展组 (Auto Scaling Groups)

Step 3

从列表中选择自动扩展组,为该组的相关实例配置 IMDSv2 必需模式。

Step 4

点击启动模板 (Launch Template)

Step 5

启动模板 (Launch templates) 页面上,从操作 (Actions) 下拉列表中选择修改模板(创建新版本)(Modify template [Create new version])

Step 6

使用支持 IMDSv2 的映像来更新 AMI ID。

Step 7

高级详细信息 (Advanced Details) 下,启用 IMDSv2 元数据:

  1. 元数据可访问 (Metadata accessible) 下拉列表中选择启用 (Enabled)

  2. 元数据版本 (Metadata version) 下拉列表中选择 仅 V2(需要令牌)(V2 only [token required])

Step 8

使用此元数据版本的启动模板来部署启用 IMDSv2 Required 模式的自动扩展组实例。


故障排除

AWS CloudFormation 控制台

您可以在 AWS CloudFormation 控制台中验证 CloudFormation 堆栈的输入参数,该控制台允许您直接从网络浏览器创建、监控、更新和删除堆栈。

导航到所需的堆栈,然后选中参数选项卡。您还可以在 Lambda 函数环境变量选项卡中检查 Lambda 函数的输入。此外,还可以在 Auto Scale Manager Lambda 函数本身上查看 configuration.json

要了解有关 AWS CloudFormation 控制台的更多信息,请参阅《AWS CloudFormation 用户指南》。

Amazon CloudWatch 日志

您可以查看各个 Lambda 函数的日志。AWS Lambda 代表您自动监控 Lambda 功能,从而通过 Amazon CloudWatch 报告指标。为帮助您排除功能故障,Lambda 会记录您的功能处理的所有请求,并通过 Amazon CloudWatch 日志自动存储代码生成的日志。

您可以使用 Lambda 控制台、CloudWatch 控制台,AWS CLI 或 CloudWatch API 查看 Lambda 的日志。要了解有关日志组并通过 CloudWatch 控制台访问日志组的更多信息,请参阅《Amazon CloudWatch 用户指南》中的监控系统、应用和自定义日志文件。

负载均衡器运行状况检查失败

负载均衡器运行状况检查包含协议、ping 端口、ping 路径、响应超时和运行状况检查间隔等信息。如果实例在运行状况检查间隔内返回 200 响应代码,则该实例会被视为运行状况正常。

如果您的部分或所有实例的当前状态为 OutOfService,并且说明字段显示实例至少连续失败运行状况检查不正常阈值次数的检查 (Instance has failed at least the Unhealthy Threshold number of health checks consecutively),则表明实例未通过负载均衡器运行状况检查。

您应在 防火墙管理中心 配置中检查运行状况探测 NAT 规则。有关详细信息,请参阅传统负载均衡器故障排除:运行状况检查

流量问题

要排除 Firewall Threat Defense Virtual 实例的流量问题,应检查负载均衡器规则、NAT 规则和 Firewall Threat Defense Virtual 实例中配置的静态路由。

您还应检查部署模板中提供的 AWS 虚拟网络/子网/网关详细信息,包括安全组规则等。您还可以参阅 AWS 文档,例如 EC2 实例故障排除

防火墙管理中心 连接失败

如果管理连接中断,则应检查配置和凭证。请参阅《Cisco Secure Firewall Management Center 配置指南》中的“设备管理的要求和前提条件”。

设备无法向 防火墙管理中心 注册

如果设备未能向 防火墙管理中心 注册失败,您需要确定 防火墙管理中心 配置是否有故障/无法访问,或者 防火墙管理中心 是否有能力容纳新设备。请参阅《Cisco Secure Firewall Management Center 配置指南》中的“将设备添加到管理中心”。

无法通过 SSH 连接到 Firewall Threat Defense Virtual

如果无法通过 SSH 连接到 Firewall Threat Defense Virtual,请检查是否通过模板将复杂密码传递到 Firewall Threat Defense Virtual

双臂代理配置故障排除

Firewall Threat Defense Virtual EC2 实例无法启动或进入连续的启动-终止循环。

您必须验证活动历史记录:转至自动扩展组 (Autoscale Group) > 自动扩展组 (Autoscale Group) > 活动 (Activity) > 活动历史记录 (Activity History) 以开始调试。

可能的原因包括 AMI 丢失和 Lambda 函数执行错误。

  • 确保 AMI 存在于 AWS 账户中。

  • 检查连接、配置和许可。

  • 选中与 Firewall Threat Defense Virtual EC2 实例关联的标签,以获取设备的连接状态、配置状态、许可状态和其他状态。

  • 检查 CloudWatch 日志

    • 单个 Lambda 函数的日志可在 CloudWatch Logs 中查看。

    • 如果在连接或配置设备时出现问题,请继续查看 Lambda 函数的 CloudWatch 日志以了解根本原因。

    • 验证 Lambda 函数的日志组。

AWS 云端调试:流量未通过

  • 检查所有 AWS 子网的路由表是否与拓扑图中指定的一致。确保出口(设备上存在东西流量路由。

  • 确保与所有设备接口相关联的 AWS 安全组允许预期的 IP 地址范围。