简介
本文是一系列文章的一部分,这些文章说明如何系统地排除Firepower系统上的数据路径故障,以确定Firepower的组件是否可能影响流量。有关Firepower平台架构的信息以及指向其他数据路径故障排除文章的链接,请参阅概述文章。
在本文中,我们将了解Firepower数据路径故障排除的第一阶段,即数据包入口阶段。
平台指南
下表介绍本文所涵盖的平台。
平台代码名称 |
描述 |
适用 Hardware 平台 |
备注 |
SFR |
已安装带FirePOWER服务(SFR)模块的ASA。 |
ASA-5500-X系列 |
不适用 |
FTD(非SSP和FPR-2100) |
安装在自适应安全设备(ASA)或虚拟平台上的Firepower威胁防御(FTD)映像 |
ASA-5500-X系列,虚拟NGFW平台 |
不适用 |
FTD(SSP) |
FTD作为逻辑设备安装在基于Firepower可扩展操作系统(FXOS)的机箱上 |
FPR-9300、FPR-4100、FPR-2100 |
2100系列不使用FXOS机箱管理器 |
数据包入口阶段故障排除
第一个数据路径故障排除步骤是确保数据包处理的入口或出口阶段不发生丢弃。如果数据包正在进入但未退出,则可以确定数据包正被设备丢弃在数据路径中的某个位置,或者设备无法创建出口数据包(例如,缺少ARP条目)。
确定相关流量
排除数据包入口阶段故障的第一步是隔离流量和问题流量所涉及的接口。包括:
流信息 |
接口信息 |
协议 源 IP 地址 源端口 目的 IP 目标端口 |
Ingress 接口 Egress 接口 |
例如:
TCP inside 172.16.100.101:38974 outside 192.168.1.10:80
提示:由于每个流中的源端口通常不同,因此您可能无法确定确切的源端口,但目标(服务器)端口应该足够。
检查连接事件
在了解了入口和出口接口的流量应匹配以及流信息后,确定Firepower是否阻止流的第一步是检查相关流量的连接事件。在Firepower管理中心的“分析”>“连接”>“事件”下可以查看这些信息
注意:在检查连接事件之前,请确保在访问控制策略规则中启用日志记录。日志记录在每个Access Control Policy规则的“Logging”(记录)选项卡中以及Security Intelligence(安全情报)选项卡中配置。确保将可疑规则配置为将日志发送到“事件查看器”。
在上例中,点击“编辑搜索”,并添加唯一源(发起方)IP作为过滤器,以查看Firepower检测到的流。“操作”列显示此主机流量的“允许”。
如果Firepower有意阻止流量,则操作包含“阻止”一词。 单击“连接事件的表视图”可提供更多数据。如果操作为“Block”,则可以记录连接事件中的以下字段:
— 原因
— 访问控制规则
这与相关事件中的其他字段相结合,有助于缩小阻止流量的组件范围。
有关排除访问控制规则故障的详细信息,请单击此处。
在入口和出口接口上捕获数据包
如果没有事件,或尽管连接事件显示规则操作“允许”或“信任”,但仍怀疑Firepower被阻止,则数据路径故障排除将继续。
以下是有关如何在上述各种平台上运行入口和出口数据包捕获的说明:
SFR — 在ASA接口上捕获
由于SFR模块只是运行在ASA防火墙上的模块,因此最好先捕获ASA的入口和出口接口,以确保入口也正在流出的相同数据包。
本文包含有关如何在ASA上执行捕获的说明。
如果确定正在输入ASA的数据包未退出,请继续进入故障排除的下一阶段(DAQ阶段)。
注意:如果在ASA入口接口上看到数据包,则可能需要检查连接的设备。
FTD(非SSP和FPR-2100) — 在入口和出口接口上捕获
在非SSP FTD设备上捕获与在ASA上捕获类似。但是,您可以直接从CLI初始提示符运行capture命令。排除丢包故障时,建议在捕获中添加“trace”选项。
以下是在端口22上为TCP流量配置入口捕获的示例:
如果添加“trace”选项,则可以选择单个数据包以在系统中跟踪,以查看它如何得出最终判定。它还有助于确保对数据包(如网络地址转换(NAT)IP修改)进行适当修改,并且已选择适当的出口接口。
在上面的示例中,我们看到流量进入Snort检测,并且最终达到允许判定,并且总体通过设备。由于流量可以双向查看,因此您可以确保流量流经此会话的设备,因此可能不需要出口捕获,但您也可以在此捕获出口捕获,以确保流量正确流出,如跟踪输出所示。
注意:如果设备无法创建出口数据包,则跟踪操作仍为“允许”,但在出口接口捕获上未创建或看到该数据包。这是FTD没有下一跳或目的IP的ARP条目(如果最后一个条目直接连接)的非常常见的场景。
FTD(SSP) — 在逻辑FTD接口上捕获
在SSP平台上可以执行上述在FTD上生成数据包捕获的相同步骤。您可以使用SSH连接到FTD逻辑接口的IP地址,并输入以下命令:
Firepower-module1> connect ftd
>
您还可以使用以下命令从FXOS命令提示符导航到FTD逻辑设备外壳:
# connect module 1 console
Firepower-module1> connect ftd
>
如果使用Firepower 9300,则模块编号可能因使用的安全模块而异。这些模块最多可支持3个逻辑设备。
如果使用多实例,则“connect”命令中必须包含实例ID。Telnet命令可用于同时连接到不同的实例。
# connect module 1 telnet
Firepower-module1>connect ftd ftd1
Connecting to container ftd(ftd1) console... enter "exit" to return to Boot CLI
>
检查接口错误
在此阶段,还可以检查接口级别问题。如果入口接口捕获中丢失了数据包,则这特别有用。如果发现接口错误,检查连接的设备会很有帮助。
SFR — 检查ASA接口
由于FirePOWER(SFR)模块基本上是运行在ASA上的虚拟机,因此会检查实际ASA接口是否存在错误。有关检查ASA上接口统计信息的详细信息,请参阅本ASA系列命令参考指南部分。
FTD(非SSP和FPR-2100) — 检查接口错误
在非SSP FTD设备上,> show interface命令可以从初始命令提示符运行。相关输出以红色突出显示。
FTD(SSP) — 导航数据路径以查找接口错误
9300和4100 SSP平台具有内部交换矩阵互联,该互联首先处理数据包。
值得检查初始数据包入口是否存在任何接口问题。这些命令要在FXOS系统CLI上运行,以便获取此信息。
ssp# scope eth-uplink
ssp /et-uplink # show stats
这是输出示例。
在交换矩阵互联在入口时处理数据包后,会将其发送到接口,这些接口分配给托管FTD设备的逻辑设备。
以下是供参考的图:
要检查接口级别问题,请输入以下命令:
ssp# connect fxos
ssp(fxos)# show interface Ethernet 1/7
以下是输出示例(以红色突出显示的可能问题):
如果发现任何错误,也可以检查实际的FTD软件是否存在接口错误。
要进入FTD提示符,首先需要导航到FTD CLI提示符。
# connect module 1 console
Firepower-module1> connect ftd
> show interface
对于多实例:
# connect module 1 telnet
Firepower-module1>connect ftd ftd1
Connecting to container ftd(ftd1) console... enter "exit" to return to Boot CLI
>
这是输出示例。
向思科技术支持中心(TAC)提供的数据
下一步:排除Firepower DAQ层故障
如果不清楚Firepower设备是否正在丢弃数据包,则可以绕过Firepower设备本身,一次性排除所有Firepower组件。如果相关流量正在吞入Firepower设备,但未退出,这对缓解问题特别有帮助。
要继续,请复习Firepower数据路径故障排除的下一阶段;Firepower数据获取。单击此处继续。