在 AWS 上部署 Threat Defense Virtual

本章介绍如何从 AWS 门户部署 threat defense virtual

概述

AWS 是一种公共云环境。threat defense virtual在以下实例类型的 AWS 环境中作为访客运行。

表 1. 系统要求

实例类型

Threat Defense Virtual

vCPU

内存 (GB)

最大接口数

c5a.xlarge

7.1.0 或更高版本

4

8

4

c5a.2xlarge

8

16

4

c5a.4xlarge

16

32

8

c5ad.xlarge

4

8

4

c5ad.2xlarge

8

16

4

c5ad.4xlarge

16

32

8

c5d.xlarge

4

8

4

c5d.2xlarge

8

16

4

c5d.4xlarge

16

32

8

c5n.xlarge

4

10.5

4

c5n.2xlarge

8

21

4

c5n.4xlarge

16

42

8

m5n.xlarge

4

16

4

m5n.2xlarge

8

32

4

m5n.4xlarge

16

64

8

m5zn.xlarge

4

16

4

m5zn.2xlarge

8

32

4

c5. xlarge

6.6.0 或更高版本

4

8

4

c5.2xlarge

8

16

4

c5.4xlarge

16

32

8

c4.xlarge

6.4.0 或更高版本

4

7.5

4

c3.xlarge

4

7.5

4



Threat Defense Virtual 不支持通过调整实例大小来更改实例类型。您只能使用全新的部署来部署具有不同实例大小的 Threat Defense Virtual


有关 aws 市场上列出的 NGFWv 支持的 EC2 实例类型的信息,请参阅 https://aws.amazon.com/marketplace/pp/prodview-p2336sqyya34e#pdp-overview

端到端程序

以下流程图说明了在 Amazon Web 服务 (AWS) 上部署 threat defense virtual 的工作流程。

工作空间

步骤

AWS 控制台

www.amazon.com:在 AWS 控制台中创建用户账户。

AWS VPC 控制面板

配置/创建 VPC:创建和配置 AWS 账户专用的 VPC。

AWS VPC 控制面板

添加互联网网关:添加互联网网关以控制 VPC 与互联网的连接。

AWS VPC 控制面板

添加子网:将子网添加到 VPC。

AWS VPC 控制面板

添加路由表:将路由表连接到为 VPC 配置的网关。

AWS EC2 控制面板

创建安全组:创建安全组,并在安全组中通过规则指定允许的协议、端口和源 IP 地址范围。

AWS EC2 控制面板

创建网路接口:您可以使用静态 IP 地址为 threat defense virtual 创建网络接口。

AWS EC2 控制面板

创建弹性 IP:弹性 IP 地址是用于远程访问 threat defense virtual 及其他实例的保留公共 IP 地址。

AWS EC2 控制面板

部署 threat defense virtual 实例:从 AWS 门户部署 threat defense virtual

管理中心设备管理器

管理 threat defense virtual

如何管理 Cisco Secure Firewall Threat Defense Virtual 设备

您有两个选择来管理您的 Cisco Secure Firewall Threat Defense Virtual

Cisco Secure Firewall Management Center

如果要管理大量设备或要使用 威胁防御 支持的更复杂的功能和配置,请使用 管理中心(而不是集成的 设备管理器)来配置您的设备。


重要


您不能同时使用 设备管理器管理中心 来管理 威胁防御 设备。在启用 设备管理器 集成管理功能后,将无法使用 管理中心 来管理 威胁防御 设备,除非您禁用本地管理功能并重新配置管理功能以使用 管理中心。另一方面,当您向 威胁防御 注册 管理中心 设备时,设备管理器 载入管理服务会被禁用。



小心


目前,思科不提供将 设备管理器 配置迁移到 管理中心 的选项,反之亦然。选择为 威胁防御 设备配置的管理类型时,请考虑这一点。


Cisco Secure Firewall 设备管理器

设备管理器 板载集成的管理器。

设备管理器 是基于 Web 的配置界面,包含在某些 威胁防御 设备上。设备管理器可以配置小型网络最常用软件的基本功能。此产品专为包括一台或几台设备的网络而设计,在这种网络中,无需使用高功率多设备管理器来控制包含许多 威胁防御 设备的大型网络。



有关支持 设备管理器威胁防御 设备的列表,请参阅《Cisco Secure Firewall 设备管理器配置指南》


AWS 解决方案概述

AWS 是由 Amazon.com 提供并构成云计算平台的一系列远程计算服务(也称为 Web 服务)。这些服务遍布全球 11 个地区。通常,在部署 Cisco Secure Firewall Management Center Virtual(之前称为 Firepower Management Center Virtual)和 threat defense virtual 时,您应该会熟悉以下 AWS 服务:

  • Amazon 弹性计算云 (EC2) - 使您能够通过租用虚拟计算机,在 Amazon 数据中心启动和管理自己的应用和服务(例如防火墙)的 Web 服务。

  • Amazon 虚拟私有云 (VPC) - 使您能够配置 Amazon 公共云中的隔离专用网络的 Web 服务。您可以在 VPC 内运行自己的 EC2 实例。

  • Amazon 简单存储服务 (S3) - 提供数据存储基础设施的 Web 服务。

您可以在 AWS 上创建账户,设置 VPC 和 EC2 组件(使用 AWS 向导或手动配置), 并选择 Amazon 系统映像 (AMI) 实例。AMI 是一种模板,其中包含启动您的实例所需的软件配置。


Note


AMI 映像在 AWS 环境之外不可下载。


前提条件

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

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

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

  • 许可 threat defense virtual

    Secure Firewall Management Center

    Cisco Secure Firewall 设备管理器

    • 配置 Cisco Secure Firewall 设备管理器 安全服务的性能级许可授权。

    • 有关如何管理许可证的详细信息,请参阅 Threat Defense Virtual 许可

  • Threat Defense Virtual 接口要求:

    • 管理接口 (2) - 一个用于将 threat defense virtual 连接到 管理中心,另一个留作内部使用;无法用于直通流量。

      您可以选择为 管理中心 管理配置数据接口,而非管理接口。管理接口是数据接口管理的前提条件,因此您仍需要在初始设置中对其进行配置。请注意,在高可用性部署中,不支持从数据接口进行 管理中心 访问。有关为 管理中心 访问配置数据接口的详细信息,请参阅 FTD 命令参考中的 configure network management-data-interface 命令。

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

  • 通信路径:

    • 通过公共/弹性 IP 地址访问 threat defense virtual

支持的软件平台

threat defense virtual Auto Scale 解决方案适用于 管理中心 管理的 threat defense virtual,与软件版本无关。《Cisco Secure Firewall Threat Defense 兼容性指南》提供思科软件和硬件兼容性,包括操作系统和托管环境要求。


Note


为了部署 AWS Auto Scale 解决方案,AWS 上 threat defense virtual 的最低支持版本是版本 6.4。管理中心 必须至少运行版本 6.6+,才能使用基于内存的扩展。


准则和限制

支持的功能

  • 在虚拟私有云 (VPC) 中部署

  • 增强型联网 (SR-IOV)。

  • 从 Amazon Marketplace 部署

  • L3 网络的部署。

  • 路由模式(默认)。

  • ERSPAN 被动模式。

  • 集群(7.2 及更高版本)。有关详细信息,请参阅公共云中 Threat Defense Virtual 的集群

  • Amazon CloudWatch 记录的运行状况监控指标

  • 巨型帧

  • 快照(7.2 及更高版本)

  • IPv6

不支持的功能

  • 克隆

  • 透明、内联和被动模式

  • AWS 上的 Geneve 单臂设置不支持传输层安全 (TLS) 服务器身份发现。

许可

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

  • PAYG(即付即用)许可,一种基于使用的计费模式,允许客户在不购买 Cisco 智能许可的情况下运行 threat defense virtual。对于已注册的 PAYG threat defense virtual 设备,将启用所有许可的功能(恶意软件/威胁/URL 过滤/VPN 等)。这些许可功能在已注册的 管理中心 上自动标记为活动。许可的功能无法从 管理中心 编辑或修改。(版本 6.5+)


    Note


    设备管理器 模式下部署的 threat defense virtual 设备上不支持 PAYG 许可。


有关许可 threat defense virtual 设备时的准则,请参阅《防火墙管理中心管理指南》中的“许可证”一章。

Threat Defense Virtual 智能许可的性能级别

Threat Defense Virtual 版本 7.0.0 发布开始,threat defense virtual 支持性能级许可,该级别许可可基于部署要求提供不同的吞吐量级别和 VPN 连接限制。

