Назад | Перейти на главную страницу

Fail2Ban продолжает блокировать при перезапуске

Я столкнулся с запутанной проблемой с Fail2Ban.

Я использую старую версию, которая после перезапуска Fail2Ban Daemon разблокирует все IP-адреса.

Теперь у меня на Centos 7 установлен Fail2Ban версии 0.9.3. Когда я перезапускаю Fail2Ban, он повторно блокирует ранее запрещенные IP-адреса. Я не хочу, чтобы это произошло, и вместо этого хочу, чтобы все запреты были сняты при перезапуске, как это обычно и работало.

Я установил dbfile = None чтобы предотвратить постоянный бан, а также установить dbpurgeage = 0 просто на всякий случай.

Но при перезапуске любой забаненный IP снова забанен.

Вот отрывок из /var/log/fail2ban.log когда пользователя забанят через vsftpd:

2016-09-19 20:45:58,671 fail2ban.filter         [23752]: INFO    [vsftpd] Found xx.xx.xx.xx
2016-09-19 21:01:55,665 fail2ban.filter         [23752]: INFO    [vsftpd] Found xx.xx.xx.xx
2016-09-19 21:02:06,679 fail2ban.filter         [23752]: INFO    [vsftpd] Found xx.xx.xx.xx
2016-09-19 21:02:06,936 fail2ban.actions        [23752]: NOTICE  [vsftpd] Ban xx.xx.xx.xx

Затем после перезапуска Fail2Ban вот последние несколько строк файла журнала:

2016-09-19 21:02:42,719 fail2ban.jail           [24213]: INFO    Jail 'vsftpd' started
2016-09-19 21:02:42,761 fail2ban.filter         [24213]: INFO    [vsftpd] Found xx.xx.xx.xx
2016-09-19 21:02:42,761 fail2ban.filter         [24213]: INFO    [vsftpd] Found xx.xx.xx.xx
2016-09-19 21:02:42,921 fail2ban.actions        [24213]: NOTICE  [vsftpd] Ban xx.xx.xx.xx

Похоже, это повторное сканирование файлов журнала и повторный бан ранее заблокированного пользователя.

Как я уже упоминал, в старых версиях Fail2Ban это работало не так - как я могу вернуться к предыдущей функциональности?

Отключение использования dbfile означает, что fail2ban теряет отслеживаемую позицию чтения в каждом файле при перезапуске и поэтому читает весь файл, что приводит к поведению, которое вы наблюдали.

Добавление tail после имен файлов в logpath заявления расскажут fail2ban чтобы начать чтение с конца файла, а не с начала. Это должно (я думаю) дать вам желаемое (или достаточно близкое) поведение. Видеть документы для более подробной информации. Соответствующий раздел ...

Необязательный разделенный пробелом параметр 'tail' может быть добавлен в конец пути, чтобы файл журнала читался с конца, иначе параметр 'head' по умолчанию читает файл с начала

Тем не менее, я согласен со значением комментария Майкла Хэмптона - правильный способ справиться с этим - восстановить использование dbfile и воспользуйтесь функцией разблокировки.