目录

简介

先决条件

要求

使用的组件

功能概述

分析

规则分析器

运行规则分析

Snort 3分析菜单

启动规则分析

规则分析器结果

下载结果

CPU 分析

Snort 3 CPU分析器概述

CPU分析选项卡

CPU分析器结果说明

CPU分析器结果 — 下载快照

CPU分析结果过滤

简介

本文档介绍在FMC 7.6上添加的Snort 3规则和CPU分析功能。

先决条件

要求

Cisco 建议您了解以下主题：

· Snort知识3

·安全Firepower管理中心(FMC)

·安全Firepower威胁防御(FTD)

使用的组件

本文档中的信息基于以下软件和硬件版本：

- 本文档适用于所有Firepower平台

- 运行软件版本7.6.0的安全防火墙威胁防御虚拟(FTD)

- 运行软件版本7.6.0的安全防火墙管理中心虚拟(FMC)

本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始（默认）配置。如果您的网络处于活动状态，请确保您了解所有命令的潜在影响。

功能概述

- Snort中已存在规则和CPU分析，但只能通过FTD CLI访问。此功能的目的是扩展分析功能并使之更加简单。

- 启用debug intrusion rule performance issues并自行调整规则配置，然后联系TAC获取故障排除帮助。

- 了解当Snort 3消耗高CPU时，哪些模块的性能不理想。

- 创建用户友好的方式来调试和微调入侵和网络分析策略，以获得更好的性能。

分析

- Rule Profiling和CPU Profiling都在FTD上运行，其结果存储在设备上并由FMC调用。

- 您可以在不同的设备上同时运行多个分析会话。

- 您可以同时运行规则分析和CPU分析。

- 在高可用性情况下，只能在会话开始时处于活动状态的设备上启动分析。

对于集群设置，可以在集群中的每个节点上运行分析。

- 如果在分析会话正在进行时触发部署，则会向用户显示警告。

如果用户选择忽略警告并进行部署，则会取消当前分析会话，分析器结果会显示有关此问题的消息。

新的分析会话需要在不被部署中断的情况下启动，才能获得实际的分析结果。

规则分析器

- Snort 3规则分析器收集有关处理一组Snort 3入侵规则所花费时间的数据，从而突出显示潜在问题，显示性能不令人满意的规则。

- Rule Profiler显示100条检查时间最长的IPS规则。

- 触发规则分析器不需要重新加载或重新启动Snort 3。

- 规则分析结果以JSON格式保存在/ngfw/var/sf/sync/snort_profiling/目录中，并在FMC上同步。

- 规则分析器位于Snort 3中，并使用Snort 3入侵检测机制检查流量；启用规则分析不会显着影响性能。

运行规则分析

- 流量必须流经设备

- 通过选择设备，然后点击Start按钮启动规则分析

- 启动性能分析会话将创建一个任务，该任务可在“任务”下的“通知”中进行监控

- 规则分析会话的默认持续时间为120分钟

- 通过按Stop按钮，规则分析会话可以在完成之前提前停止

- 结果可在GUI中查看并下载

- Profiling History显示先前的分析会话结果。用户可以通过单击Profiling History左侧面板中的卡来检查特定的分析结果。

Snort 3分析菜单

可以从Devices > Snort 3 Profiling菜单访问Profiling页面。该页面包含规则和CPU分析，分为两个选项卡。

设备

启动规则分析

要启动规则分析会话，请单击Start。会话将在120分钟后自动停止。

用户无法配置分析会话的长度，但可以在两小时过去之前将其停止。

规则分析

正在运行

启动规则分析会话后，将创建一个任务。可以在Notifications > Tasks中选中此项。

任务

要停止正在进行的规则分析会话（如果您需要在自动停止之前中断它），请单击Stop并确认。

停止分析

选择设备后，最新分析结果会自动显示在Rule Profiling Results部分中。

该表包含按总时间(以微秒(μs)为单位)降序排序的处理时间最长的规则的统计信息。

结果

规则分析器结果

IPS规则的规则分析器输出包括以下字段：

- Snort时间的百分比 — 处理规则所花费的时间，相对于Snort 3的操作时间