Table 2. 基于授权的 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

性能优化

为实现 threat defense virtual的最佳性能,您可以对 VM 和主机进行调整。有关详细信息,请参阅 AWS 上的虚拟化调整和优化

接收端扩展 - threat defense virtual 支持接收端扩展 (RSS),网络适配器利用这项技术将网络接收流量分发给多个处理器内核。在 7.0 及更高版本上受支持。有关详细信息,请参阅用于接收端扩展 (RSS) 的多个 RX 队列

Threat Defense Virtual 限制

  • c5.xlarge 是推荐实例;c3.xlarge 实例在不同 AWS 区域的可用性受限。

  • 您必须在启动期间配置两个管理接口。

  • 必须有两个流量接口和两个管理接口才能启动,总计四个接口。


Note


没有四个接口,threat defense virtual 将不会启动。


  • 在 AWS 中配置流量接口时,必须禁用“更改源/目标检查”选项。

  • 通过 CLI 或 管理中心 完成的任何 IP 地址(IPv4 和 IPv6)配置必须与 AWS 控制台中创建的内容一致;在部署期间应注意配置。

  • 在注册 threat defense virtual 后,必须在 管理中心 上编辑并启用这些接口;请注意,IP 地址必须与 AWS 配置的接口匹配。

  • 目前不支持透明/内联/被动模式。

  • 要修改接口,您需要从 AWS 控制台进行更改。在 AWS 控制台上,从 管理中心 取消注册接口,然后停止使用 AWS AMI 用户界面的实例。然后,分离要更改的接口并连接新接口(请注意,您需要两个流量接口和两个管理接口才能启动)。现在,启动实例并重新注册到 管理中心

    管理中心 编辑设备接口,然后修改 IP 地址(IPv4 和 IPv6)和其他参数,以便与通过 AWS 控制台所做的更改匹配。


    Note


    IPv6 只能在双堆栈 (IPv4 + IPv6) 模式下使用。


  • 在启动后无法添加接口。

  • 如果您观察到异常行为,例如 Snort 需要很长时间才能关闭,或者 VM 通常缓慢,或者在执行某个进程时,请从 threat defense virtual 和 VM 主机收集日志。收集总体 CPU 使用情况、内存、I/O 使用情况和读/写速度日志将有助于对问题进行故障排除。

  • 当 Snort 关闭时,观察到高 CPU 和 I/O 使用率。如果在内存不足且没有专用 CPU 的单个主机上创建了大量 threat defense virtual 实例,则 Snort 将需要很长时间才能关闭,这将导致创建 Snort 核心。

实例元数据数据服务 (IMDS) 服务的 Threat Defense Virtual 限制

  • 默认情况下,部署在 IMDSv2 可选模式下进行。

  • 例如,IMDS 模式可以随时更改。

  • 在切换到 IMDSv2 Required 模式之前,请确保产品版本支持该模式,否则依赖于 IMDS 的某些服务可能会失败。

  • 对于旧版本(不支持 IMDSv2),只能使用 IMDSv2 可选模式进行部署。

  • 对于较新的版本(支持 IMDSv2),可在 IMDSv2 可选模式和 IMDSv2 要求模式下进行部署。但建议使用“IMDSv2 必需”模式。

配置 AWS 环境

要在 AWS 上部署 threat defense virtual,需要根据部署的特定要求和设置来配置 Amazon VPC。在大多数情况下,设置向导将引导您完成设置过程。AWS 提供在线文档,其中您可以找到与服务(从简介到高级功能)相关的有用信息。有关详细信息,请参阅https://aws.amazon.com/documentation/gettingstarted/

为更好地控制 AWS 设置,以下部分提供有关在启动 threat defense virtual 实例之前如何配置 VPC 和 EC2 的指南:

准备工作

  • 创建 AWS 账户。

  • 确认可供 threat defense virtual 实例使用的 AMI。

创建 VPC

虚拟私有云 (VPC) 是 AWS 账户专用的虚拟网络。该网络逻辑上与 AWS 云中的其他虚拟网络相隔离。您可以在 VPC 中启动 AWS 资源,如 Management Center Virtualthreat defense virtual 实例。您可以配置 VPC,选择其 IP 地址范围,创建子网,并配置路由表、网络网关和安全设置。

有关为 VPC 和子网启用 IPv6 CIDR 块的信息,请参阅 AWS 文档在具有公共和专用子网的 VPC 中启用 IPv6

Procedure


Step 1

登录 http://aws.amazon.com/ 并选择您所在的区域。

AWS 划分为彼此隔离的多个区域。区域显示在屏幕的右上角。一个区域中的资源不会出现在另一个区域中。请定期检查以确保您在预期的区域内。

Step 2

点击服务 > VPC

Step 3

点击VPC 控制面板 (VPC Dashboard) > 您的 VPC (Your VPCs)

Step 4

点击创建 VPC (Create VPC)

Step 5

创建 VPC对话框中输入以下信息:

  1. 用于标识 VPC 的用户自定义名称标签

  2. IP 地址的 IPv4 CIDR 块。CIDR(无类别域间路由) 是 IP 地址及其关联路由前缀的紧凑表示。例如,10.0.0.0/24。

  3. IP 地址的 IPv6 CIDR 块。CIDR(无类别域间路由) 是 IP 地址及其关联路由前缀的紧凑表示。例如,[::/0]。

  4. IPv6 CIDR 块 (IPv6 CIDR block) 中选择 Amazon 提供的 IPv6 CIDR 块 (Amazon-provided IPv6 CIDR block),以在虚拟私有云中启用 IPv6。

  5. 默认的租户设置,以确保在此 VPC 中启动的实例启动时使用指定的租户属性。

Step 6

点击是,创建 (Yes, Create) 以创建 VPC。


What to do next


Note


单独使用 IPv6 无法创建虚拟网络、子网、接口等。默认情况下使用 IPv4,并可以同时启用 IPv6。


添加互联网网关到 VPC 中,详见下一部分。

添加互联网网关

您可以添加互联网网关以控制 VPC 与互联网的连接。您可以将 VPC 之外的 IP 地址流量路由至互联网网关。

准备工作

  • Threat Defense Virtual实例创建 VPC。

Procedure


Step 1

点击服务 > VPC

Step 2

点击 VPC 控制面板 > 互联网网关,然后点击创建互联网网关

Step 3

输入用户自定义的名称标签以标识网关,然后点击是,创建以创建网关。

Step 4

选择上一步中创建的网关。

Step 5

点击连接到 VPC 并选择之前创建的 VPC。

Step 6

点击是,连接 (Yes, Attach),以将网关连接到 VPC。

默认情况下,在创建网关并将其连接到 VPC 之前,在 VPC 上启动的实例无法与互联网通信。


What to do next

添加子网到 VPC 中,详见下一部分。

添加子网

您可以对 Threat Defense Virtual 实例可连接的 VPC IP 地址范围进行分段。您可以根据安全和运营需要创建子网,以实现实例的分组。对于 Threat Defense Virtual,您需要创建一个管理子网和一个流量子网。

准备工作

  • Threat Defense Virtual实例创建 VPC。

Procedure


Step 1

点击服务 > VPC

Step 2

点击 VPC 控制面板 > 子网,然后点击创建子网

Step 3

创建子网对话框中输入以下信息:

  1. 用于标识子网的用户自定义名称标签

  2. 子网所在的 VPC

  3. 此子网将驻留的可用区域。选择无首选项,由 Amazon 来选择区域。

  4. IP 地址(IPv4 和 IPv6)IPv4 CIDR 块。子网 IP 地址范围必须为 VPC 的 IP 地址范围的子集。地址块大小必须介于网络掩码 /16 和 /28 之间。子网大小可以与 VPC 相等。

Step 4

点击是,创建 (Yes, Create) 以创建子网。

Step 5

如需多个子网,重复以上步骤。为管理流量创建单独的子网,根据需要为数据流量创建多个子网。


What to do next

添加路由表到 VPC 中,详见下一部分。

添加路由表

您可以将路由表连接到为 VPC 配置的网关。您还可以关联多个子网与单个路由表,但子网一次只可以关联一个路由表。

Procedure


Step 1

点击服务 > VPC

Step 2

点击 VPC 控制面板 > 路由表,然后点击创建路由表

Step 3

输入用于标识路由表的用户自定义名称标签

Step 4

从下拉列表中选择将使用此路由表的 VPC

Step 5

点击是,创建 (Yes, Create)以创建路由表。

Step 6

