IDP 安全性数据包捕获
本文介绍如何捕获攻击前后的数据包,以确定攻击细节并创建签名。它包括为特定规则启用数据包捕获、配置内存分配,以及将捕获的数据包传输到主机设备进行分析。引入了使用 SSL/TLS 对数据包日志进行加密的支持,以及在本地存储日志的功能。
IDP 传感器配置定义了数据包捕获的设备规格。
了解数据包捕获
查看攻击前后的数据包有助于确定攻击尝试的目的和程度、攻击是否成功,以及攻击是否造成了网络损坏。数据包分析还有助于定义攻击签名,以最大程度地减少误报。
如果在记录攻击时启用了数据包捕获,则可以在攻击前后为会话捕获指定数量的数据包。收集完所有数据包后,这些数据包将在设备管理接口 (DMI) 中传输到主机设备,以进行离线分析。
当发生规则匹配时,IDP 策略规则中的通知选项启用数据包捕获。该选项进一步定义要捕获的数据包数以及关联会话的数据包捕获持续时间。
IDP 传感器配置定义了数据包捕获的设备规格。此命令的选项确定要为数据包捕获分配的内存,以及传输数据包捕获对象的源设备和主机设备。
show命令会显示数据包捕获计数器,提供有关设备上数据包捕获活动的进度、成功和失败的详细信息。
每个会话中仅提供一次数据包捕获支持。
当使用改进的攻击前配置参数值配置数据包捕获时,资源使用量将成比例增加,并可能影响设备的性能。
IDP 数据包捕获支持加密
您可以启用安全套接字层 (SSL) 或传输层安全性 (TLS) 连接,并将加密的 IDP 数据包捕获日志发送到数据包捕获接收方。要建立 SSL 或 TLS 连接,必须指定要在 IDP 数据包日志配置中使用的 SSL 初始配置文件名称。安全设备是 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)无法离线收集捕获的数据包。在这种情况下,捕获的数据包可以存储在本地,并且可以在 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和 commit 删除配置,commit 禁用本机日志记录。 -
使用 clear counter 命令移除
clear security idp counters packet-log本机捕获详细信息。 -
用于
request security idp storage-cleanup packet-capture清除所有捕获的文件。
也可以看看
示例:配置安全性数据包捕获
此示例说明如何配置安全数据包捕获。
要求
开始之前,配置网络接口。
概述
在此示例中,您将为策略 pol0 的规则 1 配置数据包捕获。规则规定,如果发生攻击,将捕获攻击前的 1 个数据包和攻击后的 3 个数据包,并且攻击后的捕获应在 60 秒后超时。传感器配置已修改,可将 5% 的可用内存和 15% 的 IDP 会话分配给数据包捕获。准备好数据包捕获对象后,它从设备 10.56.97.3 传输到设备 10.24.45.7 上的端口 5。
配置
过程
CLI 快速配置
要快速配置此示例,请复制以下命令,将其粘贴到文本文件中,删除所有换行符,更改详细信息,以便与网络配置匹配,然后将命令复制并粘贴到层次结构级别的 [edit] CLI 中,然后从配置模式进入。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 1 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 连接,以加密发送至配置主机(PCAP 接收方)的 IDP 数据包日志。
[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 1;
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 。
配置
过程
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 10.2.3.4/32
分步程序
下面的示例要求您在各个配置层级中进行导航。有关操作说明,请参阅《Junos OS CLI 用户指南》中的在配置模式下使用CLI编辑器。
要配置数据包捕获:
编辑数据包处理路径上多个处理单元的安全 datapath-debug 选项:
[edit] user@host# edit security datapath-debug
启用捕获文件、文件格式、文件大小和文件数。大小编号限制捕获文件的大小。达到限制大小后,如果指定了文件号,则捕获文件将旋转到 filename 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-ingress:
[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-prefix 10.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 10.2.3.4/32
结果
在配置模式下,输入 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 10.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
完成故障排除后,请确保删除或停用所有 traceoptions 配置(不限于流 traceoptions)和完整的安全数据路径调试配置部分。如果任何调试配置保持活动状态,它们将继续使用设备的 CPU 和内存资源。
逻辑系统和租户系统的 IDP 安全性数据包日志记录
您可以捕获逻辑系统和租户系统的 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;
}
}
}
}
}
路由和可达性
您可以在逻辑系统和租户系统级别指定数据包日志记录传感器,以便将捕获的数据包存储在目标设备(数据包捕获接收器)上。要发送和存储捕获的数据包,您必须在逻辑系统和租户系统配置中添加目标设备的 IP 地址。除此之外,设备将使用在根逻辑系统和租户系统级别配置的设备的 IP 地址发送捕获的数据包。在这种情况下,捕获的数据包不会存储在逻辑系统和租户系统级别。
如果您的根逻辑系统和租户系统缺少目标设备的 IP 地址,则安全设备无法发送捕获的数据包。
使用命令 show security idp counters packet log logical-system logical-system-name 。选中该 Packet log host route lookup failures 选项。确定安全设备由于缺少路由详细信息而未发送数据包的频率。
也可以看看
变更历史表
是否支持某项功能取决于您使用的平台和版本。使用 功能资源管理器 确定您的平台是否支持某个功能。