PERF_RULES是一个集合,其中填充了达到SecRulePerfTime定义的性能阈值的规则。该集合包含处理单个规则所花费的时间(以微秒为单位)。可以通过规则ID访问集合中的各个项目。


版本:2.7.0-2.9.x


libModSecurity支持:TBI


SecRulePerfTime 100


SecRule FILES_TMPNAMES "@inspectFile /path/to/util/runav.pl" \

 "phase:2,id:10001,deny,log,msg:'Virus scan detected an error.'"


SecRule   &PERF_RULES "@eq 0"    "phase:5,id:95000,\

 pass,log,msg:'All rules performed below processing time limit.'"

SecRule   PERF_RULES  "@ge 1000" "phase:5,id:95001,pass,log,\

 msg:'Rule %{MATCHED_VAR_NAME} spent at least 1000 usec.'"

SecAction "phase:5,id:95002,pass,log, msg:'File inspection took %{PERF_RULES.10001} usec.'"


id为10001的规则定义了外部文件检查规则。id为95000的规则检查PERF_RULES集合的大小。如果集合为空,则会在日志文件中写入注释。对PERF_RULES集合中的每个项目执行规则95001。因此,每个项目都要检查1000微秒的限制。如果规则花费了至少这段时间,则会将包含规则标识的注释写入日志文件。最终规则95002记录了规则10001(病毒检查)所花费的时间。



Created with the Personal Edition of HelpNDoc: Easy EPub and documentation editor