选择刚创建的路由表。

Step 7

点击路由 (Routes) 选项卡,以在详细信息窗格中显示路由信息。

Step 8

点击编辑 (Edit),然后点击添加其他路由 (Add another route)

  1. 目标 (Destination) 列中,为所有 IPv6 流量输入 0.0.0.0/0 或 [::/0]

  2. 目标列中,选择您的网关。

Step 9

点击保存


What to do next

创建安全组,详见下一部分。

创建安全组

您可以创建安全组,并在安全组中通过规则指定允许的协议、端口和源 IP 地址范围。可以创建具有不同规则的多个安全组;可以将这些规则分配给每个实例。

Procedure


Step 1

点击服务 > EC2

Step 2

点击 EC2 控制面板 > 安全组

Step 3

点击创建安全组

Step 4

创建安全组对话框中输入以下信息:

  1. 用于标识安全组的用户自定义安全组名称

  2. 此安全组的说明

  3. 与此安全组关联的 VPC

Step 5

配置安全组规则

  1. 点击入站 (Inbound) 选项卡,然后点击添加规则 (Add Rule)

    Note

     

    如需从 AWS 外部管理 Management Center Virtual,则需要 HTTPS 和 SSH 访问权限。您应指定相应的源 IP 地址。此外,如果在 AWS VPC 内同时配置 Management Center Virtualthreat defense virtual,应允许专用 IP 管理子网访问权限。

  2. 点击出站选项卡,然后点击添加规则以添加出站流量规则,或保留所有流量(作为类型)和任意位置(作为目标) 的默认设置。

Step 6

点击创建以创建安全组。


What to do next

创建网络接口,详见下一部分。

创建网络接口

您可以使用静态 IP 地址(IPv4 和 IPv6)或 DHCP 为 threat defense virtual 创建网络接口。根据具体部署需要,创建网络接口(外部和内部)。

Procedure


Step 1

点击服务 > EC2

Step 2

点击 EC2 控制面板 > 网络接口

Step 3

点击创建网络接口 (Yes, Create)

Step 4

创建网络接口对话框中输入以下信息:

  1. 网络接口的用户自定义说明(可选)。

  2. 从下拉列表中选择子网 (Subnet)。确保选择要创建 threat defense virtual 实例所在 VPC 的子网。

  3. 输入专用 IP 地址。您可以使用静态 IP 地址(IPv4 和 IPv6)或自动生成 (DHCP)。

  4. 选择一个或多个安全组。确保安全组已打开所有必需的端口。

Step 5

点击创建网络接口 (Create network interface) 以创建网络接口。

Step 6

选择刚创建的网络接口。

Step 7

右键点击并选择更改源/目的地址检查

Step 8

取消选中源/目标 (Source/destination check) 复选框下的启用 (Enable) 复选框,然后点击保存 (Save)


What to do next

创建弹性 IP 地址,详见下一部分。

创建弹性 IP

创建实例时,实例会关联一个公共 IP 地址。停止和启动实例时,该公共 IP 地址(IPv4 和 IPv6)会自动更改。要解决此问题,可使用弹性 IP 地址为实例分配一个永久性的公共 IP 地址。弹性 IP 地址是用于远程访问 threat defense virtual 及其他实例的保留公共 IP 地址。


Note


至少要为 threat defense virtual 管理接口创建弹性 IP 地址。

Procedure


Step 1

点击服务 > EC2

Step 2

点击 EC2 控制面板 > 弹性 IP

Step 3

点击分配新地址 (Allocate New Address)

Step 4

根据弹性/公共 IP 地址分配需要,重复此步骤。

Step 5

点击是,分配 (Yes, Allocate) 以创建弹性 IP 地址。

Step 6

根据部署需要,重复上述步骤以创建其他弹性 IP 地址。


What to do next

部署 threat defense virtual,详见下一部分。

AWS 中 Threat Defense Virtual 的实例元数据服务 (IMDS)

实例元数据数据服务 (IMDS) 提供有关部署在 AWS 上的 Threat Defense Virtual 实例数据的信息。这些信息包括虚拟实例的网络、存储和其他数据的详细信息。这些元数据可用于自动做出配置决定(Day0 配置)和显示实例信息,如实例类型、区域等。

IMDS API 在设备启动期间从 AWS 收集 Threat Defense Virtual 实例的元数据,稍后配置实例。目前,Threat Defense Virtual 实例使用 IMDSv1 API 来获取和验证实例的元数据。从 7.6 及更高版本开始,支持 IMDSv2 元数据服务,这是一种更安全、更强大的服务。

在 AWS 中为 Threat Defense Virtual 实例配置 IMDS

AWS 支持 Threat Defense Virtual 实例的以下两种 IMDS 模式:

  • IMDSv2 可选:您可以部署 Threat Defense Virtual 实例,以启用 IMDSv1 或 IMDSv2 或同时启用 IMDSv1 和 IMDSv2 API。

  • IMDSv2 必需:您必须在 Threat Defense Virtual 实例部署期间仅专门配置此模式。


    Note


    “IMDSv2 必需”是建议的模式,其中仅支持 IMDSv2 API 调用。


您可以在 AWS 中为以下部署场景中的实例配置 IMDS:

新部署:新部署 Threat Defense Virtual 实例时,可以配置 IMDSv2 必需模式。对于新部署,您可以使用以下方法之一来启用 IMDSv2。

  • AWS EC2 控制台 - 您可以在 AWS EC2 控制台的“高级详细信息”(Advance Details) 部分中为独立实例部署启用仅 V2(需要令牌)(V2 only [token required])

  • CloudFormation 模板 - 您可以使用模板中 MetadataOptions 下的 HttpEndpoint: enabledHttpTokens: required 属性来启用 仅 V2(需要令牌) - IMDSv2 必需模式。这适用于自动缩放和集群部署。

部署 Threat Defense Virtual

Before you begin

Cisco 建议以下操作:

  • 配置 AWS 环境中所述,配置 AW VPC 和 EC2 元素。

  • 确认可供 threat defense virtual 实例使用的 AMI。

Procedure


Step 1

前往 https://aws.amazon.com/marketplace(Amazon Marketplace) 并登录。

Step 2

登录 Amazon 市场后,点击为 threat defense virtual (Cisco Firepower NGFW Virtual (NGFWv) - BYOL) 提供的链接。

Note

 

如果之前已登录 AWS,您可能需要注销并重新登录,以确保链接有效。

Step 3

点击继续,然后点击手动启动选项卡。

Step 4

点击接受条款 (Accept Terms)

Step 5

在期望的区域点击使用 EC2 控制台启动 (Launch with EC2 Console)

Step 6

选择 threat defense virtual 支持的实例类型,建议 c4.xlarge。

Step 7

点击屏幕底部的下一步:配置实例详细信息 (Next: Configure Instance Details) 按钮:

  • 更改网络,以匹配先前创建的 VPC。

  • 更改子网,以匹配先前创建的管理子网。您可以指定 IP 地址或使用自动生成。

  • 您可以启用自动生成公用 IP(IPv4 和 IPv6)

  • 单独使用 IPv6 无法创建虚拟网络、子网、接口等。默认情况下使用 IPv4,并可以同时启用 IPv6。有关 IPv6 迁移的更多信息,请参阅 AWS IPv6 概述AWS VPC

  • 在网络接口下点击添加设备按钮以添加 eth1 网络接口。

  • 更改子网,使其与之前创建的用于 eth0 的管理子网匹配。

Note

 

threat defense virtual 需要两个管理接口。

小心:高级详细信息字段中输入数据时,请仅使用纯文本。如果从文本编辑器复制此信息,请确保仅以纯文本形式复制。如果将任何 Unicode 数据(包括空格)复制到高级详细信息字段,可能会造成实例损坏,然后您必须终止此实例并重新创建实例。

使用 管理中心 来管理 threat defense virtual 的登录配置示例:


#Sensor
{
            "AdminPassword": "<your_password>",
            "Hostname": "<your_hostname>",
            "IPv6Mode": "dhcp",
            "ManageLocally": "No",
            "FmcIp":  "<IP address of FMC>",
            "FmcRegKey":"<registration_passkey>",
            "FmcNatId":"<NAT_ID_if_required>"
}

使用 设备管理器 来管理 threat defense virtual 的登录配置示例:


