如何允许/阻止ICMP错误报告数据包
28020
Created On 08/19/21 08:30 AM - Last Modified 05/17/23 03:28 AM
Objective
该文档解释了可用于阻止或允许的选项ICMP错误代码数据包。
阻止ICMP查询数据包请参考以下文章。
SECURITY POLICY TO ALLOW /DENY A CERTAIN ICMP TYPE
ICMP 错误报告数据包使用类型 3、4、5、11、12。
ICMP 查询数据包使用类型 0、8、13、14。
这些数据包中嵌入了报告错误的实际数据包。
笔记 :如果实施场景 1 的解决方案,则所有ICMP错误报告数据包将被丢弃。 因此,同时使用这两种解决方案没有任何好处。
例子 :
如果有一个TCP SYN数据包在 L3 设备(路由器/firewall ) 并且没有任何方式转发它,它会生成一个ICMP类型 3 数据包
它还将封装TCP SYN包里面。
然后发送这个ICMP向源报告数据包时出错。
场景 1 : (为了ICMP带有关联会话的错误报告数据包)
如果关联会话存在:
- 这TCP SYN数据包通过PA Firewall.
- 然后下一跳发回一个ICMP报错包(Destination Unreachable)
- PA firewall 将检查内部封装的数据包并尝试找到一个会话。
- 自从TCP SYN数据包已经创建了一个会话,这ICMP错误数据包将匹配该会话。
- 这ICMP无法使用安全性阻止错误报告数据包Policy在这种情况下。 必须如下所述使用区域保护配置文件。
- 请注意,在该方法中,所有ICMP错误报告类型将被阻止,并且无法选择类型。
场景 2 : (为了ICMP没有关联会话的错误报告数据包)
如果关联会话不存在:
- 这TCP SYN数据包没有经过firewall或者会话已经关闭。
- 有一个ICMP ERROR收到的数据包PA firewall.
- 由于没有关联的会话存在于firewall, 一个新的ICMP会话将为此创建ICMP报错包。
- 可以使用具有签名和安全性的自定义应用程序来阻止此数据包Policy.
Environment
PA firewall 与任何PANOS
Procedure
阻塞ICMP ERROR REPORTING场景 1 中的数据包:
安全policy不能用于阻止数据包,因为ICMP ERROR数据包将匹配内部数据包的关联会话,并将在同一会话上转发。
因此,如果所有ICMP必须阻止错误报告数据包,唯一的方法是使用区域保护配置文件。
1. 配置区域保护配置文件。
网络 > 网络配置文件 > 区域保护 > 添加 > <名称>
基于数据包的攻击防护 >ICMP掉落 > 丢弃ICMP嵌入错误消息(启用)>OK
2. 在安全区域配置此区域保护配置文件
网络 > 区域 > 选择区域 > 区域保护配置文件 > 选择上面配置的配置文件
然后提交配置。
阻塞ICMP ERROR REPORTING场景 2 中的数据包。
创建自定义应用程序ICMP-错误代码
1. 对象 > 应用程序 > 添加 > 名称:ICMP-错误代码
2. 选择
类别: 联网
子类别:路由
技术: 网络协议
3. 进阶 >ICMP类型 > 类型3,4,5,11,12
对 3、4、5、11、12 中的每个值重复步骤 4 和 5
4. 签名 > 签名名称> 错误代码签名 >添加OR健康)状况
操作员: 等于
语境: icmp-rsp-类型
价值: 3
5. 点击OK
6. 添加 3、4、5、11、12 中所有值的签名后,单击OK
7. 配置一个安全policy具有所需的参数和应用程序 > 添加ICMP-错误代码
8. 设置此证券的操作Policy到放弃或允许
9. 移动Policy到顶部并提交。
确认 :
场景 1 : (使用区域保护)
一旦由于设置而丢弃数据包,下面的全局计数器将开始递增。
> show counter global filter packet-filter yes delta yes Global counters: Elapsed time since last sampling: 33.725 seconds name value rate severity category aspect description -------------------------------------------------------------------------------- flow_dos_pf_icmperr 5 0 drop flow dos Packets dropped: Zone protection option 'discard-icmp-error'
场景 2 : (使用自定义应用程序签名)
检查会话日志以查看是否在安全情况下应用了应用程序覆盖policy被设置为允许。
该应用程序应显示为ICMP-错误代码
admin@PA5260(active-primary)> show session all filter source 10.10.10.2 -------------------------------------------------------------------------------- ID Application State Type Flag Src[Sport]/Zone/Proto (translated IP[Port])Vsys Dst[Dport]/Zone (translated IP[Port]) -------------------------------------------------------------------------------- 17 ICMP-Error-Code ACTIVE FLOW 10.10.10.2[3]/untrust/1 (10.10.10.2[3]) vsys1 10.3.1.146[1]/trust (10.3.1.146[1])
可以检查流量日志以查看是否有基于允许或拒绝的数据包Policy姓名。