modsecurity: SecRule REQUEST_METHOD "! ^ OPTIONS $" "t: none" - PullRequest
2 голосов
/ 15 октября 2011

вопрос безопасности ...

Что тест REQUEST_METHOD делает в следующем? Появляется дважды.

SecRule REQUEST_METHOD "! ^ OPTIONS $" "t: none"


SecRule &REQUEST_HEADERS:Accept "@eq 0" \
    "chain,phase:2,skip:1,t:none,deny,log,auditlog,status:400,msg:'Request Missing an Accept Header', severity:'2',id:'960015',tag:'PROTOCOL_VIOLATION/MISSING_HEADER'"
SecRule REQUEST_METHOD "!^OPTIONS$" "t:none"
SecRule REQUEST_HEADERS:Accept "^$" \
    "chain,phase:2,t:none,deny,log,auditlog,status:400,msg:'Request Missing an Accept Header', severity:'2',id:'960015',tag:'PROTOCOL_VIOLATION/MISSING_HEADER'"
SecRule REQUEST_METHOD "!^OPTIONS$" "t:none"
SecRule &REQUEST_HEADERS:User-Agent "@eq 0" \
    "skip:1,phase:2,t:none,deny,log,auditlog,status:400,msg:'Request Missing a User Agent Header',id:'960009',tag:'PROTOCOL_VIOLATION/MISSING_HEADER',severity:'4'"
SecRule REQUEST_HEADERS:User-Agent "^$" \
    "t:none,deny,log,auditlog,status:400,msg:'Request Missing a User Agent Header',id:'960009',tag:'PROTOCOL_VIOLATION/MISSING_HEADER',severity:'4'"
SecMarker 969999

Пожалуйста, не объясняйте все это, я могу читать все остальное. Похоже, что тест REQUEST_METHOD - это своего рода вуду ...

Между прочим, тест на Принятие неверен. Опция Принять не является обязательной для HTTP.

1 Ответ

3 голосов
/ 31 мая 2012

Хотя правило SecRule REQUEST_METHOD "! ^ OPTIONS $" "t: none" появлялось дважды, но каждый раз оно связывалось с другим правилом.

Цепочка - это действие в ModSecurity, которое объединяет два или более Правил в единое Правило.

Правило 1 теперь:

SecRule & REQUEST_HEADERS: принять "@eq 0" \ " цепочка , фаза: 2, пропуск: 1, t: нет, запретить, журнал, журнал аудита, статус: 400, сообщение:« Запрос отсутствует заголовок принятия », серьезность:« 2 », идентификатор:« 960015' , тег: 'PROTOCOL_VIOLATION / MISSING_HEADER» SecRule REQUEST_METHOD "! ^ OPTIONS $" "t: none"

Правило 2 теперь

SecRule REQUEST_HEADERS: принять "^ $" \ " цепочка , фаза: 2, t: нет, отказать, журнал, Auditlog, статус: 400, сообщение:" Запрос отсутствует заголовок принятия ", серьезность:" 2 ", идентификатор:" 960015 ", тег : 'PROTOCOL_VIOLATION / MISSING_HEADER» SecRule REQUEST_METHOD "! ^ OPTIONS $" "t: none"

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...