#Sensor
{
            "AdminPassword": "<your_password>",
            "Hostname": "<your_hostname>",
            "ManageLocally": "Yes"
}

  • 高级详细信息下方,添加默认的登录信息。修改以下示例,以满足设备名称和密码要求。

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

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

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

    您还可以通过执行以下操作来从 AWS CLI 启用 IMDSv2:

  • 打开 AWS CLI 控制台并添加以下参数以启用“IMDSv2 必需”模式 --metadata-options "HttpEndpoint=enabled,HttpTokens=required”

    示例 IMDSv2 配置:

    
                aws ec2 run-instances \,
                --image-id ami-0abcdef1234567890 \
                --instance-type c5x.large \
    		...	
    		--metadata-options "HttpEndpoint=enabled,HttpTokens=required"
    

Step 8

点击下一步:添加存储 (Next: Add Storage)

您可以继续使用默认值。

Step 9

点击下一步:标记实例 (Next: Tag Instance)

标签由区分大小写的键值对组成。例如,您可以按照“Key = 名称”和“Value = 防火墙”的格式定义标签。

Step 10

选择下一步:配置安全组 (Next: Configure Security Group)

Step 11

点击选择现有安全组 (Select an existing Security Group) 并选择先前配置的安全组,或创建新的安全组;有关创建安全组的详细信息,请参阅 AWS 文档。

Step 12

点击检查和启动 (Review and Launch)

Step 13

点击启动 (Launch)

Step 14

选择现有的密钥对或创建新的密钥对。

Note

 

您可以选择现有的密钥对或者创建新的密钥对。密钥对由 AWS 存储的一个公共密钥和用户存储的一个专用密钥文件组成。两者共同确保安全连接到实例。请务必将密钥对保存到已知位置,以备连接到实例之需。

Step 15

点击启动实例 (Launch Instances)

Step 16

点击查看启动,然后按照提示进行操作。

Step 17

点击 EC2 控制面板 > 网络接口

Step 18

查找之前在配置 AWS 环境中创建的流量接口,然后点击连接。这将成为 threat defense virtual 实例上的 eth2 接口。

Step 19

查找之前在配置 AWS 环境中创建的流量接口,然后点击连接。这将成为 threat defense virtual 实例上的 eth3 接口。

Note

 

您必须配置四个接口,否则 threat defense virtual 将不会完成启动过程。

Step 20

点击 EC2 控制面板 > 实例

Step 21

右键点击实例,然后选择实例设置 > 获取系统日志以查看状态。

Note

 

系统可能会显示连接问题的警告。这在预料之内,因为 eth0 接口在 EULA 完成之前不会激活。

Step 22

20 分钟后,将 threat defense virtual 注册到 管理中心


What to do next

接下来的步骤取决于您选择的管理模式。

有关如何选择管理选项的概述,请参阅如何管理 Cisco Secure Firewall Threat Defense Virtual 设备

为现有 Threat Defense Virtual 实例配置 IMDSv2 所需模式

您可以为 AWS 上已部署的 Threat Defense Virtual 实例配置 IMDSv2 必需模式。

Before you begin

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

Procedure


Step 1

登录 http://aws.amazon.com/ 并选择您所在的区域。

Step 2

点击 EC2 > 实例 (Instances)

Step 3

右键点击实例,然后选择实例设置 (Instance Settings) > 修改实例元数据选项 (Modify instance metadata options)。系统将显示修改实例元数据选项 (Modify instance metadata options) 对话框。

Step 4

实例元数据服务 (Instance metadata service) 部分下,点击启用 (Enable)

Step 5

IMDSv2 选项下,点击必需 (Required)

这将为所选实例启用“IMDSv2 必需”模式。

Step 6

点击保存 (Save)


使用映像快照的 Threat Defense Virtual

您可以在 AWS 门户中使用 Amazon Machine Image (AMI) 快照来创建并部署 threat defense virtual。映像快照是没有状态数据的已复制 threat defense virtual 映像实例。

Threat Defense Virtual 快照概述

创建 threat defense virtual 实例快照映像的过程跳过为 threat defense virtual 和 FSIC 执行的首次启动程序,有助于最大限度地缩短初始系统初始化时间。快照映像包含了预填充的数据库和 threat defense virtual 初始启动过程,该过程使映像能够重新生成与 管理中心 或任何其他管理中心中的系统身份相关的唯一 ID(UUID、序列号)。此过程有助于缩短 threat defense virtual 的启动时间,这在 Auto Scale 部署中至关重要。


Note


目前,使用 Threat Defense Virtual的快照映像部署的实例不支持即用即付 (PAYG) 许可。PAYG 许可仅适用于直接从市场部署的 实例。您可以将智能许可用于具有 PAYG 许可的新的 Threat Defense Virtual 部署。


创建 Threat Defense Virtual 快照 AMI

threat defense virtual 映像快照创建是复制现有 threat defense virtual 实例以在 AWS 门户中创建普通 threat defense virtual 实例的过程。

Before you begin

  • 您必须已部署 threat defense virtual 7.2 或更高版本。有关部署 threat defense virtual 的信息,请参阅在 AWS 上部署 threat defense virtual

  • 不得将正准备拍摄映像快照的 threat defense virtual 实例注册到任何管理器,例如 Management Center Virtual设备管理器

Procedure


Step 1

转至已部署 threat defense virtual 实例的 AWS 控制台。

Note

 
确保您计划复制为映像快照的 threat defense virtual 实例未注册到 管理中心 或配置到任何其他本地管理器,也未通过任何配置应用。

Step 2

使用以下脚本从专家 shell 运行预快照进程:


> expert
admin@FTDvbaseimg:~$ Sudo su
root@firepower:/ngfw/var/common# prepare_snapshot
Do you want to continue [Y/N]:
在脚本中使用 prepare_snapshot 命令时,系统会显示一条中间消息,提示您确认执行脚本。按 Y 运行脚本。

