Mod_security问题和User-Agenttypes

对mod_sec非常新颖

我想阻止一个UAstring,我注意到有几种types:

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阶段:2,拒绝,状态:403,日志,auditlog在那之前? 那么下面的那个SecRule就是这个行为吧?

我想你应该使用一个SecDefaultAction来传递,然后使用perl用户代理filter,只允许这个。 (如果这就是你真正想要做的!)

 SecDefaultAction phase:2,pass,status:403,log,auditlog SecRule REQUEST_HEADERS:User-Agent "!perl" "phase:2,deny,msg:'Perl based user agent identified'" 

我很确定这会工作,但还没有testing。 而关于你们有关这两种types之间差异的问题,我想没有。