对 mod_sec 非常陌生
我想阻止 UA 字符串,我注意到有几种类型:
SecRule HTTP_User-Agent
SecRule REQUEST_HEADERS:User-Agent
它们之间真正的区别是什么?
我的区块:
SecRule REQUEST_HEADERS:User-Agent "perl" "phase:2,pass,msg:'Perl based user agent identified'"
我是否需要在此之前设置 SecDefaultAction phase:2,deny,status:403,log,auditlog?然后下面的任何 SecRule 都会遵循该操作,对吗?
答案1
我认为您应该使用 SecDefaultAction 进行传递,然后使用有关 perl 用户代理的过滤器,只允许这一个。(如果这就是您真正想要做的!)
SecDefaultAction phase:2,pass,status:403,log,auditlog
SecRule REQUEST_HEADERS:User-Agent "!perl" "phase:2,deny,msg:'Perl based user agent identified'"
我很确定这会起作用,但还没有测试过。至于你问的两种类型之间的区别,我认为没有区别。