Я пробовал искать это; Я обнаружил, что многие люди спрашивают, но мне не удалось найти работающее (для меня) решение.
У меня есть приложение, которое регистрирует каждое соединение в настраиваемом файле журнала.
Когда fail2ban обнаруживает более 10 подключений за 5 секунд с одного и того же ip, он банит «злоумышленника» на 600 секунд.
Бывает, что злоумышленник может установить 11/20 подключений до того, как его забанят (и это нормально).
После этого я получаю xxx.xxx.xxx.xxx already banned
сообщения в fail2ban.log
для каждой строки> 11. Есть одно из этих сообщений каждую секунду; это похоже на то, что fail2ban занимает 1 секунду для каждой строки журнала с одинаковым IP после бана.
Но пока что у меня есть еще один злоумышленник с другого IP-адреса, и он успешно подключается еще раз (например, 50), потому что fail2ban анализирует строки журнала с предыдущего IP-адреса (1 в секунду).
И так далее ... Пока fail2ban обрабатывает последние строки журнала, новые злоумышленники устанавливают тысячи соединений. Это происходит постепенно, и только первые несколько злоумышленников будут заблокированы.
У меня есть fail2ban, который СЕЙЧАС анализирует строки, которые были связаны с соединениями, сделанными 1 или более часов назад.