- Checks - IPS规则执行的次数

- Matches - IPS规则完全匹配的次数

- Alerts - IPS规则触发IPS警报的次数

- Time(μs)- Snort检查IPS规则所用的时间（以微秒为单位）

- Avg/Check - Snort对规则的一次检查所花费的平均时间

- Avg/Match - Snort在一次检查中导致匹配所花费的平均时间

- Avg/Non-Match - Snort执行一次未导致匹配的检查所花费的平均时间

- 超时 — 规则超出规则处理的次数 — 在AC策略的基于延迟的性能设置中配置的阈值

- Suspends — 由于某些连续阈值违规而暂停规则的次数

下载结果

- 用户可以通过点击“Download Snapshot”按钮下载分析结果(“snapshot”)。下载的文件是.csv格式，包含分析结果页面中的所有字段。

- 从快照.csv文件中提取：

Device,Start Time,End Time,GID:SID,Rule Description,% of Snort Time,Rev,Checks,Matches,Alerts,Time ( μs ),Avg/Check,Avg/Match,Avg/Non-Match,Timeouts,Suspends 172.16.0.102,2024-03-13 11:05:41,2024-03-13 11:07:21,2000:1000001,TEST 1,0.00014,1,4,4,1,284,71,71,0,0,0

快照.csv文件视图：

快照

CPU 分析

Snort 3 CPU分析器概述

- CPU分析器会分析Snort 3的模块/检查器在特定时间间隔内处理数据包所花费的CPU时间。它可提供有关每个模块消耗的CPU数量（相对于Snort 3进程消耗的CPU总数）的信息。

- 使用CPU分析器不需要重新加载配置或重新启动Snort 3，从而避免了停机时间。

- CPU分析器结果显示所有模块在上次分析会话期间所用的处理时间。

- CPU分析结果以JSON格式保存在/ngfw/var/sf/sync/cpu_profiling/目录下，并在FMC /var/sf/peers/<device UUID>/sync/cpu_profiling目录上同步。

- 在FMC UI中添加了新的Snort 3分析页面

- 可以从Devices > Snort 3 Profiling菜单> CPU Profiling选项卡访问此页

- 使用CPU分析选项卡上的Download Snapshot以CSV格式下载分析结果的快照。

CPU分析选项卡

可以从设备 > Snort 3分析菜单> CPU分析选项卡访问“CPU分析”页。

它包含设备选择器、开始/停止按钮、下载快照按钮、性能分析结果部分以及左侧的性能分析历史记录部分（单击该部分时将展开该部分）。

CPU 分析

要启动CPU分析会话，请单击Start。启动会话时显示此页面。

开始

正在运行

启动CPU分析会话后，会创建一个任务。可以在Notifications > Tasks中选中此选项。

任务

- 要停止正在进行的CPU分析会话，请单击停止。

- 系统将显示确认对话框。单击停止分析。

停止运行

最新的分析结果显示在“CPU Profiling Results（CPU分析结果）”部分。

结果

CPU分析器结果说明

- “模块”列表示模块/检查器的名称。

- “CPU时间总百分比”列表示模块在处理流量时占用的时间相对于Snort 3总时间的百分比。如果该值明显大于其他模块的值，则模块对Snort 3性能不满意的贡献更大。

- “时间(μs)”表示每个模块花费的总时间（以微秒为单位）。

- “Avg/Check”表示模块每次调用模块时所用的平均时间。

- “%调用方”表示子模块（如果已配置）相对于主模块花费的时间。主要用于开发者调试的目的。

CPU分析器结果 — 下载快照

- 用户可以通过点击Download Snapshot下载分析结果快照。下载的文件是.csv格式，包含分析结果页面中的所有字段，如本示例所示。

- 从快照.csv文件中提取：

快照

CPU分析结果过滤

分析结果可以使用以下内容进行过滤：

- “按Snort时间的%过滤” — 允许您过滤执行时间超过分析时间n%的模块。

- 搜索(Search) — 允许您通过结果表中存在的任何字段执行文本搜索。

除“Module”以外的任何列均可单击其标题进行排序。

结果