概述:应用检测
当 Firepower 系统分析 IP 流量时,它会尝试识别网络上的常用应用。应用感知对于应用控制至关重要。
系统检测的应用有三种类型:
-
应用协议(例如 HTTP 和 SSH),代表主机之间的通信
-
客户端(例如网络浏览器和邮件客户端),代表主机上运行的软件
-
Web 应用(例如 MPEG 视频和 Facebook),代表 HTTP 流量的内容或请求的 URL
系统根据在检测器中指定的特征识别网络流量中的应用。例如,系统可以通过数据包报头中的 ASCII 模式识别应用。此外,安全套接字层 (SSL) 协议检测程序使用安全会话的信息来识别会话中的应用。
在 Firepower 系统中有两个应用检测器来源:
-
系统提供的检测器检测 Web 应用、客户端和应用协议。
系统提供的应用检测器(和操作系统)的可用性取决于 Firepower 系统的版本和已安装的 VDB 版本。版本说明和公告包含关于新的和更新的检测器的信息。也可以导入专业服务开发的各个检测器。
-
自定义应用协议检测器由用户创建并检测 Web 应用、客户端和应用协议。
您还可以通过隐含应用协议检测来检测应用协议,此检测根据对客户端的检测暗示应用协议的存在。
如在网络发现策略中所定义,系统仅识别受监控网络中的主机上运行的应用协议。例如,如果内部主机访问未受监控的远程站点的 FTP 服务器,系统不会将应用协议识别为 FTP。另一方面,如果远程或内部主机访问正受监控主机上的 FTP 服务器,系统能够正确识别应用协议。
如果系统可以识别受监控主机用于连接到未受监控服务器的客户端,则系统会识别客户端的对应应用协议,但是不将该协议添加到网络映射中。请注意,客户端会话必须包括来自要发生应用检测的服务器的响应。
系统会确定其检测到的每个应用的特征;请参阅应用特征。系统使用这些特征创建应用组,称为应用过滤器。应用过滤器用于执行访问控制以及限制报告和控制面板构件中使用的搜索结果和数据。
您还可以使用导出的 NetFlow 记录、Nmap 主动扫描和主机输入功能补充应用检测器数据。
应用检测器基础知识
Firepower 系统使用应用检测器来识别网络上的常用应用。使用“检测器”页面()查看检测器列表和自定义检测功能。
是否能修改检测器或更改其状态(活动或非活动)取决于其类型。系统仅使用活动检测器来分析应用流量。
注 |
思科提供的检测器可能会随 Firepower 系统和 VDB 更新而更改。有关已更新的检测器的信息,请参阅版本说明和咨询。 |
注 |
对于 Firepower 应用标识,不会特意列出端口。不会为任何思科应用报告应用的关联端口,因为大多数应用都与端口无关。我们平台的检测功能可以识别在网络中的任何端口运行的服务。 |
思科提供的内部检测器
内部检测器是一种特殊类别的检测器,适用于客户端、Web 应用和应用协议流量。内部检测器随系统更新一起提供,并且永远在线。
如果应用与旨在检测客户端相关活动的内部检测器匹配且不存在特定客户端检测器,则可以报告通用客户端。
思科提供的客户端检测器
客户端检测器用于检测客户端流量,并且通过 VDB 或系统更新提供,或由思科专业服务提供用于导入。可以激活和停用客户端检测器。仅当导入客户端检测器后,才可以将其导出。
思科提供的 Web 应用检测器
Web 应用检测器用于检测 HTTP 流量负载中的 Web 应用,并且通过 VDB 或系统更新提供。Web 应用检测器永远在线。
思科提供的应用协议(端口)检测器
基于端口的应用协议检测器使用已知端口识别网络流量。此类检测器通过 VDB 或系统更新提供,或由思科专业服务提供用于导入。可以激活和停用应用协议检测器,还可查看检测器定义,以便将其用作自定义检测器的基础。
思科提供的应用协议 (Firepower) 检测器
基于 Firepower 的应用协议检测器用于使用 Firepower 应用指纹分析网络流量,并且通过 VDB 或系统更新提供。可以激活和停用应用协议检测器。
自定义应用检测器
自定义应用检测器基于模式。它们将检测来自客户端的数据包、Web 应用或应用协议流量中的模式。对于已导入检测器和自定义检测器,您将拥有完全控制权。
在 Web 界面中识别应用协议
下表概述了系统如何识别检测到的应用协议:
标识 |
说明 |
---|---|
应用协议名称 |
如果应用协议属于以下情况,管理中心将会使用应用协议名称来识别应用协议:
|
|
如果系统既不能正确识别也不能错误识别应用,管理中心会将应用协议识别为 大多数情况下,系统需要收集和分析更多的连接数据才能识别待处理应用。 在应用详细信息表、服务器表和主机配置文件中,只会对在其中检测到(而不是由检测到的客户端或 Web 应用流量推断)特定应用协议流量的应用协议显示 |
|
在以下情况下,管理中心会将应用协议识别为
|
空白 |
已检查检测到的所有可用数据,但没有识别出应用协议。在应用详细信息表、服务器表中和主机配置文件中,对于在其中没有检测到应用协议的非 HTTP 通用客户端数据流量,应用协议留空。 |
通过客户端检测进行隐含应用协议检测
如果系统可以识别受监控主机用于访问未受监控主机的客户端,管理中心会推断该连接使用与该客户端对应的应用协议。(由于系统仅跟踪监控网络上的应用,因此,连接日志通常不包含有关监控主机用于访问未受监控的服务器的连接的应用协议信息。)
此过程,或隐含应用协议检测,具有以下结果:
-
由于系统不会为这些服务器生成新的 TCP 端口或新的 UDP 端口事件,因此,服务器不会显示在服务器表中。此外,不能将对这些应用协议的检测作为条件来触发事件警报或关联规则。
-
由于应用协议未与主机关联,因此,不能查看主机配置文件中的详细信息,不能设置其服务器身份,也不能使用流量量变曲线或关联规则的主机配置文件限定条件中的信息。此外,系统不会根据此类检测将漏洞与主机关联。
但是,您可以触发有关连接中是否存在应用协议信息的关联事件。还可以使用连接日志中的应用协议信息创建连接跟踪程序和流量量变曲线。
主机限制和发现事件日志记录
如果系统检测到客户端、服务器或网络应用,它会生成发现事件,除非关联的主机已达到客户端、服务器或网络应用的最大数量。
主机配置文件最多为每个主机显示 16 个客户端、100 个服务器和 100 个网络应用。
请注意,依赖于客户端、服务器或网络应用检测的操作不受此限制的影响。例如,经配置要在服务器上触发的访问控制规则仍会记录连接事件。
应用检测的特殊注意事项
SFTP
为了检测 SFTP 流量,同一规则还必须检测 SSH。
Squid
在以下情况下,系统会积极识别 Squid 服务器流量:
-
系统检测从受监控网络上的主机到启用了代理身份验证的 Squid 服务器的连接;或
-
系统检测从受监控网络上的 Squid 代理服务器到目标系统(即,客户端正在其中请求信息或其他资源的目标服务器)的连接。
但是,在以下情况下,系统无法识别 Squid 服务流量:
-
受监控网络上的主机连接到已禁用代理身份验证的 Squid 服务器;或
-
Squid 代理服务器被配置为从其 HTTP 响应中移除“通过:”报头字段
SSL 应用检测
系统提供可以使用安全套接字层 (SSL) 会话中的会话信息识别会话中的应用协议、客户端应用或 Web 应用的应用检测器。
如果系统检测到加密连接,它会将该连接标记为通用 HTTPS 连接或更为具体的安全协议,例如 SMTPS(如果适用)。如果系统检测到 SSL 会话,它会将 SSL client
添加到该会话的连接事件中的客户端 (Client) 字段。如果识别到会话的 Web 应用,系统会为该流量生成发现事件。
对于 SSL 应用流量,受管设备还可以检测服务器证书中的公用名并将其与 SSL 主机模式的客户端或 Web 应用比对。当系统识别到特定客户端时,会将 SSL client
替换为该客户端的名称。
由于 SSL 应用流量已加密,因此系统只能使用证书中的信息(而不是加密数据流中的应用数据)进行标识。为此,SSL 主机模式有时只能识别作为应用编写者的公司,因此同一公司开发的 SSL 应用可能有相同的标识。
在某些情况下,例如 HTTPS 会话是从 HTTP 会话内部发起时,受管设备会从客户端数据包中的客户端证书检测服务器名称。
要启用 SSL 应用标识,必须创建监控响应方流量的访问控制规则。这些规则必须包含适用于 SSL 应用的应用条件或者使用来自 SSL 证书的 URL 的 URL 条件。对于网络发现,响应方 IP 地址不必位于要在网络发现策略中监控的网络上;访问控制策略配置决定是否识别流量。要识别
SSL 应用的检测,您可以在应用检测器列表中或在访问控制规则中添加应用条件时按 SSL protocol
标记进行过滤。
推荐的 Web 应用
Web 服务器有时会将流量推荐到其他网站,这些网站通常是广告服务器。为帮助您更好地理解网络上出现的推荐流量的情景,系统在推荐会话的事件的 Web 应用 (Web Application) 字段中列出推荐流量的 Web 应用。VDB 包含已知被推荐站点的列表。如果系统检测到来自这些站点之一的流量,会将推荐站点连同该流量的事件一起存储。例如,如果通过 Facebook 访问的广告实际在 Advertising.com 上托管,则检测到的 Advertising.com 流量与 Facebook Web 应用关联。系统还可以检测到 HTTP 流量中的推荐 URL,例如当网站提供与另一站点的简单链接时;在这种情况下,推荐 URL 出现在 HTTP Referrer 事件字段。
在事件中,如果存在推荐应用,它将被列为流量的 Web 应用,而 URL 则是被推荐站点的 URL。在上述示例中,用于流量的连接事件的 Web 应用是 Facebook,但 URL 是 Advertising.com。在下列情况下,被推荐的应用可能显示为 Web 应用:未检测到推荐 Web 应用,主机推荐其本身,或者存在推荐链。在控制面板中,Web 应用的连接和字节数包括 Web 应用与该应用推荐的流量关联的会话数。
请注意,如果创建专门针对被推荐流量的规则,应该为被推荐应用(而不是推荐应用)添加条件。例如,要阻止从 Facebook 推荐的 Advertising.com 流量,可以向 Advertising.com 应用的访问控制规则添加应用条件。
Snort 2 和 Snort 3 中的应用检测
在 Snort 2 中,您可以通过访问控制策略中的限制和网络发现策略中的网络过滤器来启用或禁用应用检测。但是,访问控制策略中的限制可以覆盖网络过滤器,同时启用应用检测。例如,如果您在网络发现策略中定义了网络过滤器,并且当访问控制策略具有需要应用检测的限制(例如 SSL、URL SI、DNS SI 等)时,则这些网络发现过滤器会被覆盖,并且所有网络会进行应用检测。Snort 3 不支持此 Snort 2 功能。
注 |
Snort 3 现在与 Snort 2 相同,如果 AC 策略中没有其他配置需要 AppID 来监控所有流量,则只会在网络发现策略过滤器中定义的特定网络子网上启用 AppID 检查。 |
在 Snort 3 中,默认情况下始终为所有网络启用应用检测。要禁用应用检测,请执行以下操作:
过程
步骤 1 |
选择 ,点击编辑策略并删除应用规则。 |
步骤 2 |
选择 ,点击删除以删除 SSL 策略。 |
步骤 3 |
选择 ,点击删除以删除网络发现策略。 |
步骤 4 |
选择 ,点击编辑策略,然后选择 选项卡以删除 URL 允许或阻止列表。 |
步骤 5 |
由于您无法删除默认 DNS 规则,请选择 ,点击编辑并取消选中启用框以禁用 DNS 策略。 |
步骤 6 |
在访问控制策略的高级 (Advanced) 设置下,禁用启用威胁情报导向器 (Enable Threat Intelligence Director) 和对 DNS 流量启用信誉实施 (Enable reputation enforcement on DNS traffic) 选项。 |
步骤 7 |
保存并部署访问控制策略。 |