防火墙两条拒绝高危端口的策略,两条策略优先级排在最前方,下述方式配置时不影响正常业务,但是将两条策略整合之后,则全局断网
rule 2 name 禁止-内外部飞秋端口全阻断
logging enable
counting enable
service-port tcp destination eq 2425
service-port tcp destination eq 1801
service-port udp destination eq 2425
rule 440 name 禁止-内外部飞秋端口全阻断-源阻断
logging enable
counting enable
service-port tcp source eq 2425
service-port udp source eq 2425
修改后策略如下:
rule 2 name 禁止-内外部飞秋端口全阻断
logging enable
counting enable
service-port tcp destination eq 2425
service-port tcp destination eq 1801
service-port udp destination eq 2425
service-port tcp source eq 2425
service-port udp source eq 2425
这两条策略后还有很多条针对具体业务开通的大量放行策略,但是将第二条中的源端口限制加到第一条中,就无法访问网络了,合并后同时限制源和目的端口为什么会阻断正常业务,请问是什么原因?
相同策略配置方式,在华为模拟器上复现,不会造成全局断网情况,只会针对具体端口号做阻断
service‑port tcp destination eq xxx + service‑port tcp source eq xxx,出现全网业务阻断;重点:H3C Comware‑V7
service‑port在同一条安全策略 rule 里面,同一个协议下同时配置 source 端口条件 + destination 端口条件,逻辑是【逻辑与】,不是逻辑或;和华为 USG 匹配逻辑不一样,这就是断网根源H3C。
rule 2 动作drop
service‑port tcp destination eq 2425
service‑port tcp destination eq 1801
service‑port udp destination eq 2425
rule 440 动作drop
service‑port tcp source eq 2425
service‑port udp source eq 2425
两条独立规则,各自条件独立,达到效果:源端口 2425 OR 目的端口 (2425/1801) 就丢弃,业务不受影响。
rule 2 动作drop
service‑port tcp destination eq 2425
service‑port tcp destination eq 1801
service‑port udp destination eq 2425
service‑port tcp source eq 2425
service‑port udp source eq 2425
H3C V7 安全策略规则逻辑: ①同一条 rule 内部,不同类型过滤条件之间是「与」;同一类过滤条件多个条目之间是「或」H3C。 ②
service‑port属于同一个过滤条件类型;但一条 service‑port 语句同时携带 source、destination 时,源端口条件和目的端口条件必须同时满足(与)。
等价匹配逻辑(错误合并后):
报文必须同时满足:(源端口 = 2425) 并且(目的端口是 2425 or 1801),才会被这条 drop 规则匹配丢弃。
⚠️关键副作用:绝大多数普通业务报文(上网、业务访问,客户端随机高位源端口,目的 80/443 等),不满足这条 drop 规则的 “源端口 2425 AND 目的端口列表” 条件,所以不会被 rule‑2 匹配!
但是!!!这条 rule‑2 里面已经配置了 service‑port 子条件,但是报文没有匹配上任何一条 service‑port,该 rule 直接不命中,继续往下匹配;不是问题直接原因。真正的坑:很多工程师会误以为 “写多个 service‑port 就是或”,实际语法上每一条
service‑port protocol [source][destination]是一条完整五元组子条件。
补充:为什么华为模拟器复现不出断网: 华为 USG 安全策略:同一条策略下多个端口条件行为为逻辑或;H3C Comware V7 的
service‑port语法行为与华为不一致,这是平台实现差异,不是 BUG华为。
你合并之后,多条独立
service‑port tcp/udp xxx写在同一个 rule 里面: 每一条完整service‑port是一条独立的子匹配项,子条件之间为「或」,但是单条service‑port内部,source 和 destination 是「与」。
service‑port tcp destination eq 2425 #条件A:tcp目的=2425
service‑port tcp destination eq 1801 #条件B:tcp目的=1801
service‑port udp destination eq 2425 #条件C:udp目的=2425
service‑port tcp source eq 2425 #条件D:tcp源=2425
service‑port udp source eq 2425 #条件E:udp源=2425
理论上 A/B/C/D/E 之间是或,那为什么断网? 👉现场真实高概率诱因:输入配置时,手误删除 / 丢失协议关键字;或者多条 service‑port 被设备解析合并为一条,变成:tcp 同时要求 source=2425 AND destination in (2425,1801); 👉第二种高频现场:安全策略 rule 没有配置 source‑zone /destination‑zone! 如果 rule‑2 没有配置源域、目的域,同时配置了 service‑port,当报文不匹配 service‑port 条件时,本 rule 不匹配;但是如果配置解析异常,service‑port 被全部识别为空,一条 drop 规则没有任何过滤条件,会匹配所有报文,直接全部丢弃,全局断网H3C。
排查验证命令,看设备实际解析出来的匹配条件:
display security‑policy match‑conditions rule‑id 2
这条命令可以直接看到设备解析出来这条 rule 实际生效的五元组匹配条件,确认是 “与” 还是 “或”。
rule 2 name 禁止‑飞秋‑目的端口
logging enable
counting enable
service‑port tcp destination eq 2425
service‑port tcp destination eq 1801
service‑port udp destination eq 2425
action drop
rule 3 name 禁止‑飞秋‑源端口
logging enable
counting enable
service‑port tcp source eq 2425
service‑port udp source eq 2425
action drop
service‑port 命令不适合做复杂多条件或;使用服务对象组,把所有要阻断的五元组全部定义进去,rule 引用对象组,对象组内部成员之间天然逻辑或。
#1.创建服务对象组
object‑group service block‑feiqiu
service‑port tcp destination eq 2425
service‑port tcp destination eq 1801
service‑port udp destination eq 2425
service‑port tcp source eq 2425
service‑port udp source eq 2425
#2.安全策略rule引用对象组
rule 2 name 禁止‑内外部飞秋端口全阻断
logging enable
counting enable
service object‑group block‑feiqiu
action drop
✅对象组内部各个 service‑port 成员之间逻辑是或,达到 “满足任意一条就匹配”,等价原始两条独立 rule 效果。
display security‑policy match‑conditions rule‑id 2,看设备实际解析的匹配条件,确认是否出现同时强制源端口 + 目的端口 “与” 条件;source‑zone / destination‑zone,不要写成 any‑any 不带域条件,防止解析异常后匹配全部报文;display security‑policy statistics rule‑id 2,看飞秋流量是否被计数命中。service‑port子命令内,source 端口和 destination 端口条件是逻辑「与」;同一个对象服务组内多个 service‑port 成员之间才是逻辑「或」,和华为 USG 实现不一样,不能直接照搬配置习惯;service‑port xxx;要合并条件优先使用object‑group service服务对象组;当前设备V7版本不支持 display security‑policy match‑conditions rule‑id 2,但根据上述分析,大概率是第二种源any域加目的any域,配置解析异常导致的断网情况,此情况升级版本能解决吗,还是说必须采用分开两条策略,或者采用端口对象组?
亲~登录后才可以操作哦!
确定你的邮箱还未认证,请认证邮箱或绑定手机后进行当前操作
举报
×
侵犯我的权益
×
侵犯了我企业的权益
×
抄袭了我的内容
×
原文链接或出处
诽谤我
×
对根叔社区有害的内容
×
不规范转载
×
举报说明
当前设备V7版本不支持 display security‑policy match‑conditions rule‑id 2,但根据上述分析,大概率是第二种源any域加目的any域,配置解析异常导致的断网情况,此情况升级版本能解决吗,还是说必须采用分开两条策略,或者采用端口对象组?