Очень новичок в 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: 2, deny, status: 403, log, auditlog? Тогда любой SecRule ниже, который следует за этим действием, верно?
Я думаю, вам лучше использовать 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'"
Я почти уверен, что это сработает, но еще не тестировал. Что касается вашего вопроса о различиях между этими двумя типами, я думаю, что их нет.