监控安全策略并对其进行故障排除
监控提供了表示网络上访问活动状态的有意义数据的实时呈现。这种洞察力使您能够轻松解释和影响操作条件。故障排除为解决网络上的访问问题提供上下文指导。然后,您可以解决用户关注的问题并及时提供解决方案。
了解安全警报
当数据包因违反策略而被丢弃时,将触发警报。当数据包与拒绝或拒绝策略匹配时,会发生策略冲突。当系统监控以下任何审核事件时,将生成策略违规警报:
源网络标识符在指定时间段内违反策略的次数
指定时间段内目标网络标识符违反策略的次数
指定时间段内应用程序违反策略的次数
指定时间段内的策略规则或规则冲突组
有四种类型的警报对应于这四个事件。告警基于源 IP、目标 IP、应用程序和策略。
当数据包遇到拒绝或拒绝策略时,所有已启用告警类型的策略违规计数器都会增加。当任何计数器在指定时间段内达到指定阈值时,将生成告警。在指定的时间段后,策略冲突计数器将重置并重新用于开始另一个计数周期。
要查看告警信息,请运行 show security alarms
命令。违规计数和警报不会在系统重新启动后持续存在。重新启动后,违规计数将重置为零,并且警报将从警报队列中清除。
采取适当措施后,您可以清除警报。警报会一直保留在队列中,直到您将其清除(或重新启动设备)。要清除警报,请运行 clear security alarms
命令。清除警报后,后续一系列流策略违规可能会导致引发新的警报。
参见
示例:生成安全警报以响应策略违规
此示例说明如何配置设备以在发生策略违规时生成系统警报。默认情况下,发生策略冲突时不会引发警报。
要求
配置此功能之前,不需要除设备初始化之外的特殊配置。
概述
在此示例中,您将配置在以下情况下引发的警报:
应用程序大小为 10240 个单位。
源 IP 违规在 20 秒内超过 1000。
目标 IP 冲突在 10 秒内超过 1000。
策略匹配冲突超过 100,单位大小为 100。
配置
程序
CLI 快速配置
要快速配置此示例,请复制以下命令,将其粘贴到文本文件中,删除所有换行符,更改与您的网络配置匹配所需的任何详细信息,将命令复制并粘贴到层次结构级别的 CLI [edit]
中,然后从配置模式进入 commit
。
set security alarms potential-violation policy application size 10240 set security alarms potential-violation policy source-ip threshold 1000 duration 20 set security alarms potential-violation policy destination-ip threshold 1000 duration 10 set security alarms potential-violation policy policy-match threshold 100 size 100
分步过程
以下示例要求您在配置层次结构中导航各个级别。有关如何执行此操作的说明,请参阅 CLI 用户指南中的在配置模式下使用 CLI 编辑器。
要配置策略违规警报:
启用安全警报。
[edit] user@host# edit security alarms
指定在发生应用程序冲突时应引发警报。
[edit security alarms potential-violation policy] user@host# set application size 10240
指定在发生源 IP 违规时应引发警报。
[edit security alarms potential-violation policy] user@host# set source-ip threshold 1000 duration 20
指定在发生目标 IP 违规时应引发警报。
[edit security alarms potential-violation policy] user@host# set destination-ip threshold 1000 duration 10
指定在发生策略匹配冲突时应引发警报。
[edit security alarms potential-violation policy] user@host# set policy-match threshold 100 size 100
结果
在配置模式下,输入 show security alarms
命令确认您的配置。如果输出未显示预期的配置,请重复此示例中的配置说明以进行更正。
policy { source-ip { threshold 1000; duration 20; } destination-ip { threshold 1000; duration 10; } application { size 10240; } policy-match { threshold 100; size 100; } }
如果完成设备配置,请从配置模式输入 commit
。
验证
要确认配置工作正常,请在操作模式下输入 show security alarms
命令。
匹配安全策略
该 show security match-policies
命令允许您使用匹配标准对流量问题进行故障排除:源端口、目标端口、源 IP 地址、目标 IP 地址和协议。例如,如果由于未配置适当的策略或匹配标准不正确而导致流量未通过, show security match-policies
则该命令允许您脱机工作并确定问题实际存在的位置。它使用搜索引擎来识别问题,从而使您能够对流量使用适当的匹配策略。
该 result-count
选项指定要显示的策略数。列表中第一个启用的策略是应用于所有匹配流量的策略。它下面的其他策略被第一个策略“遮蔽”,并且永远不会被匹配的流量遇到。
该 show security match-policies
命令仅适用于安全策略;不支持 IDP 策略。
示例 1:显示安全匹配策略
user@host> show security match-policies from-zone z1 to-zone z2 source-ip 10.10.10.1 destination-ip 192.0.2.1 source-port 1 destination-port 21 protocol tcp Policy: p1, action-type: permit, State: enabled, Index: 4 Sequence number: 1 From zone: z1, To zone: z2 Source addresses: a2: 203.0.113.1/25 a3: 10.10.10.1/32 Destination addresses: d2: 203.0.113.129/25 d3: 192.0.2.1/24 Application: junos-ftp IP protocol: tcp, ALG: ftp, Inactivity timeout: 1800 Source port range: [0-0] Destination port range: [21-21]
示例 2:使用结果计数选项
默认情况下,输出列表包含将应用于具有指定特征的流量的策略。若要列出与条件匹配的多个策略,请使用该 result-count
选项。列出的第一个策略始终是将应用于匹配流量的策略。如果值 result-count
介于 2 到 16 之间,则输出包括与指定条件 result-count
匹配的所有策略。第一个策略之后列出的所有策略都由第一个策略“隐藏”,并且永远不会应用于匹配的流量。
使用此选项可测试新策略的定位,或对未按预期应用于特定流量的策略进行故障排除。
在以下示例中,流量条件与两个策略匹配。列出的 p1
第一个策略 包含应用于流量的操作。策略 p15
被第一个策略遮蔽,因此其操作不会应用于匹配的流量。
user@host> show security match-policies from-zone zone-A to-zone zone-B source-ip 10.10.10.1 destination-ip 192.0.2.1 source-port 1004 destination-port 80 protocol tcp result-count 5 Policy: p1, action-type: permit, State: enabled, Index: 4 Sequence number: 1 From zone: zone-A, To zone: zone-B Source addresses: sa1: 10.10.0.0/16 Destination addresses: da5: 192.0.2.0/24 Application: any IP protocol: 1, ALG: 0, Inactivity timeout: 0 Source port range: [1000-1030] Destination port range: [80-80] Policy: p15, action-type: deny, State: enabled, Index: 18 Sequence number: 15 From zone: zone-A, To zone: zone-B Source addresses: sa11: 10.10.10.1/32 Destination addresses: da15: 192.0.2.5/24 Application: any IP protocol: 1, ALG: 0, Inactivity timeout: 0 Source port range: [1000-1030] Destination port range: [80-80]
参见
跟踪策略命中计数
使用该 show security policies hit-count
命令根据安全策略收到的命中次数显示其实用率。您可以使用此功能来确定设备上正在使用哪些策略以及使用这些策略的频率。根据您选择的命令选项,可以不按顺序列出命中数,也可以按升序或降序排序,并且可以将其限制为高于或低于特定计数或范围内的命中数。将显示与策略或命名区域关联的所有区域的数据。
检查 SRX 系列设备上的内存使用情况
您可以通过比较策略配置前后的内存值来隔离内存问题。
SRX1400、SRX1500、SRX3400、SRX3600、SRX4100、SRX4200、SRX4600、SRX5400、SRX5600和SRX5800设备上的策略、区域或地址等流实体的内存是动态分配的(具体取决于您安装的 Junos OS 版本)。但是,某些做法可以帮助监视设备上的当前内存使用情况并优化参数以更好地调整系统配置的大小,尤其是在策略实施期间。
要检查内存使用情况,请执行以下操作:
使用该
show chassis routing-engine
命令检查路由引擎 (RE) 内存的总体使用情况。此命令的以下输出显示内存利用率为 39%:user@host#
show chassis routing-engine
Routing Engine status: Slot 0: Current state Master Election priority Master (default) DRAM 1024 MB Memory utilization 39 percent CPU utilization: User 0 percent Background 0 percent Kernel 2 percent Interrupt 0 percent Idle 97 percent Model RE-PPC-1200-A Start time 2011-07-09 19:19:49 PDT Uptime 37 days, 15 hours, 44 minutes, 13 seconds Last reboot reason 0x3:power cycle/failure watchdog Load averages: 1 minute 5 minute 15 minute 0.22 0.16 0.07使用该
show system processes extensive
命令获取有关路由引擎上运行的进程的信息。find nsd
使用命令中的show system processes extensive
选项可查看网络安全守护程序 (NSD) 上的直接使用情况,其使用的总内存为 10 MB,CPU 利用率为 0%。user@host# show system processes extensive | find nsd 1182 root 1 96 0 10976K 5676K select 2:08 0.00% nsd 1191 root 4 4 0 8724K 3764K select 1:57 0.00% slbd 1169 root 1 96 0 8096K 3520K select 1:51 0.00% jsrpd 1200 root 1 4 0 0K 16K peer_s 1:10 0.00% peer proxy 1144 root 1 96 0 9616K 3528K select 1:08 0.00% lacpd 1138 root 1 96 0 6488K 2932K select 1:02 0.00% ppmd 1130 root 1 96 0 7204K 2208K select 1:02 0.00% craftd 1163 root 1 96 0 16928K 5188K select 0:58 0.00% cosd 1196 root 1 4 0 0K 16K peer_s 0:54 0.00% peer proxy 47 root 1 -16 0 0K 16K sdflus 0:54 0.00% softdepflush 1151 root 1 96 0 15516K 9580K select 0:53 0.00% appidd 900 root 1 96 0 5984K 2876K select 0:41 0.00% eventd
检查配置文件大小。在退出 CLI 之前,请使用唯一名称保存配置文件。然后,从 UNIX 级命令行管理程序中的 shell 提示符输入
ls -1 filename
命令以检查文件大小,如以下示例输出所示:user@host> start shell % ls -l config -rw-r--r-- 1 remote staff 12681 Feb 15 00:43 config
参见
监控安全策略统计信息
目的
监控和记录 Junos OS 根据先前配置的策略允许或拒绝的流量。
行动
要监控流量,请启用计数和日志选项。
计数—可在单个策略中配置。如果启用了 count,则会针对针对给定策略进入设备的会话以及针对给定策略在两个方向上通过设备的数据包和字节数收集统计信息。对于计数(仅适用于数据包和字节),您可以指定在流量超过指定阈值时生成警报。请参阅计数(安全策略)。
日志—可以在会话初始化(会话初始化)或会话关闭(会话关闭)阶段使用安全策略启用日志记录功能。请参阅日志(安全策略)。
要查看来自被拒绝连接的日志,请启用 登录会话初始化。
要在会话结束/拆除后记录会话,请启用 会话关闭登录。
会话日志在流代码中实时启用,这会影响用户性能。如果同时启用 会话关闭 和 会话初始化 ,则与仅启用 会话初始化 相比,性能会进一步下降。
有关为会话日志收集的信息的详细信息,请参阅 SRX 系列服务网关的会话日志条目中提供的信息。
验证影子策略
验证所有影子策略
目的
验证影子一个或多个策略的所有策略。
行动
在操作模式下,输入以下命令:
对于逻辑系统,请输入
show security shadow-policies logical-system lsys-name from-zone from-zone-name to-zone to-zone-name
命令。对于全局策略,请输入
show security shadow-policies logical-system lsys-name global
命令。
root@host> show security shadow-policies from-zone zone-a to-zone zone-b Policies Shadowed policies P1 P3 P1 P4 P2 P5
意义
输出显示隐藏其他策略的所有策略的列表。在此示例中,P1 策略影子 P3 和 P4 策略,P2 策略影子 P5 策略。
验证策略会影子一个或多个策略
目的
验证给定策略是否隐藏在其之后的一个或多个策略。
行动
在操作模式下,输入以下命令:
对于逻辑系统,请输入
show security shadow-policies logical-system lsys-name from-zone from-zone-name to-zone to-zone-name policy policy-name
命令。对于全局策略,请输入
show security shadow-policies logical-system lsys-name global policy policy-name
命令。
root@host> show security shadow-policies from-zone zone-a to-zone zone-b policy P1 Policies Shadowed policies P1 P3 P1 P4
意义
输出显示给定策略隐藏的所有策略。在此示例中,P1 策略隐藏 P3 和 P4 策略。
验证策略是否被一个或多个策略遮蔽
目的
验证给定策略是否被位于其之前的一个或多个策略遮蔽。
行动
在操作模式下,输入以下命令:
对于逻辑系统,请输入
show security shadow-policies logical-system lsys-name from-zone from-zone-name to-zone to-zone-name policy policy-name reverse
命令。对于全局策略,请输入
show security shadow-policies logical-system lsys-name global policy policy-name reverse
命令。
root@host> show security shadow-policies from-zone zone-a to-zone zone-b policy P4 reverse Policies Shadowed policies P1 P4
意义
输出显示由一个或多个策略遮蔽的给定策略。在此示例中,P4 策略由 P1 策略遮蔽。
安全策略故障排除
在路由引擎和数据包转发引擎之间同步策略
问题
描述
安全策略存储在路由引擎和数据包转发引擎中。提交配置时,安全策略将从路由引擎推送到数据包转发引擎。如果路由引擎上的安全策略与数据包转发引擎不同步,则提交配置将失败。如果反复尝试提交,可能会生成核心转储文件。不同步可能是由于:
从路由引擎到数据包转发引擎的策略消息在传输过程中丢失。
路由引擎错误,例如重复使用的策略 UID。
环境
路由引擎和数据包转发引擎中的策略必须同步才能提交配置。但是,在某些情况下,路由引擎和数据包转发引擎中的策略可能不同步,从而导致提交失败。
症状
修改策略配置且策略不同步时,将显示以下错误消息 - error: Warning: policy might be out of sync between RE and PFE <SPU-name(s)> Please request security policies check/resync.
解决 方案
show security policies checksum
如果安全策略不同步,请使用命令显示安全策略校验和值,并使用request security policies resync
命令同步路由引擎和数据包转发引擎中的安全策略配置。
参见
检查安全策略提交失败
验证安全策略提交
问题
描述
执行策略配置提交后,如果您发现系统行为不正确,请使用以下步骤解决此问题:
解决 方案
操作 显示 命令 - 执行安全策略的操作命令,并验证输出中显示的信息是否与预期一致。否则,需要相应地更改配置。
跟踪选项 - 在策略配置中设置
traceoptions
命令。可以根据用户对命令输出的分析show
选择此层次结构下的标志。如果无法确定要使用的标志,则可以使用 flag 选项all
捕获所有跟踪日志。user@host#
set security policies traceoptions <flag all>
您还可以配置可选文件名来捕获日志。
user@host# set security policies traceoptions <filename>
如果在跟踪选项中指定了文件名,则可以在 /var/log/<filename> 中查找日志文件,以确定文件中是否报告了任何错误。(如果未指定文件名,则默认文件名为事件。错误消息指示故障位置和适当的原因。
配置跟踪选项后,必须重新提交导致不正确系统行为的配置更改。
地址名解析缓存的高可用性 (HA) 同步
当系统重新启动、发生 HA 故障切换或进程崩溃时,网络安全进程 (NSD) 将重新启动。在此期间,如果在安全策略中配置了大量域名地址,SRX 系列防火墙会尝试向 DNS 服务器发送请求以获取所有解析的 IP 地址。交换大量 DNS 查询和响应时会消耗大量系统资源。因此,SRX 系列防火墙无法从 DNS 服务器获取响应,并且通讯簿条目中的主机名地址可能无法正确解析。这可能会导致流量丢弃,因为未找到安全策略或会话匹配项。SRX 系列防火墙上的新增强功能通过将 DNS 查询结果缓存到本地 DNS 缓存文件中并定期将 DNS 缓存文件从 HA 主节点同步到 HA 备份节点来解决此问题。DNS 缓存文件存储 IP 地址、域名和 TTL 值。HA 故障切换后,以前的备份节点将成为主节点。由于所有 DNS 缓存结果都在新的主节点上可用,因此安全策略处理将继续进行,并且根据策略规则允许直通流量。
从 Junos OS 19.3R1 版开始,策略 DNS 高速缓存将同步到 HA 主动节点上的一个本地 DNS 缓存文件中,并复制到 HA 备份节点,以在 NSD 重新启动期间抑制 DNS 查询或响应。
要进行同步,将执行以下步骤:
如果策略 DNS 缓存内存内容在此期间发生更改,则策略 DNS 缓存内存每 30 秒同步到位于 /var/db/policy_dns_cache 路径的一个本地策略 DNS 缓存文件中。
在步骤 1 中更新本地 DNS 缓存文件后,本地 DNS 缓存文件会立即从 HA 主节点同步到 HA 备份节点。
同步包括以下内容:
域名
IPv4 地址列表及其 TTL(生存时间)
IPv6 地址列表及其 TTL
当 NSD 重新启动时,它会读取和分析本地 DNS 缓存文件,并将所有缓存条目导入内存。同步可确保在 NSD 重新启动期间抑制 DNS 查询。在 HA 故障切换期间,NSD 会在新的主节点上重新启动,因为在读取策略配置时,DNS 缓存内存中已解析域名的 IP 地址。因此,在 HA 故障切换后,根据安全策略允许新的直通流量,因为域名的所有解析 IP 地址都存在于新主节点的路由引擎和数据包转发引擎的策略内。