Мы используем fail2ban на наших веб-серверах, чтобы блокировать IP-адреса, которые неоднократно не проходят аутентификацию должным образом. Наше обычное время запрета - один час; IP-адреса, которые уже были заблокированы несколько раз, блокируются на один день с использованием recidive
включенных в пример конфигурации fail2ban.
Эта длительность блока в один день была выбрана, чтобы не слишком сильно влиять на динамические IP-адреса, особенно учитывая, что recursive
тюрьма блокирует не определенные порты, а все входящие соединения. Тем не менее, мы хотели бы запретить очень стойких злоумышленников на более длительный период времени. В настоящее время это достигается за счет специального super-recidive
фильтра и джейла . Этот джейл блокирует на целую неделю каждый хост, который был забанен recidive
дважды (этот IP явно не назначен динамически).
В идеале, однако, я хотел бы на неделю запретить каждый IP, который был забанен recidive
в прошлом (скажем, за одну неделю) и который после того, как он был забанен, снова блокируется любой тюрьмой. Я знаю, что что-то вроде этого должно быть возможно с помощью сложного failregex
включая обратные ссылки - но есть ли более элегантный способ сделать это?