此产品的文档集力求使用非歧视性语言。在本文档集中,非歧视性语言是指不隐含针对年龄、残障、性别、种族身份、族群身份、性取向、社会经济地位和交叉性的歧视的语言。由于产品软件的用户界面中使用的硬编码语言、基于 RFP 文档使用的语言或引用的第三方产品使用的语言,文档中可能无法确保完全使用非歧视性语言。 深入了解思科如何使用包容性语言。
思科采用人工翻译与机器翻译相结合的方式将此文档翻译成不同语言,希望全球的用户都能通过各自的语言得到支持性的内容。 请注意:即使是最好的机器翻译,其准确度也不及专业翻译人员的水平。 Cisco Systems, Inc. 对于翻译的准确性不承担任何责任,并建议您总是参考英文原始文档(已提供链接)。
本文档介绍Firepower威胁防御(FTD)预过滤器策略的配置和操作。
本文档没有任何特定的要求。
本文档中的信息基于以下软件和硬件版本:
本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始(默认)配置。如果您的网络处于活动状态,请确保您了解所有命令的潜在影响。
预过滤器策略是6.1版本中引入的一项功能,主要有三个用途:
预过滤器策略可以使用允许FTD根据内部和/或外部IP报头隧道流量进行过滤的隧道规则类型。在撰写本文时,隧道流量是指:
考虑如图所示的GRE隧道。
当您使用GRE隧道从R1 ping R2时,流量会通过防火墙,如图所示。
如果防火墙是ASA设备,它会检查外部IP报头,如图所示。
ASA# show conn GRE OUTSIDE 192.168.76.39:0 INSIDE 192.168.75.39:0, idle 0:00:17, bytes 520, flags
如果防火墙是FirePOWER设备,它会检查内部IP报头,如图所示。
使用预过滤器策略,FTD设备可以根据内部报头和外部报头匹配流量。
要点:
设备 |
支票 |
ASA |
外部IP |
Snort |
内部IP |
FTD |
外部(预过滤器)+内部IP(访问控制策略(ACP)) |
预过滤器策略可以使用可提供早期访问控制并允许流完全绕过Snort引擎的预过滤器规则类型,如图所示。
任务要求:
验证默认预过滤器策略
解决方案:
步骤1:导航到策略>访问控制>预过滤器。默认预过滤器策略已存在,如图所示。
第二步:选择Edit以查看策略设置,如图所示。
第三步:预过滤器策略已附加到访问控制策略,如图所示。
预过滤器规则添加在ACL顶部:
firepower# show access-list access-list cached ACL log flows: total 0, denied 0 (deny-flow-max 4096) alert-interval 300 access-list CSM_FW_ACL_; 5 elements; name hash: 0x4a69e3f3 access-list CSM_FW_ACL_ line 1 remark rule-id 9998: PREFILTER POLICY: Default Tunnel and Priority Policy access-list CSM_FW_ACL_ line 2 remark rule-id 9998: RULE: DEFAULT TUNNEL ACTION RULE access-list CSM_FW_ACL_ line 3 advanced permit ipinip any any rule-id 9998 (hitcnt=0) 0xf5b597d6 access-list CSM_FW_ACL_ line 4 advanced permit 41 any any rule-id 9998 (hitcnt=0) 0x06095aba access-list CSM_FW_ACL_ line 5 advanced permit gre any any rule-id 9998 (hitcnt=5) 0x52c7a066 access-list CSM_FW_ACL_ line 6 advanced permit udp any any eq 3544 rule-id 9998 (hitcnt=0) 0xcf6309bc
任务要求:
阻止GRE隧道内通过隧道传输的ICMP流量。
解决方案:
步骤1:如果应用这些ACP,您可以看到Internet控制消息协议(ICMP)流量被阻止,无论它是否通过GRE隧道(如图所示)。
R1# ping 192.168.76.39 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 192.168.76.39, timeout is 2 seconds: ..... Success rate is 0 percent (0/5)
R1# ping 10.0.0.2 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 10.0.0.2, timeout is 2 seconds: ..... Success rate is 0 percent (0/5)
在这种情况下,您可以使用预过滤器策略来满足任务要求。其逻辑如下:
从架构角度来看,根据LInux NAelly (LINA)预过滤器规则检查数据包,然后Snort预过滤器规则和ACP,最后Snort指示LINA丢弃。第一个数据包通过FTD设备。
步骤1:定义隧道流量的标记。
导航到策略>访问控制>预过滤器,然后创建新的预过滤器策略。请记住,默认预过滤器策略不可编辑,如图所示。
在预过滤器策略内,可以定义两种类型的规则:
可以将这两个功能视为可在预过滤器策略中配置的完全不同的功能。
对于此任务,必须定义隧道规则,如图所示。
关于操作:
操作 |
描述 |
分析 |
在LINA之后,Snort引擎会检查流量。或者,可以为隧道流量分配隧道标记。 |
阻止 |
流被LINA阻止。要检查外部报头。 |
快速路径 |
该流程仅由LINA处理,无需使用Snort引擎。 |
第二步:定义已标记流量的访问控制策略。
虽然最初无法非常直观地显示隧道标记,但访问控制策略规则可以将隧道标记用作源区域。导航到策略>访问控制,然后创建一个为标记流量阻止ICMP的规则,如图所示。
注意:新的预过滤器策略附加到访问控制策略。
验证:
在LINA和CLISH上启用捕获:
firepower# show capture capture CAPI type raw-data trace interface inside [Capturing - 152 bytes] capture CAPO type raw-data trace interface outside [Capturing - 152 bytes]
> capture-traffic Please choose domain to capture traffic from: 0 - br1 1 - Router Selection? 1 Please specify tcpdump options desired. (or enter '?' for a list of supported options) Options: -n
从R1,尝试ping远程GRE隧道终端。ping操作失败:
R1# ping 10.0.0.2 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 10.0.0.2, timeout is 2 seconds: ..... Success rate is 0 percent (0/5)
CLISH捕获显示,第一个回应请求经过FTD,且应答被阻止:
Options: -n 18:21:07.759939 IP 192.168.75.39 > 192.168.76.39: GREv0, length 104: IP 10.0.0.1 > 10.0.0.2: ICMP echo request, id 65, seq 0, length 80 18:21:07.759939 IP 192.168.76.39 > 192.168.75.39: GREv0, length 104: IP 10.0.0.2 > 10.0.0.1: ICMP echo reply, id 65, seq 0, length 80 18:21:09.759939 IP 192.168.75.39 > 192.168.76.39: GREv0, length 104: IP 10.0.0.1 > 10.0.0.2: ICMP echo request, id 65, seq 1, length 80 18:21:11.759939 IP 192.168.75.39 > 192.168.76.39: GREv0, length 104: IP 10.0.0.1 > 10.0.0.2: ICMP echo request, id 65, seq 2, length 80 18:21:13.759939 IP 192.168.75.39 > 192.168.76.39: GREv0, length 104: IP 10.0.0.1 > 10.0.0.2: ICMP echo request, id 65, seq 3, length 80 18:21:15.759939 IP 192.168.75.39 > 192.168.76.39: GREv0, length 104: IP 10.0.0.1 > 10.0.0.2: ICMP echo request, id 65, seq 4, length 80
LINA捕获可确认这一点:
> show capture CAPI | include ip-proto-47 102: 18:21:07.767523 192.168.75.39 > 192.168.76.39: ip-proto-47, length 104 107: 18:21:09.763739 192.168.75.39 > 192.168.76.39: ip-proto-47, length 104 111: 18:21:11.763769 192.168.75.39 > 192.168.76.39: ip-proto-47, length 104 115: 18:21:13.763784 192.168.75.39 > 192.168.76.39: ip-proto-47, length 104 120: 18:21:15.763830 192.168.75.39 > 192.168.76.39: ip-proto-47, length 104 > > show capture CAPO | include ip-proto-47 93: 18:21:07.768133 192.168.75.39 > 192.168.76.39: ip-proto-47, length 104 94: 18:21:07.768438 192.168.76.39 > 192.168.75.39: ip-proto-47, length 104
启用CLISH firewall-engine-debug,清除LINA ASP丢弃计数器并执行相同的测试。CLISH调试显示,对于Echo-Request,您已匹配预过滤器规则,对于Echo-Reply,则显示ACP规则:
10.0.0.1-8 > 10.0.0.2-0 1 AS 1 I 0 New session 10.0.0.1-8 > 10.0.0.2-0 1 AS 1 I 0 uses prefilter rule 268434441 with tunnel zone 1 10.0.0.1-8 > 10.0.0.2-0 1 AS 1 I 0 Starting with minimum 0, id 0 and SrcZone first with zones 1 -> -1, geo 0 -> 0, vlan 0, sgt tag: 65535, svc 0, payload 0, client 0, misc 0, user 9999997, icmpType 8, icmpCode 0 10.0.0.1-8 > 10.0.0.2-0 1 AS 1 I 0 pending rule order 3, 'Block ICMP', AppId 10.0.0.1-8 > 10.0.0.2-0 1 AS 1 I 0 uses prefilter rule 268434441 with tunnel zone 1 10.0.0.1-8 > 10.0.0.2-0 1 AS 1 I 0 Starting with minimum 0, id 0 and SrcZone first with zones 1 -> -1, geo 0 -> 0, vlan 0, sgt tag: 65535, svc 3501, payload 0, client 2000003501, misc 0, user 9999997, icmpType 0, icmpCode 0 10.0.0.1-8 > 10.0.0.2-0 1 AS 1 I 0 match rule order 3, 'Block ICMP', action Block 10.0.0.1-8 > 10.0.0.2-0 1 AS 1 I 0 deny action
ASP丢弃表明Snort丢弃了数据包:
> show asp drop Frame drop: No route to host (no-route) 366 Reverse-path verify failed (rpf-violated) 2 Flow is denied by configured rule (acl-drop) 2 Snort requested to drop the frame (snort-drop) 5
在Connection Events中,您可以看到匹配的预过滤器策略和规则,如图所示。
网络图
任务要求:
解决方案:
步骤1:阻止所有流量的访问控制策略如图所示。
第二步:添加一个预过滤器规则,将Fastpath作为源网络192.168.75.0/24的操作,如图所示。
第三步:结果如图所示。
第四步:保存和部署。
在两个FTD接口上启用带跟踪的捕获:
firepower# capture CAPI int inside trace match icmp any any firepower# capture CAPO int outsid trace match icmp any any
尝试通过FTD从R1 (192.168.75.39) ping R2 (192.168.76.39)。Ping失败:
R1# ping 192.168.76.39 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 192.168.76.39, timeout is 2 seconds: ..... Success rate is 0 percent (0/5)
内部接口上的捕获显示:
firepower# show capture CAPI 5 packets captured 1: 23:35:07.281738 192.168.75.39 > 192.168.76.39: icmp: echo request 2: 23:35:09.278641 192.168.75.39 > 192.168.76.39: icmp: echo request 3: 23:35:11.279251 192.168.75.39 > 192.168.76.39: icmp: echo request 4: 23:35:13.278778 192.168.75.39 > 192.168.76.39: icmp: echo request 5: 23:35:15.279282 192.168.75.39 > 192.168.76.39: icmp: echo request 5 packets shown
第一个数据包(echo-request)的跟踪显示(重要内容突出显示):
firepower# show capture CAPI packet-number 1 trace
捕获5个数据包
1:23:35:07.281738 192.168.75.39 > 192.168.76.39:icmp:回应请求
阶段:1
类型:捕获
子类型:
结果:允许
Config :
其它信息:
MAC访问列表
阶段:2
类型:ACCESS-LIST
子类型:
结果:允许
Config :
隐式规则
其它信息:
MAC访问列表
阶段:3
类型:ROUTE-LOOKUP
子类型:解析出口接口
结果:允许
Config :
其它信息:
发现下一跳192.168.76.39使用出口ifc outside
阶段:4
类型:ACCESS-LIST
子类型:日志
结果:允许
Config :
access-group CSM_FW_ACL_ global
access-list CSM_FW_ACL_ advanced trust ip 192.168.75.0 255.255.255.0 any rule-id 268434448 event-log both
access-list CSM_FW_ACL_ remark rule-id 268434448: PREFILTER POLICY: Prefilter_Policy1
access-list CSM_FW_ACL_ remark rule-id 268434448: RULE: Fastpath_src_192.168.75.0/24
其它信息:
阶段:5
类型:CONN-SETTINGS
子类型:
结果:允许
Config :
class-map class-default
match any
policy-map global_policy
class class-default
set connection advanced-options UM_STATIC_TCP_MAP
service-policy global_policy global
其它信息:
阶段:6
类型:NAT
子类型:每会话
结果:允许
Config :
其它信息:
阶段:7
类型:IP选项
子类型:
结果:允许
Config :
其它信息:
阶段:8
类型:INSPECT
子类型:np-inspect
结果:允许
Config :
class-map inspection_default
match default-inspection-traffic
policy-map global_policy
class inspection_default
inspect icmp
service-policy global_policy global
其它信息:
阶段:9
类型:INSPECT
子类型:np-inspect
结果:允许
Config :
其它信息:
阶段:10
类型:NAT
子类型:每会话
结果:允许
Config :
其它信息:
阶段:11
类型:IP选项
子类型:
结果:允许
Config :
其它信息:
阶段:12
类型:流创建
子类型:
结果:允许
Config :
其它信息:
使用ID 52创建新流,将数据包分派到下一个模块
阶段:13
类型:ACCESS-LIST
子类型:日志
结果:允许
Config :
access-group CSM_FW_ACL_ global
access-list CSM_FW_ACL_ advanced trust ip 192.168.75.0 255.255.255.0 any rule-id 268434448 event-log both
access-list CSM_FW_ACL_ remark rule-id 268434448: PREFILTER POLICY: Prefilter_Policy1
access-list CSM_FW_ACL_ remark rule-id 268434448: RULE: Fastpath_src_192.168.75.0/24
其它信息:
阶段:14
类型:CONN-SETTINGS
子类型:
结果:允许
Config :
class-map class-default
match any
policy-map global_policy
class class-default
set connection advanced-options UM_STATIC_TCP_MAP
service-policy global_policy global
其它信息:
阶段:15
类型:NAT
子类型:每会话
结果:允许
Config :
其它信息:
阶段:16
类型:IP选项
子类型:
结果:允许
Config :
其它信息:
阶段:17
类型:ROUTE-LOOKUP
子类型:解析出口接口
结果:允许
Config :
其它信息:
发现下一跳192.168.76.39使用出口ifc outside
阶段:18
类型:ADJACENCY-LOOKUP
子类型:下一跳和邻接
结果:允许
Config :
其它信息:
活动邻接
下一跳mac地址0004.deab.681b命中140372416161507
阶段:19
类型:捕获
子类型:
结果:允许
Config :
其它信息:
MAC访问列表
结果:
输入接口:外部
input-status: up
input-line-status: up
output-interface:外部
输出状态:up
output-line-status: up
操作:允许
显示1个数据包
firepower#
外部接口上的捕获显示:
firepower# show capture CAPO 10 packets captured 1: 23:35:07.282044 192.168.75.39 > 192.168.76.39: icmp: echo request 2: 23:35:07.282227 192.168.76.39 > 192.168.75.39: icmp: echo reply 3: 23:35:09.278717 192.168.75.39 > 192.168.76.39: icmp: echo request 4: 23:35:09.278962 192.168.76.39 > 192.168.75.39: icmp: echo reply 5: 23:35:11.279343 192.168.75.39 > 192.168.76.39: icmp: echo request 6: 23:35:11.279541 192.168.76.39 > 192.168.75.39: icmp: echo reply 7: 23:35:13.278870 192.168.75.39 > 192.168.76.39: icmp: echo request 8: 23:35:13.279023 192.168.76.39 > 192.168.75.39: icmp: echo reply 9: 23:35:15.279373 192.168.75.39 > 192.168.76.39: icmp: echo request 10: 23:35:15.279541 192.168.76.39 > 192.168.75.39: icmp: echo reply 10 packets shown
对返回数据包的跟踪显示,该数据包与当前流(52)匹配,但被ACL阻止:
firepower# show capture CAPO packet-number 2 trace 10 packets captured 2: 23:35:07.282227 192.168.76.39 > 192.168.75.39: icmp: echo reply Phase: 1 Type: CAPTURE Subtype: Result: ALLOW Config: Additional Information: MAC Access list Phase: 2 Type: ACCESS-LIST Subtype: Result: ALLOW Config: Implicit Rule Additional Information: MAC Access list Phase: 3 Type: FLOW-LOOKUP Subtype: Result: ALLOW Config: Additional Information: Found flow with id 52, uses current flow Phase: 4 Type: ACCESS-LIST Subtype: log Result: DROP Config: access-group CSM_FW_ACL_ global access-list CSM_FW_ACL_ advanced deny ip any any rule-id 268434432 event-log flow-start access-list CSM_FW_ACL_ remark rule-id 268434432: ACCESS POLICY: ACP_5506-1 - Default/1 access-list CSM_FW_ACL_ remark rule-id 268434432: L4 RULE: DEFAULT ACTION RULE Additional Information: Result: input-interface: outside input-status: up input-line-status: up Action: drop Drop-reason: (acl-drop) Flow is denied by configured rule
第五步:为返回流量添加另一个预过滤器规则。结果如图所示。
现在跟踪您看到的返回数据包(重要信息突出显示):
firepower# show capture CAPO packet-number 2 trace
捕获10个数据包
2: 00:01:38.873123 192.168.76.39 > 192.168.75.39: icmp:应答
阶段:1
类型:捕获
子类型:
结果:允许
Config :
其它信息:
MAC访问列表
阶段:2
类型:ACCESS-LIST
子类型:
结果:允许
Config :
隐式规则
其它信息:
MAC访问列表
阶段:3
类型:FLOW-LOOKUP
子类型:
结果:允许
Config :
其它信息:
找到ID为62的流,使用当前流
阶段:4
类型:ACCESS-LIST
子类型:日志
结果:允许
Config :
access-group CSM_FW_ACL_ global
access-list CSM_FW_ACL_ advanced trust ip any 192.168.75.0 255.255.255.0 rule-id 268434450 event-log both
access-list CSM_FW_ACL_ remark rule-id 268434450: PREFILTER POLICY: Prefilter_Policy1
access-list CSM_FW_ACL_ remark rule-id 268434450: RULE: Fastpath_dst_192.168.75.0/24
其它信息:
阶段:5
类型:CONN-SETTINGS
子类型:
结果:允许
Config :
class-map class-default
match any
policy-map global_policy
class class-default
set connection advanced-options UM_STATIC_TCP_MAP
service-policy global_policy global
其它信息:
阶段:6
类型:NAT
子类型:每会话
结果:允许
Config :
其它信息:
阶段:7
类型:IP选项
子类型:
结果:允许
Config :
其它信息:
阶段:8
类型:ROUTE-LOOKUP
子类型:解析出口接口
结果:允许
Config :
其它信息:
发现下一跳192.168.75.39在内部使用出口ifc
阶段:9
类型:ADJACENCY-LOOKUP
子类型:下一跳和邻接
结果:允许
Config :
其它信息:
活动邻接
下一跳mac地址c84c.758d.4981命中140376711128802
阶段:10
类型:捕获
子类型:
结果:允许
Config :
其它信息:
MAC访问列表
结果:
input-interface:内部
input-status: up
input-line-status: up
output-interface:内部
输出状态:up
output-line-status: up
操作:允许
使用本部分可确认配置能否正常运行。
在各自的任务部分中解释了验证过程。
当前没有故障排除此配置的特定可用资料。
版本 | 发布日期 | 备注 |
---|---|---|
4.0 |
12-May-2023 |
已删除PII。
添加了Alt文本。
更新了标题、简介、SEO、机器翻译、德语和格式。 |
1.0 |
29-Jan-2018 |
初始版本 |