或者,您可以在此命令后添加 -f(例如 root@firepower:/ngfw/var/common#prepare_snapshot -f),以跳过用户确认消息并直接执行脚本。

此脚本会删除与 threat defense virtual 实例关联的所有行配置、已部署的策略、已配置的管理器和 UUID。处理完成后,threat defense virtual 实例将关闭。threat defense virtual 实例列在 AWS 门户的实例 (Instances) 页面中。

Step 3

登录 http://aws.amazon.com/ 并选择您所在的区域。

AWS 划分为彼此隔离的多个区域。区域显示在窗口的右上角。一个区域中的资源不会出现在另一个区域中。您应定期检查区域,以确保您在预期的区域内。


What to do next

使用快照 AMI 部署 threat defense virtual 实例。请参阅#task_w4j_zjy_nzb_deploy_ftdv_from_snapshot


Note


您可以从 threat defense virtual 控制台运行 CLI 命令 show versionshow snapshot detail,以了解您创建的 threat defense virtual 映像快照实例的版本和详细信息。

使用快照 AMI 部署 Threat Defense Virtual 实例

Before you begin

Cisco 建议以下操作:

  • 配置 AWS 环境中所述,配置 AW VPC 和 EC2 元素。

  • 确认可供 threat defense virtual 实例使用的 AMI。

Procedure


Step 1

前往 https://aws.amazon.com/marketplace(Amazon Marketplace) 并登录。

Step 2

点击 EC2 控制面板 (EC2 Dashboard) > 实例 (Instances)。您为创建映像快照而部署的 threat defense virtual 实例将显示在实例 (Instances) 页面中。

Note

 
要创建映像快照,您必须始终选择运行状态(实例状态 (Instance Status))为已停止 (Stopped)threat defense virtual 实例。

Step 3

实例 (Instances) 页面上,识别并选择其相应实例状态 (Instance Status) 指示为已停止 (Stopped)threat defense virtual 实例。

Step 4

操作 (Actions) 下拉菜单中指向映像和模板 (Image and templates) ,然后点击创建映像 (Create Image)

Step 5

创建映像 (Create Image) 页面中,提供映像快照的名称和说明。

Step 6

选中不重启 (No reboot) 部分下的启用 (Enable) 复选框。

Step 7

点击创建映像 (Create Image)。系统将创建 threat defense virtual 映像快照 AMI。

Step 8

点击映像 (Images) > AMI。您可以在此页面上查看新创建的映像快照 AMI。

Step 9

选择映像快照 AMI。

Step 10

点击启动 (Launch) 以使用映像快照 AMI 来部署新的 threat defense virtual 实例。

Step 11

继续部署 threat defense virtual 实例。请参阅部署 Threat Defense Virtual关于 AWS 上的 Threat Defense Virtual Auto Scale 解决方案


集成 Amazon GuardDuty 服务和 Threat Defense Virtual

Amazon GuardDuty 是一项监控服务,可处理来自各种来源的数据,如 VPC 日志、CloudTrail 管理事件日志、CloudTrail S3 数据事件日志、DNS 日志等,以识别 AWS 环境中潜在的未经授权的恶意活动。

概述

思科提供了一种解决方案,用于通过管理中心和设备管理器将 Amazon GuardDuty 服务与 Cisco Secure Firewall Threat Defense Virtual 集成。

此解决方案使用 Amazon GuardDuty 的威胁分析数据或结果(产生威胁和攻击等的恶意 IP),并通过管理器 Cisco Secure Firewall Management Center VirtualCisco Secure Firewall 设备管理器 将这些信息(恶意 IP)反馈给 Cisco Secure Firewall Threat Defense Virtual,以保护底层网络和应用程序免受未来来自这些来源(恶意 IP)的威胁。

端到端程序

以下带有工作流程图解的集成解决方案可帮助您了解 Amazon GuardDuty 与 Cisco Secure Firewall Threat Defense Virtual 的集成。

使用安全智能网络源与 Cisco Secure Firewall Management Center Virtual 集成

下面的工作流程图显示了 Amazon GuardDuty 与 Cisco Secure Firewall Management Center Virtual 使用安全智能网络源 URL 的集成解决方案。

GuardDuty 服务会在检测到恶意活动时向 CloudWatch 发送威胁检测结果。

CloudWatch 事件会激活 AWS Lambda 函数。

Lambda 函数会更新 S3 存储桶中报告文件中的恶意主机,并通过 SNS 发送通知。

Cisco Secure Firewall Management Center 访问控制策略指示其目标设备根据配置的操作处理流量,例如阻止来自 GuardDuty 报告的恶意主机的流量。

此访问策略使用安全智能网络源和 Lambda 函数提供的恶意 IP 地址报告文件的 S3 对象 URL。

使用网络对象组与 Cisco Secure Firewall Management Center Virtual 集成

下面的工作流程图显示了 Amazon GuardDuty 与 Cisco Secure Firewall Management Center Virtual 使用网络对象组的集成解决方案。

GuardDuty 服务会在检测到恶意活动时向 CloudWatch 发送威胁检测结果。

CloudWatch 事件会激活 AWS Lambda 函数。

Lambda 函数会更新 S3 存储桶中报告文件中的恶意主机,并通过 SNS 发送通知。

Lambda 函数使用 Cisco Secure Firewall Management Center Virtual 中的恶意主机 IP 地址来配置或更新网络对象组。

Cisco Secure Firewall Management Center 访问控制策略指示其目标设备根据配置的操作处理流量,例如阻止来自 GuardDuty 报告的恶意主机的流量。

此访问控制策略会将网络对象组与 Lambda 函数提供的恶意 IP 地址配合使用。

使用网络对象组与 Cisco Secure Firewall 设备管理器 集成

下面的工作流程图显示了 Amazon GuardDuty 与 Cisco Secure Firewall 设备管理器 使用网络对象组的集成解决方案。

GuardDuty 服务会在检测到恶意活动时向 CloudWatch 发送威胁检测结果。

CloudWatch 事件会激活 AWS Lambda 函数。

Lambda 函数会更新 S3 存储桶中报告文件中的恶意主机,并通过 SNS 发送通知。

Lambda 函数使用 Cisco Secure Firewall 设备管理器 中的恶意主机 IP 地址来配置或更新网络对象组。

Cisco Secure Firewall 设备管理器 访问控制策略指示托管设备根据配置的操作处理流量,例如阻止来自 GuardDuty 报告的恶意主机的流量。

此访问控制策略会将网络对象组与 Lambda 函数提供的恶意 IP 地址配合使用。

此集成的关键组件

组件

说明

Amazon GuardDuty

一项 Amazon 服务,负责为特定区域的各种 AWS 资源(如 EC2、S3、IAM 等)生成威胁结果。

Amazon Simple Storage Service (S3)

一项用于存储与解决方案关联的各种构件的 Amazon 服务:

  • Lambda 函数 zip 文件

  • Lambda 层 zip 文件

  • Cisco Secure Firewall 管理中心和设备管理器 配置输入文件 (.ini)

  • 包含 Lambda 函数报告的恶意 IP 地址列表的输出报告文件 (.txt)

Amazon CloudWatch

用于以下情况的 Amazon 服务:

  • 监控 GuardDuty 服务是否有任何报告的结果,并触发 Lambda 函数来处理结果。

  • 在 CloudWatch 日志组中记录与 Lambda 函数相关的活动。

Amazon Simple Notification Service (SNS)

用于推送电子邮件通知的 Amazon 服务。这些电子邮件通知包含:

  • Lambda 函数成功处理的 GuardDuty 结果的详细信息。

  • Lambda 函数对 Cisco Secure Firewall 管理器执行的更新详细信息。

  • Lambda 函数遇到的任何重大错误。

AWS Lambda 函数

一种 AWS 无服务器计算服务,可运行您的代码以响应事件,并自动管理底层计算资源。Lambda 函数由基于 GuardDuty 结果的 CloudWatch 事件规则触发。在此集成中,Lambda 函数负责:

  • 处理 GuardDuty 结果,以验证是否符合所有必要条件,如严重性、连接方向、是否存在恶意 IP 地址等。

  • (取决于配置)使用恶意 IP 地址更新 Cisco Secure Firewall 管理器上的网络对象组。

  • 更新 S3 存储桶报告文件中的恶意 IP 地址。

  • 通知 Cisco Secure Firewall 管理员各种管理器更新和任何错误。

CloudFormation 模板

用于在 AWS 中部署集成所需的各种资源。

CloudFormation 模板包含以下资源:

  • AWS::SNS::Topic:用于推送电子邮件通知的 SNS 主题。

  • AWS::Lambda::Function, AWS::Lambda::LayerVersion:Lambda 函数和层文件

  • AWS::Events::Rule:用于根据 GuardDuty 结果事件触发 Lambda 函数的 CloudWatch 事件规则。

  • AWS::Lambda::Permission:CloudWatch 事件规则触发 Lambda 函数的权限。

  • AWS::IAM::Role, AWS::IAM::Policy:IAM 角色和策略资源,用于允许对各种 AWS 资源的 Lambda 函数的各种访问权限。

此模板接受用户输入参数,以自定义部署。

支持的软件平台

  • GuardDuty 集成解决方案适用于由 Cisco Secure Firewall Management Center VirtualCisco Secure Firewall 设备管理器 托管的 Cisco Secure Firewall Threat Defense Virtual

  • Lambda 函数可以更新部署在任何虚拟平台上的管理中心和设备管理器中的网络对象组。确保 Lambda 函数可以通过公共 IP 地址连接到这些管理器。

准则和限制

  • Lambda 函数只负责通过恶意 IP 地址来更新 Cisco Secure Firewall 管理器上的网络对象组。因此,请确保将这些更新或更改部署到托管设备。

  • 此集成中使用的 AWS 服务针对特定区域。因此,如果要使用不同地区的 GuardDuty 发现,则必须部署特定地区的实例。

  • Lambda 函数通过 REST API 更新 Cisco Secure Firewall 管理器。因此,您不能使用任何其他方法或管理器,例如 思科安全云控制

  • 您只能使用密码登录。不支持其他身份验证方法。

  • 如果在输入文件中使用加密密码,请记住:

    • 只支持使用对称 KMS 密钥进行加密。

    • 所有密码都必须使用 Lambda 函数可访问的单一 KMS 密钥进行加密。

将 Amazon GuardDuty 与 Cisco Secure Firewall Threat Defense 集成

执行以下任务,将 Amazon GuardDuty 与 Cisco Secure Firewall Threat Defense 集成

工作空间

步骤

AWS 管理控制台

在 AWS 上启用 Amazon GuardDuty 服务

本地计算机

下载 Cisco Secure Firewall Threat Defense Virtual 和 Amazon GuardDuty 集成解决方案存储库

Cisco Secure Firewall Management CenterCisco Secure Firewall 设备管理器

配置托管设备以便与 Amazon GuardDuty 配合使用

本地计算机

准备用于部署的 Amazon GuardDuty 资源文件

AWS 管理控制台

将文件上传到 Amazon Simple Storage Service

本地计算机

收集 CloudFormation 模板的输入参数

AWS 管理控制台

部署堆栈

在 AWS 上启用 Amazon GuardDuty 服务

本节介绍如何在 AWS 上启用 Amazon GuardDuty 服务。

开始之前

确保所有 AWS 资源位于同一区域。

过程


步骤 1

前往 https://aws.amazon.com/marketplace(Amazon Marketplace) 并登录。

步骤 2

依次选择 服务 (Services) > GuardDuty

步骤 3

GuardDuty 页面中点击开始 (Get Started)

步骤 4

点击启用 GuardDuty (Enable GuardDuty) 以启用 Amazon GuardDuty 服务。

有关启用 GuardDuty 的更多信息,请参阅 AWS 文档中的 GuardDuty 入门


下一步做什么

从思科 GitHub 存储库下载 Amazon GuardDuty 解决方案文件(模板和脚本)。请参阅下载 Cisco Secure Firewall Threat Defense Virtual 和 Amazon GuardDuty 集成解决方案存储库

下载 Cisco Secure Firewall Threat Defense Virtual 和 Amazon GuardDuty 集成解决方案存储库

下载 Amazon GuardDuty 解决方案所需的文件。您的 Cisco Secure Firewall Threat Defense Virtual 版本的部署脚本和模板可从思科 GitHub 存储库获取,地址是:

https://github.com/CiscoDevNet/cisco-ftdv

以下是思科 GitHub 存储库中的资源列表:

文件

说明

READ.MD

自述文件

configuration/

Cisco Secure Firewall Threat Defense Virtual 管理器配置文件模板。

images/

它包含 Cisco Secure Firewall Threat Defense Virtual 和 Amazon GuardDuty 集成解决方案说明。

lambda/

Lambda 函数 Python 文件。

templates/

用于部署的 CloudFormation 模板。

配置托管设备以便与 Amazon GuardDuty 配合使用

Lambda 函数处理 Amazon GuardDuty 结果并识别触发 CloudWatch 事件的恶意 IP 地址。Cisco Secure Firewall Threat Defense Virtual 采用以下方法之一通过 Cisco Secure Firewall Management Center VirtualCisco Secure Firewall 设备管理器 接收此威胁数据:

  • 网络对象组更新 - Lambda 函数使用恶意 IP 地址来更新管理器中的网络对象组。然后,您就可以配置使用该网络对象组处理流量的访问控制策略。此方法适用于 Cisco Secure Firewall Management Center VirtualCisco Secure Firewall 设备管理器

  • 安全智能网络源 - Lambda 函数使用恶意 IP 地址在 Amazon S3 存储桶中创建或更新报告文件。您可以使用报告文件 URL 设置安全智能源,然后配置使用此源处理流量的访问控制策略。此方法仅适用于 Cisco Secure Firewall Management Center Virtual

使用报告文件 URL 配置安全智能网络源

本节介绍如何在 Cisco Secure Firewall Management Center Virtual 中配置安全智能网络源。

开始之前
  • 确保您已在 Cisco Secure Firewall Management Center Virtual 上启用威胁许可证。请参阅威胁许可证

  • 确保您已创建并记下 Amazon S3 存储桶中的可用报告文件 URL。

  • 确保可从 Cisco Secure Firewall Management Center Virtual 访问 Amazon S3 存储桶中的报告文件。

过程

步骤 1

登录 Cisco Secure Firewall Management Center Virtual

步骤 2

使用 Amazon S3 存储桶的报告文件 URL 创建安全智能网络源。有关手动创建安全智能网络源的信息,请参阅自定义安全智能源

步骤 3

使用安全智能网络源 URL 创建或更新访问控制策略或访问控制规则,以处理流量。请参阅手动 URL 过滤选项创建和编辑访问控制规则

 

您可以在部署之前或之后创建安全智能网络源并更新访问控制策略中的 URL。如果要在 Amazon S3 存储桶中创建输出报告文件,则可以在部署之前创建安全智能网络源。如果要在部署后创建安全智能网络源,请等到您收到来自 Amazon GuardDuty 的第一个结果的邮件通知,然后使用该邮件通知中提供的 URL 配置安全智能网络源。

步骤 4

Cisco Secure Firewall Management Center Virtual 上部署配置更改。请参阅部署配置更改


下一步做什么

准备用于部署的 Amazon GuardDuty 源文件。请参阅准备用于部署的 Amazon GuardDuty 资源文件

创建网络对象组

Cisco Secure Firewall Management Center VirtualCisco Secure Firewall 设备管理器中,您必须为 Lambda 函数配置或创建网络对象组,以更新 Amazon GuardDuty 检测到的恶意 IP 地址。

如果不使用 Lambda 函数来配置网络对象组,则 Lambda 函数会创建一个默认名称为 aws-gd-suspicious-hosts 的网络对象组,以更新恶意 IP 地址。

创建网络对象组 Cisco Secure Firewall Management Center Virtual

本节介绍如何在 Cisco Secure Firewall Management Center Virtual中创建网络对象组。

过程

步骤 1

登录 Cisco Secure Firewall Management Center Virtual

步骤 2

使用虚拟 IP 地址创建网络对象组。请参阅网络对象

步骤 3

创建或更新访问控制策略或访问控制规则,以便使用网络对象组处理流量。请参阅管理访问控制策略创建和编辑访问控制规则

提示

 
您还可以在验证 Lambda 函数正在使用恶意 IP 地址更新网络对象组后,创建或更新“访问控制策略”或“访问控制规则”。

步骤 4

将配置更改部署到托管设备。请参阅部署配置更改


下一步做什么

准备用于部署的 Amazon GuardDuty 源文件。请参阅准备用于部署的 Amazon GuardDuty 资源文件

Cisco Secure Firewall 设备管理器 中创建网络对象组

本节介绍如何在 Cisco Secure Firewall 设备管理器中创建网络对象组。

过程

步骤 1

登录 Cisco Secure Firewall 设备管理器

步骤 2

使用虚拟 IP 地址创建网络对象组。请参阅配置网络对象和组

步骤 3

创建或更新访问控制策略或访问控制规则,以便使用网络对象组处理流量。请参阅配置访问控制策略配置访问控制规则

提示

 
您还可以在验证 Lambda 函数正在使用恶意 IP 地址更新网络对象组后,创建或更新“访问控制策略”或“访问控制规则”。

步骤 4

将配置更改部署到托管设备。请参阅部署更改


下一步做什么

准备用于部署的 Amazon GuardDuty 源文件。请参阅准备用于部署的 Amazon GuardDuty 资源文件

Cisco Secure Firewall Management Center Virtual 中为 Lambda 函数访问创建用户帐户

Lambda 函数要求用户账户具有管理员权限,以便更新管理中心和设备管理器中的网络对象组。因此,您必须在管理中心和设备管理器中创建一个具有管理员权限的专属用户账户。只有在使用网络对象组更新方法时,才需要创建用户账户。

有关创建新用户账户的详细信息,请参阅:

(可选)加密密码

如果需要,可以在输入配置文件中提供加密密码。您还可以提供纯文本格式的密码。

使用 Lambda 函数可访问的单个 KMS 密钥加密所有密码。使用 aws kms encrypt --key-id <KMS-ARN> --plaintext <password> 命令以生成加密密码。您必须安装并配置 AWS CLI 才能运行此命令。



确保使用对称 KMS 密钥对密码进行加密。


有关 AWS CLI 的更多信息,请参阅 AWS 命令行界面。有关主密钥和加密的详细信息,请参阅 AWS 文档《创建密钥》和关于密码加密和 KMS 的 AWS CLI 命令参考

示例:


$ aws kms encrypt --key-id <KMS-ARN> --plaintext <password>
{
    "KeyId": "KMS-ARN", 
    "CiphertextBlob": 
"AQICAHgcQFAGtz/hvaxMtJvY/x/rfHnKI3clFPpSXUU7HQRnCAFwfXhXHJAHL8tcVmDqurALAAAAajBoBgkqhki
G9w0BBwagWzBZAgEAMFQGCSqGSIb3DQEHATAeBglghkgBZQMEAS4wEQQM45AIkTqjSekX2mniAgEQgCcOav6Hhol
+wxpWKtXY4y1Z1d0z1P4fx0jTdosfCbPnUExmNJ4zdx8="
}
$

CiphertextBlob 密钥的值应用作密码。

准备用于部署的 Amazon GuardDuty 资源文件

Amazon GuardDuty 解决方案部署资源文件可从 Cisco GitHub 存储库中获取。

在 AWS 上部署 Amazon GuardDuty 解决方案之前,您必须准备以下文件:

  • Cisco Secure Firewall Threat Defense Virtual 管理器配置输入文件

  • Lambda 函数 zip 文件

  • Lambda 层 zip 文件

准备配置输入文件

在配置模板中,您必须定义要与 Amazon GuardDuty 解决方案集成的管理中心或设备管理器的详细信息。建议您仅在计划实施网络对象组更新方法以将 Amazon GuardDuty 与管理中心和设备管理器集成时更新配置文件。

开始之前
  • 确保在配置文件中提供用户帐户详细信息之前,对设备管理器的用户用户进行身份验证和验证。

  • 如果要在配置文件中配置多个管理中心或设备管理器,请确保每个管理中心或设备管理器的参数在配置文件中只输入一次,且没有重复输入。

  • 您必须记下管理中心和设备管理器的 IP 地址和名称。

  • 您必须为 Lambda 函数创建一个具有管理员权限的用户账户,然后才能在管理中心和设备管理器中访问和更新这些网络对象组。

过程

步骤 1

登录已下载 Amazon GuardDuty 资源文件的本地计算机。

步骤 2

浏览至 ngfwv-template > configuration 文件夹。

步骤 3

在文本编辑器工具中打开 ngfwv-manager-config-input.ini 文件。

在此文件中,您必须输入计划集成和部署 Amazon GuardDuty 解决方案的管理中心或设备管理器的详细信息。

步骤 4

输入每个参数对应的管理中心或设备管理器的以下详细信息:

参数

说明

[ngfwv-1]

部分名称:管理中心或设备管理器的唯一标识符。

public-ip

管理中心或设备管理器的 IP 地址。

device-type

通过管理中心或设备管理器部署 Amazon GuardDuty 解决方案的托管设备类型。允许的值为 FMC 或 FDM。

用户名

用于登录管理中心或设备管理器的用户名。

password

用于登录管理中心或设备管理器的密码。密码可以是纯文本格式,也可以是使用 KMS 创建的加密字符串。

object-group-name

Lambda 函数使用恶意主机 IP 更新的网络对象组的名称。如果要输入多个网络对象组名称,请确保它们是以逗号分隔的值。

步骤 5

保存并关闭 ngfwv-manager-config-input.ini 文件。


下一步做什么

创建 Lambda 函数存档文件。请参阅准备 Lambda 函数存档文件

准备 Lambda 函数存档文件

本节介绍如何在 Linux 环境中存档 Lambda 函数文件。



存档过程可能因存档文件的本地计算机操作系统而异。


过程

步骤 1

在已下载 Amazon GuardDuty 资源的本地计算机上打开 CLI 控制台。

步骤 2

导航到 /lambda 文件夹并存档文件。

以下是 Linux 主机的示例脚本。

$ cd lambda 
$ zip ngfwv-gd-lambda.zip *.py 
adding: aws.py (deflated 71%) adding: fdm.py (deflated 79%) 
adding: fmcv.py (deflated 79%) 
adding: main.py (deflated 73%) 
adding: utils.py (deflated 65%) 
$ 
将创建压缩文件 ngfwv-gd-lambda.zip

步骤 3

退出并关闭 CLI 控制台。


下一步做什么

使用压缩文件 ngfwv-gd-lambda.zip 来创建 Lambda 层压缩文件。请参阅准备 Lambda 层文件

准备 Lambda 层文件

本节介绍如何在 Linux 环境中存档 Lambda 层文件。



存档过程可能因存档文件的本地计算机操作系统而异。


过程

步骤 1

在已下载 Amazon GuardDuty 资源的本地计算机上打开 CLI 控制台。

步骤 2

在 CLI 控制台中执行以下操作。

以下是安装了 Python 3.9 的 Linux 主机(如 Ubuntu 22.04)的示例脚本。

$ mkdir -p layer
$ virtualenv -p /usr/bin/python3.9 ./layer/
$ source ./layer/bin/activate
$ pip3.9 install cffi==1.15.0
$ pip3.9 install cryptography==37.0.2 
$ pip3.9 install paramiko==2.7.1
$ pip3.9 install requests==2.23.0
$ mkdir -p ./python/.libs_cffi_backend/
$ cp -r ./layer/lib/python3.9/site-packages/* ./python/
$ zip -r ngfwv-gd-lambda-layer.zip ./python 

压缩文件 ngfwv-gd-lambda-layer.zip 已创建。

请注意,创建 Lambda 层必须安装 Python 3.9 及其依赖项。

以下是在 Ubuntu 22.04 等 Linux 主机上安装 Python 3.9 的示例脚本。

$ sudo apt update
$ sudo apt install software-properties-common 
$ sudo add-apt-repository ppa:deadsnakes/ppa 
$ sudo apt install python3.9
$ sudo apt install python3-virtualenv
$ sudo apt install zip
$ sudo apt-get install python3.9-distutils
$ sudo apt-get install python3.9-dev
$ sudo apt-get install libffi-dev

步骤 3

退出并关闭 CLI 控制台。


下一步做什么

在 Amazon S3 存储桶中,您必须上传 Cisco Secure Firewall Threat Defense Virtual 配置文件、Lambda 函数 zip 文件和 Lambda 层 zip 文件。请参阅将文件上传到 Amazon Simple Storage Service

将文件上传到 Amazon Simple Storage Service

准备好所有 Amazon GuardDuty 解决方案工件后,必须将文件上传到 AWS 门户中的 Amazon Simple Storage Service (S3) 存储桶文件夹。

过程


步骤 1

前往 https://aws.amazon.com/marketplace(Amazon Marketplace) 并登录。

步骤 2

打开 Amazon S3 控制台。

步骤 3

创建用于上传 Amazon GuardDuty 构件的 Amazon S3 存储桶。请参阅创建 Amazon S3

步骤 4

将以下 Amazon GuardDuty 构件上传到 Amazon S3 存储桶。

  • Cisco Secure Firewall Threat Defense Virtual 配置文件:ngfwv-config-input.ini

     

    在管理中心中使用安全智能网络源方法部署 Amazon GuardDuty 解决方案时,不需要上传此文件。

  • Lambda 层 zip 文件:ngfwv-gd-lambda-layer.zip

  • Lambda 函数 zip 文件:ngfwv-gd-lambda.zip


下一步做什么

准备用于部署 Amazon GuardDuty 资源的 CloudFormation 模板。请参阅收集 CloudFormation 模板的输入参数

收集 CloudFormation 模板的输入参数

思科提供了 CloudFormation 模板,用于在 AWS 中部署 Amazon GuardDuty 解决方案所需的资源。在部署前收集以下模板参数值。

过程


Template Parameters

参数

说明

示例

部署名称*

在此参数中输入的名称将用作云组建模板创建的所有资源的前缀。

cisco-ngfwv-gd

GD 结果的最低严重性级别*

要考虑处理的 Amazon GuardDuty 结果的最低严重性级别必须在 1.08.9之间的范围。任何严重程度低于最小范围的结果都将被忽略。

严重性分类如下:

  • 低:1.0 至 3.9

    中:4.0 至 6.9

    高:7.0 至 8.9。

4.0

管理员电子邮件 ID*

管理员电子邮件地址,用于在 Cisco Secure Firewall Threat Defense Virtual 管理器 上接收有关管理中心或设备管理器中的 Lambda 函数完成的更新的通知。

abc@xyz.com

S3 存储桶名称*

包含 Amazon GuardDuty 构件文件(Lambda 函数 zip、Lambda 层 zip 和 Cisco Secure Firewall Threat Defense Virtual 配置管理器文件)的 Amazon S3 存储桶的名称。

例如:ngfwv-gd-bucket

S3 存储桶文件夹/路径前缀

存储配置文件的 Amazon S3 存储桶路径或文件夹名称。如果没有文件夹,请将此字段留空。

例如:"" 或“cisco/ngfwv-gd/

Lambda 层 zip 文件名*

Lambda 层 zip 文件名。

例如:ngfwv-gd-lambda-layer.zip

Lambda 函数 zip 文件名*

Lambda 函数 zip 文件名。

例如:ngfwv-gd-lambda.zip

Cisco Secure Firewall 管理中心和设备管理器 管理器配置文件名

包含 Cisco Firewall Threat Defense Virtual 的管理器配置详细信息的 *.ini 文件。(公共 IP、用户名、密码、设备类型、网络对象组名称等。)

 

仅当使用网络对象组更新方法进行 Amazon GuardDuty 集成时才需要此文件。

如果使用的是安全智能源方法,则可以跳过提供此输入的步骤。

例如:ngfwv-config-input.ini
用于密码加密的 KMS 密钥的 ARN

现有 KMS 的 ARN(用于密码加密的 AWS KMS 密钥)。如果 Cisco Secure Firewall Threat Defense Virtual 配置输入文件中提供了纯文本密码,则可以将此参数留空。如果指定,则必须加密 Cisco Secure Firewall Threat Defense Virtual 配置输入文件中提到的所有密码。密码必须仅使用指定的 ARN 进行加密。生成加密密码:aws kms encrypt --key-id <KMS ARN> --plaintext <password>

例如:arn:aws:kms:<region>:<aws-account-id>:key/<key-id>
启用/禁用调试日志*

启用或禁用 CloudWatch 中的 Lambda 函数调试日志。

例如:enabledisable

*:必填字段


下一步做什么

使用 CloudFormation 模板部署堆栈。请参阅部署堆栈

部署堆栈

完成 Amazon GuardDuty 解决方案部署的所有前提流程后,创建 AWS CloudFormation 堆栈。使用目标目录中的模板文件:templates/cisco-ngfwv-gd-integration.yamltemplates,并提供在收集 CloudFormation 模板的输入参数中收集的参数。

过程


步骤 1

登录 AWS 控制台。

步骤 2

转至“服务”(Services) > CloudFormation >“堆栈”(Stacks) >“创建堆栈”(Create stack)(使用新资源)>“准备模板”(Prepare template)(模板在文件夹中提供)>“指定模板”(Specify template) >“模板来源”(Template source)(从目标目录更新模板文件:templates/cisco-ngfwv-gd-integration.yaml)>“创建堆栈”(Create Stack)

有关在 AWS 上部署堆栈的详细信息,请参阅 AWS 文档


下一步做什么

验证部署。请参阅验证部署

此外,还可以订阅 Amazon GuardDuty 报告的威胁检测更新电子邮件通知。请参阅订阅电子邮件通知

订阅电子邮件通知

在 CloudFormation 模板中,一个电子邮件 ID 被配置为接收关于由 Lambda 函数完成的 GuardDuty 查找更新的通知。在 AWS 上部署 CloudFormation 模板后,系统会通过 Amazon Simple Notification Service (SNS) 服务向此邮件 ID 发送邮件通知,要求您订阅通知更新。

过程


步骤 1

打开邮件通知。

步骤 2

点击邮件通知中提供的订用 (Subscription) 链接。


下一步做什么

验证部署。请参阅验证部署

验证部署

在 AWS 中,您可以选择验证 Amazon GuardDuty 解决方案,如本节所述。在 CloudFormation 部署完成后,您可以按照这些部署验证说明进行操作。

开始之前

确保已安装和配置 AWS 命令行界面 (CLI),以运行命令验证部署。有关 AWS CLI 文档的信息,请参阅 AWS 命令行界面

过程


步骤 1

登录 AWS 管理控制台。

步骤 2

转到服务 (Services) > GuardDuty > 设置 (Settings) > 关于 GuardDuty (About GuardDuty) > 检测器 ID (Detector ID),然后记下检测器 ID。

生成 Amazon GuardDuty 检测结果样本时需要使用此检测器 ID。

步骤 3

打开 AWS CLI 控制台,通过运行以下命令生成示例 Amazon GuardDuty 结果:

aws guardduty create-sample-findings --detector-id <detector-id> --finding-types UnauthorizedAccess:EC2/MaliciousIPCaller.Custom

aws guardduty create-sample-findings --detector-id <detector-id> --finding-types UnauthorizedAccess:EC2/MaliciousIPCaller.Custom

步骤 4

在 Amazon GuardDuty 控制台的结果列表中查看样本结果。

示例结果包含前缀 [sample]。您可以通过查看连接方向、远程 IP 地址等属性来检查示例结果详细信息。

步骤 5

等待 Lambda 函数运行。

触发 Lambda 函数后,验证以下内容:

  • 电子邮件通知,其中包含有关收到的 Amazon GuardDuty 结果和 Lambda 函数完成的 Cisco Secure Firewall Threat Defense Virtual 管理器 更新的详细信息

  • 验证在 Amazon S3 存储桶中是否生成了报告文件。它包含样本 Amazon GuardDuty 结果报告的恶意 IP 地址。您可以采用以下格式识别报告文件名:<deployment-name>-report.txt.

  • 对于网络对象组更新方法 - 验证是否已使用从示例结果更新的恶意 IP 地址更新已配置的管理器(Cisco Secure Firewall Management Center VirtualCisco Secure Firewall 设备管理器)上的网络对象组。

  • 对于安全智能源方法 - 验证报告文件 URL 是否已在管理中心配置中更新。您可以在管理中心的以下路径中查看报告文件 URL 的最后更新时间戳。

    • 对象 (Objects) > 对象管理 (Object Management) > 安全智能 (Security Intelligence) > 网络列表和源 (Network Lists and Feeds) > 选择配置的源

    • 或者,您可以手动更新源,然后检查上次更新时间戳。您可以选择和更新以下路径中的源:

      对象 (Objects) > 对象管理 (Object Management) > 安全智能 (Security Intelligence) > 网路列表和源 (Network Lists and Feeds) > 更新源 (Update Feeds)

步骤 6

转到 AWS 控制台 (AWS Console) > 服务 (Services) > CloudWatch > 日志 (Logs) > 日志组 (Log groups)选择日志组以验证 CloudWatch 控制台中的 Lambda 日志。您可以采用以下格式标识 CloudWatch 日志组名称:<deployment-name>-lambda

步骤 7

在验证部署后,建议您按以下步骤清理示例结果生成的数据:

  1. 转到 AWS 控制台(AWS Console) > 服务 (Services) > GuardDuty > 结果 (Findings) > 选择结果 > 操作 (Actions) > 存档 (Archive),以查看示例结果数据。

  2. 删除网络对象组中添加的恶意 IP 地址,以从 Cisco Secure Firewall Management Center Virtual清除缓存数据。

  3. 清理 Amazon S3 存储桶中的报告文件。您可以通过删除示例结果所报告的恶意 IP 地址来更新文件。


更新现有解决方案部署配置

建议您不要在部署后更新 S3 存储桶或 S3 存储桶文件夹和路径前缀值。但如果需要更新已部署解决方案的配置,请使用 AWS 控制台中 CloudFormation 页面上的更新堆栈 (Update Stack) 选项。

您可以更新下面给出的任何参数。

参数

说明

Cisco Secure Firewall Threat Defense Virtual 管理器配置文件名

在 Amazon S3 存储桶中添加或更新配置文件。您可以使用与之前文件相同的名称来更新文件。如果修改了配置文件名称,则可以使用 AWS 控制台中的更新堆栈 (Update stack) 选项来更新此参数。

GD 结果的最低严重性级别*

使用 AWS 控制台中的更新堆栈 (Update stack) 选项来更新参数值。

管理员电子邮件 ID*

使用 AWS 控制台中的更新堆栈 (Update Stack) 选项更新邮件 ID 参数值。您还可以通过 SNS 服务控制台添加或更新电子邮件订用。

S3 存储桶名称*

使用新名称更新 Amazon S3 存储桶中的 zip 文件,然后使用 AWS 控制台中的更新堆栈 (Update Stack) 选项来更新参数。

Lambda 层 zip 文件名*

使用新名称更新 Amazon S3 存储桶中的 Lambda 层 zip 文件名,然后使用 AWS 控制台中的更新堆栈 (Update stack) 选项来更新此参数值。

Lambda 函数 zip 文件名*

使用新名称更新 Amazon S3 存储桶中的 Lambda 函数 zip 文件,然后使用 AWS 控制台中的更新堆栈 (Update stack) 选项来更新此参数值。
用于密码加密的 KMS 密钥的 ARN

使用 AWS 控制台中的更新堆栈 (Update stack) 选项来更新参数值。

启用/禁用调试日志*

使用 AWS 控制台中的更新堆栈 (Update stack) 选项来更新参数值。

过程


步骤 1

转到 AWS 管理控制台。

步骤 2

如果需要,请创建新的存储桶和文件夹。

步骤 3

确保将下面给出的构件从旧存储桶复制到新的存储桶。

  • Cisco Secure Firewall Threat Defense Virtual 配置文件:ngfwv-config-input.ini

  • Lambda 层 zip 文件:ngfwv-gd-lambda-layer.zip

  • Lambda 函数 zip 文件:ngfwv-gd-lambda.zip

  • 输出报告文件:<deployment-name>-report.txt

步骤 4

要更新参数值,请转至 Services > CloudFormation > Stacks > > Update (Update Stack) > Prepare template > Use current template > Next > <update parameters> > Update Stack