Я пытаюсь создать защиту от перебора с помощью fail2ban
failregex = ... 200 ...
Это не обязательно попытка грубой силы, потому что 200 — это обычный ответ, что означает «ОК». Обычно такие коды, как 401 или 403, сигнализируют о несанкционированных попытках, или, если служба отвечает кодом 200, она записывает дополнительную запись в журнал. какой-нибудь лог-файл или журнал (не обязательно в доступ.log
). Но и другие вещи здесь весьма сомнительны, не говоря уже о том, что теоретически можно переборщить чужими методами, т.к. ПУБЛИКОВАТЬ
.
но с моим тестовым перебором сайта с 7+ неудачными входами в систему ...
Строки: 106 строк, 0 проигнорировано, 3 совпало, 103 пропущено
Вы не предоставили всю выдержку из журнала, соответствующую этим 7 попыткам.
И fail2ban-regex
найти только 3 совпадения, связанные с вашим отказоустойчивое выражение
(что совсем нехорошо, например, без привязки и с универсальными, впрочем, ничего - спичек там нет). Вероятно, он регистрирует что-то другое в виде одной строки журнала из вашего примера, потому что ваш RE в основном соответствует этому.
Таким образом, пожалуйста, обновите свой вопрос, указав всю выдержку из журнала, соответствующую всем 7 попыткам, которые вы предприняли.
И последнее, но не менее важное: намного лучше RE мог бы выглядеть так:
failregex = ^\s*<ADDR>:\d+ [^"]*"[A-Z]+ /login\b[^"]*" 200\b
Однако я все еще не уверен, что вы действительно будете использовать это (из-за 200-й проблемы и всего, о чем я упоминал выше).
Если это был только тест (с 3 строками лога) и вы действительно видите все 7 строк лога в реальном логе, вы можете проверить это FAQ по возможным причинам почему fail2ban не банит.
Например, это может быть неправильно серверная часть
(установите его на авто
для мониторинга, связанного с файлами), или неподходящее действие бана, или какая-то ошибка на стороне fail2ban (проверьте также fail2ban.log).