IDP 安全数据包捕获
IDP 传感器配置定义了数据包捕获的设备规格。
有关更多信息,请参阅以下主题:
了解安全数据包捕获
查看攻击之前和之后的数据包,可帮助您确定尝试攻击的目的和范围、攻击是否成功,以及攻击是否造成了任何网络损坏。数据包分析还有助于定义攻击签名,以最大限度地减少误报。
如果在记录攻击时启用了数据包捕获,则可以为会话捕获攻击前后指定数量的数据包。收集所有数据包后,这些数据包都会在设备管理接口 (DMI) 中传输到主机设备进行离线分析。
发生规则匹配时,IDP 策略规则中的通知选项支持数据包捕获。选项进一步定义要捕获的数据包数和相关会话的数据包捕获持续时间。
IDP 传感器配置定义了数据包捕获的设备规格。此命令的选项可确定要分配给数据包捕获的内存,以及数据包捕获对象将在其之间传输的源设备和主机设备。
show
命令会显示数据包捕获计数器,用于提供有关设备上数据包捕获活动的进度、成功和失败的详细信息。
每个会话仅支持一次数据包捕获。
如果数据包捕获配置了改进的攻击前配置参数值,则资源使用量会成比例增加,并可能会影响设备的性能。
IDP 数据包捕获的加密支持
从 Junos OS 22.1R1 版开始,您可以启用安全 SSL 或 TLS 连接,并将加密 IDP 数据包捕获日志发送到数据包捕获接收器。要建立 SSL 或 TLS 连接,必须指定要在 IDP 数据包日志配置中使用的 SSL 初始化配置文件名称。SRX 设备是 SSL 或 TLS 客户端,数据包捕获接收器是 SSL 或 TLS 服务器。
如果数据包日志配置中启用了加密支持,IDP 使用安全 SSL 或 TLS 连接将 IDP 数据包日志发送到逻辑系统或租户系统内所有会话(加密和非加密)的已配置主机。将数据包日志发送至数据包捕获接收器后,SSL 连接将关闭。
以前,当发送加密流量进行检测时,IDP 使用 SSL 代理重新识别解密的流量,并检查此流量以检测攻击。如果检测到攻击并配置了数据包日志,则解密的数据包将通过 UDP 流量作为数据包日志的一部分发送到配置的主机。这种不带加密的数据包日志传输不安全,尤其是当捕获的数据包日志用于加密流量时。
启用加密支持后,必须在每个逻辑系统中分别配置 SSL 配置文件。在根逻辑系统中为传输参数执行的 IDP 传感器配置不能用于其他逻辑系统或租户系统。
IDP 数据包日志的 SSL 或 TLS 连接按如下建立:
-
数据包日志记录进程开始时,如果主机没有 SSL 或 TLS 连接,则建立新的 SSL 连接以发送数据包日志。
-
在数据包日志传输期间,如果存在现有 SSL 或 TLS 连接,则会重用同一连接。
-
停止数据包日志记录后,捕获的数据包会通过建立的 SSL 或 TLS 连接发送。
- 如果 SSL 或 TLS 数据包传输会话繁忙,并且有来自主机的新数据包日志请求,则这些数据包日志才会被推送并仅在现有 SSL 会话完成时发送。
IDP 的数据包日志配置现在支持 SSL 配置文件名称配置。您可以使用更新后的数据包日志配置为 IDP 数据包日志建立安全 SSL 连接。
使用 SSL 配置更新的 IDP 数据包日志命令包括:
set security idp sensor-configuration packet-log ssl-profile-name < profile-name>
- 对于逻辑系统内的会话-
set logical system logical system name security idp sensor-configuration packet-log ssl-profile-name < profile-name>
-
对于租户系统内的会话
set tenants tenant name security idp sensor-configuration packet-log ssl-profile-name < profile-name>
必须在 SSL 初始化配置文件配置中配置这些命令中提到的配置文件名称。SSL 初始化配置文件配置会执行所需的 SSL 证书和 SSL 握手操作,以建立安全连接。根据 SSL 初始化配置选择 SSL 版本。
如果未在 SSL 初始化配置文件配置中配置 SSL 配置文件名称,则显示以下消息“ 引用的 SSL 初始化配置文件”未定义。
要查看新的数据包日志计数器,请使用 show security idp counters packet-log
命令。
好处
-
使用 SSL 和 TLS 密钥以及证书加密机制提供数据的隐私和安全性。
-
允许将潜在的私有信息流传输到网络中的共享实体。
支持 IDP 本机数据包捕获
发生攻击时,将使用 IDP 数据包日志记录功能捕获数据包,并脱机分析攻击行为。有时,日志收集器设备(如 Security Director)无法用于离线收集捕获的数据包。在这种情况下,从 Junos OS 23.1R1 版开始,捕获的数据包现在可以存储在 SRX 设备本地,并在用户界面或 J-Web 上查看详细信息。
将照常使用现有 IDP 数据包日志配置,您可以使用命令为 IDP 规则设置数据包日志。您可以使用 set security idp sensor-configuration packet-log local-storage
命令将捕获的数据包存储在设备上。
如果使用此配置,则如果为主机配置了详细信息,则向异机主机或收集器发送数据包日志不会发生变化。
捕获的流量存储在 /var/log/pcap/idp/。PCAP 文件的名称基于时间戳、攻击日志 ID 和触发数据包编号。
您可以使用提供的日志轮换功能限制创建的 PCAP 文件数量。使用以下配置限制应在 /var/log/pcap/idp 中创建的 PCAP 文件数量:
set security idp sensor-configuration packet-log local-storage max-files <1..5000>
默认值为 500。
以下配置用于为用于存储 PCAP 文件的最大磁盘空间设置限制。
set security idp sensor-configuration packet-log local-storage storage-limit <1048576...4294967296>
默认值为 100M,最小为 1M。
计数器表示本机捕获统计信息。新的计数器会添加到现有的数据包日志计数器中。您可以使用以下命令查看数据包日志计数器的详细信息:
user@host> show security idp counters packet-log
IDP counters: Total packets sent for local packet capture 0 Total sessions enabled for local packet capture 0 Sessions currently enabled for local packet capture 0 Packets currently captured for local enabled sessions 0 Packet clone failures for local capture 0 Total failures sending packets captured to RE 0
当为该会话生成本机数据包捕获文件时,现在会在现有会话关闭系统日志上设置一个标志。以下示例中的最后三个参数(128 - 会话的功能统计数据)表示了这一点。下面是一个示例:
RT_FLOW: RT_FLOW_SESSION_CLOSE: session closed TCP FIN: 4.0.0.1/44508->6.0.0.2/80 0x0 junos-http 4.0.0.1/44508->6.0.0.2/80 0x0 N/A N/A N/A N/A 6 1 trust untrust 22 7(420) 6(3879) 2 HTTP UNKNOWN N/A(N/A) ge-0/0/2.0 No Web N/A 4 Can Leak Information;Supports File Transfer;Prone to Misuse;Known Vulnerabilities;Carrier of Malware;Capable of Tunneling; NA 0 0.0.0.0/0->0.0.0.0/0 NA NA N/A N/A Off root 128 N/A N/A
以下是其他有用的命令:
-
使用
delete security idp sensor-configuration packet-log local-storage
并提交删除配置并提交以禁用本机日志记录。 -
使用 clear counter 命令移除
clear security idp counters packet-log
本机捕获详细信息。 -
用于
request security idp storage-cleanup packet-capture
清除捕获的所有文件。
另请参阅
示例:配置安全数据包捕获
此示例说明如何配置安全数据包捕获。
要求
开始之前,配置网络接口。
概述
在此示例中,您将为策略 pol0 的规则 1 配置数据包捕获。规则指定,如果发生攻击,将捕获攻击前 10 个数据包和攻击后 3 个数据包,攻击后捕获的时间应在 60 秒后超时。传感器配置已修改,以将 5% 的可用内存和 15% 的 IDP 会话分配给数据包捕获。准备数据包捕获对象后,将从设备 10.56.97.3 传输到设备 10.24.45.7 上的端口 5。
配置
程序
CLI 快速配置
要快速配置此示例,请复制以下命令,将其粘贴到文本文件中,删除所有换行符,更改详细信息,以便与网络配置匹配,然后将命令复制并粘贴到层级的 CLI 中 [edit]
,然后从配置模式进入 commit
。
set security idp idp-policy pol0 rulebase-ips rule 1 then notification packet-log pre-attack 1 post-attack 3 post-attack-timeout 60 set security idp sensor-configuration packet-log total-memory 5 max-sessions 15 source-address 10.56.97.3 host 10.24.45.7 port 5 set security idp sensor-configuration log suppression disable set security idp idp-policy pol0 rulebase-ips rule 1 match attacks predefined-attack-groups "TELNET-Critical" set security idp idp-policy pol0 rulebase-ips rule 1 then action drop-packet
逐步过程
以下示例要求您在配置层次结构中的各个级别上导航。有关如何操作的说明,请参阅 CLI 用户指南中的在配置模式下使用 CLI 编辑器。
要配置安全数据包捕获:
-
创建 IDP 策略。
[edit] user@host# edit security idp idp-policy pol0
-
将规则库与策略相关联。
[edit edit security idp idp-policy pol0] user@host# edit rulebase-ips
-
将规则添加到规则库。
[edit edit security idp idp-policy pol0 rulebase-ips] user@host# edit rule 1
-
指定通知,定义每个数据包捕获的大小和计时约束。
[edit security idp idp-policy pol0 rulebase-ips rule 1 ] user@host# set then notification packet-log pre-attack 10 post-attack 3 post-attack-timeout 60
-
将攻击定义为匹配标准。
[edit security idp idp-policy pol0 rulebase-ips rule 1] user@host# set match attacks predefined-attack-groups "TELNET-Critical"
-
为规则指定操作。
[edit security idp idp-policy pol0 rulebase-ips rule 1] user@host#set then action drop-packet
-
启用安全 idp 传感器配置。
[edit] user@host# edit security idp sensor-configuration
-
(可选)禁用安全 idp 传感器配置日志抑制。
[edit] user@host# set security idp sensor-configuration log suppression disable
注意:启用 IDP 日志抑制(这是默认行为)后,在与单个签名匹配的大容量或重复性攻击事件中,SRX 系列设备可能不会生成数据包捕获 (PCAP) 并将其转发给收集器。如果需要为每次攻击提供 PCAP 记录,建议禁用 IDP 日志抑制。
-
分配要用于数据包捕获的设备资源。
[edit security idp sensor-configuration] user@host# set packet-log total-memory 5 max-sessions 15
-
识别用于传输数据包捕获对象的源设备和主机设备。
[edit security idp sensor-configuration] user@host# set packet-log source-address 10.56.97.3 host 10.24.45.7 port 5
- 启用安全 SSL 或 TLS 连接,对发送至已配置主机的 IDP 数据包日志进行加密(PCAP 重新连接)。
[edit security idp sensor-configuration] user@host# set packet-log ssl-profile-name ssl3
[edit](Logical Systems) user@host# set logical system LS1 security idp sensor-configuration packet-log ssl-profile-name ssl3
[edit(Tenant Systems) user@host# set tenants TS1 security idp sensor-configuration packet-log ssl-profile-name ssl3
上述 SSL 配置文件名称应在 SSL 初始化配置文件配置中配置。此 IDP 数据包日志 SSL 或 TLS 连接支持 SSL 初始化配置支持的所有 SSL 和 TLS 版本。您只能选择在 SSL 初始化配置中配置的 SSL 或 TLS 版本。
运行 user@host# show services ssl initiation | display set 以查看在 SSL 初始化中配置的 SSL 配置文件名称,并使用所需的 SSL 或 TLS 版本。
结果
在配置模式下,输入命令以确认 show security idp
您的配置。如果输出未显示预期的配置,请重复此示例中的配置说明,以便进行更正。
[edit] user@host# show security idp
idp-policy pol0 { rulebase-ips { rule 1 { match { attacks { predefined-attack-groups TELNET-Critical; } } then { action { drop-packet; } notification { packet-log { pre-attack 10; post-attack 3; post-attack-timeout 60; } } } } } }
sensor-configuration { log { suppression { disable; } } packet-log { total-memory { 5; } max-sessions { 15; } source-address 10.56.97.3; host { 10.24.45.7; port 5; } ## ## Warning: Referenced SSL initiation profile is not defined ## ssl-profile-name ssl3; } }
完成设备配置后,请从配置模式进入 commit
。
验证
确认配置工作正常。
验证安全数据包捕获
目的
验证安全数据包捕获。
行动
在操作模式下,输入 show security idp counters packet-log
命令。
user@host> show security idp counters packet-log
IDP counters: Value Total packets captured since packet capture was activated 0 Total sessions enabled since packet capture was activated 0 Sessions currently enabled for packet capture 0 Packets currently captured for enabled sessions 0 Packet clone failures 0 Session log object failures 0 Session packet log object failures 0 Sessions skipped because session limit exceeded 0 Packets skipped because packet limit exceeded 0 Packets skipped because total memory limit exceeded 0
示例:配置数据包捕获以用于数据路径调试
此示例说明如何配置数据包捕获以监控通过设备的流量。然后,数据包捕获将数据包转储为 PCAP 文件格式,稍后由 tcpdump 实用程序检查。
要求
开始之前,请参阅对数据路径进行调试(CLI 过程)。
概述
定义过滤器以过滤流量;然后将操作配置文件应用于过滤后的流量操作配置文件指定了处理单元上的各种操作。支持的其中一个操作是数据包转储,它会将数据包发送至路由引擎,并将其以专有形式存储,以便使用 show security datapath-debug capture
命令读取。
SRX1400、SRX3400、SRX3600、SRX5400、SRX5600 和 SRX5800 支持数据路径调试。
配置
程序
CLI 快速配置
要快速配置此示例,请复制以下命令,将其粘贴到文本文件中,删除所有换行符,更改详细信息,以便与网络配置匹配,将命令复制并粘贴到层级的 [edit]
CLI 中,然后从配置模式进入 commit
。
set security datapath-debug capture-file my-capture set security datapath-debug capture-file format pcap set security datapath-debug capture-file size 1m set security datapath-debug capture-file files 5 set security datapath-debug maximum-capture-size 400 set security datapath-debug action-profile do-capture event np-ingress packet-dump set security datapath-debug packet-filter my-filter action-profile do-capture set security datapath-debug packet-filter my-filter source-prefix 1.2.3.4/32
逐步过程
以下示例要求您在配置层次结构中的各个级别上导航。有关如何操作的说明,请参阅 Junos OS CLI 用户指南中的在配置模式下使用 CLI 编辑器。
要配置数据包捕获:
编辑数据包处理路径上的多个处理单元的安全数据路径调试选项:
[edit] user@host# edit security datapath-debug
启用捕获文件、文件格式、文件大小和文件数量。大小编号限制捕获文件的大小。达到限制大小后,如果指定了文件编号,则捕获文件将旋转为文件名 x,其中 x 自动递增,直到到达指定的索引,然后返回到零。如果未指定文件索引,则达到大小限制后,数据包将被丢弃。默认大小为 512 KB。
[edit security datapath-debug] user@host# set capture-file my-capture format pcap size 1m files 5 [edit security datapath-debug] user@host# set maximum-capture-size 400
启用操作配置文件并设置事件。将操作配置文件设置为 do-capture,将事件类型设置为 np-入口:
[edit security datapath-debug] user@host# edit action-profile do-capture [edit security datapath-debug action-profile do-capture] user@host# edit event np-ingress
为操作配置文件启用数据包转储:
[edit security datapath-debug action-profile do-capture event np-ingress] user@host# set packet-dump
启用数据包过滤器、操作和过滤器选项。数据包过滤器设置为 my-filter,操作配置文件设置为 do-capture,过滤器选项设置为 source-前缀 1.2.3.4/32。
[edit security datapath-debug] user@host# set security datapath-debug packet-filter my-filter action-profile do-capture
[edit security datapath-debug] user@host# set security datapath-debug packet-filter my-filter source-prefix 1.2.3.4/32
结果
在配置模式下,输入命令以确认 show security datapath-debug
您的配置。如果输出未显示预期的配置,请重复此示例中的配置说明,以便进行更正。以下是show security datapath-debug
命令的 show security datapath-debug
输出:
security { datapath-debug { capture-file { my-capture format pcap size 1m files 5; } } maximum-capture-size 100; action-profile do-capture { event np-ingress { packet-dump } } packet-filter my-filter { source-prefix 1.2.3.4/32 action-profile do-capture } }
完成设备配置后,请从配置模式进入 commit
。
验证
确认配置工作正常。
验证数据包捕获
目的
验证数据包捕获是否工作。
行动
在操作模式下,输入 request security datapath-debug capture start
开始数据包捕获的命令,然后输入停止 request security datapath-debug capture stop
数据包捕获的命令。
要从 CLI 操作模式查看结果,请访问本地 UNIX shell 并导航至目录 /var/log/my-capture。可以使用 tcpdump 实用程序读取结果。
验证数据路径调试捕获
目的
验证数据路径调试捕获文件的详细信息。
行动
在操作模式下,输入 show security datapath-debug capture
命令。
user@host>show security datapath-debug capture
完成故障排除后,请务必删除或停用所有 traceoption 配置(不限于流跟踪选项)以及完整的安全数据路径调试配置节。如果任何调试配置保持活动状态,它们将继续使用设备的 CPU 和内存资源。
用于逻辑系统和租户系统的 IDP 安全数据包日志记录
从 Junos OS 21.3R1 版开始,您可以捕获逻辑系统和租户系统的 IDP 安全数据包日志。在安全设备上启用数据包捕获后,您还可以指定要捕获的多个攻击后或攻击前数据包。在安全设备上配置数据包捕获后,设备会收集捕获的信息,并将其存储为逻辑系统和租户系统级别的数据包捕获 (.pcap) 文件。
为逻辑系统和租户系统配置 IDP 安全数据包日志时,您的配置将被视为以下示例:
IDP 数据包日志记录示例配置
[edit logical-systems LSYS-1] user@host# show security { idp { sensor-configuration { packet-log { threshold-logging-interval 2; source-address 192.168.0.0; host { 172.16.0.0; port 2050; } } } } }
路由和可达性
您可以在逻辑系统和租户系统级别指定数据包日志记录传感器,以便将捕获的数据包存储在目标设备(PCAP 接收器)上。要发送和存储捕获的数据包,必须在逻辑系统和租户系统配置中添加目标设备的 IP 地址。否则,设备将使用在根逻辑系统和租户系统级别配置的设备的 IP 地址来发送捕获的数据包。在这种情况下,捕获的数据包不会存储在逻辑系统和租户系统级别。
如果根逻辑系统和租户系统不包含目标设备的 IP 地址,则安全设备无法将捕获的数据包发送到目标。
您可以使用 show security idp counters packet log logical-system <logical-system-name> 命令并检查选项 Packet log host route lookup failures 字段,以查看安全设备因缺少路由详细信息而未发送捕获的数据包的次数。