Устраняем ошибку почему не работает Fail2Ban на Debian 12

Опубликовано: 1 сентября 2024 / Обновлено: 13 июля 2025
Раздел(ы): GNU Linux - CentOS / Debian
Просмотры: 5230
Комментарии: 0
Реклама: Браузер для организаций с персональной технической поддержкой. Защищает данные компании и сотрудников. Проверяет загрузки на вирусы, защищает от фишинга и кражи паролей, а также блокирует трекеры, чтобы сторонние сайты не отслеживали действия пользователей. Подробнее.

Если установили защиту SSH соединений от подбора паролей по моей инструкции. То на свеже установленной операционной системе Debian 12 можете столкнуться с ошибкой Is fail2ban running?

Например после ввода команды fail2ban-client status sshd

~# fail2ban-client status sshd
2024-07-29 20:37:09,378 fail2ban                [201517]: ERROR   Failed to access socket path: /var/run/fail2ban/fail2ban.sock. Is fail2ban running?

Для выяснения причины возникновения ошибки выполните команду fail2ban-client -x start

# fail2ban-client -x start
2024-07-29 20:39:30,793 fail2ban                [201530]: ERROR   Failed during configuration: Have not found any log file for sshd jail

Ошибка говорит о том, что не найдены лог-файлы. И скорее всего по причине того, что fail2ban не знает какой использовать backend.

Неправильное, но работающее решение

Одно из возможный решений — это изменение значения backend с auto на systemd.

Для этого отредактируйте файл /etc/fail2ban/jail.conf
замените

backend = auto
на
backend = systemd

После этого перезапустите fail2ban командой

# systemctl restart fail2ban

Почему это неправильное решение? Потому, что редактировать этот файл не рекомендуется, о чем написано в нём самом.

Правильная настройка fail2ban

Вместо jail.conf необходимо внести изменения в файл /etc/fail2ban/jail.local

Добавьте в секцию [sshd] параметр backend = systemd

[sshd]
enabled = true
backend = systemd

После этого перезапустите fail2ban командой

# systemctl restart fail2ban

Ошибка должна исчезнуть.

Ошибка: Failed to initialize any backend for Jail ‘sshd’

Если после внесения правок Fail2ban не работает и вы видите ошибку «Failed to initialize any backend for Jail ‘sshd'» то возможно операционной системе не хватает python модуля systemd.

Попробуйте его установить следующей командой:

# apt install python3-systemd

После чего перезапустите Fail2ban

# systemctl restart fail2ban

И проверьте его работу работу

# fail2ban-client status sshd

Мой файл /etc/fail2ban/jail.local выглядит так:

[DEFAULT]
# Debian 12 has no log files, just journalctl
backend = systemd

# "bantime" is the number of seconds that a host is banned.
bantime  = 1d
# "maxretry" is the number of failures before a host get banned.
maxretry = 5
# A host is banned if it has generated "maxretry" during the last "findtime"
findtime  = 1h

[sshd]
enabled = true

Постскриптум

Все рекомендации и настройки приведенные в данной статье протестированы в операционной системе Debian 12 на виртуальном сервере VDSina.

Благодарности

При написании статьи были использованы следующие источники:

  1. https://unix.stackexchange.com/questions/268357/how-to-configure-fail2ban-with-systemd-journal
  2. https://moonback.ru/page/fail2ban-debian-11-ufw
  3. https://forum.altlinux.org/index.php?topic=47008.0
  4. https://www.gitmemories.com/fail2ban/fail2ban/issues/3292

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Нажимая кнопку "Отправить" Вы даёте свое согласие на обработку введенной персональной информации в соответствии с Федеральным Законом №152-ФЗ от 27.07.2006 "О персональных данных", на условиях и для целей определенных политикой конфиденциальности сайта.
© Юрий Рассадников, 2011 - 2026
uptime узнать
Домен : reg.ru
Хостинг : adman.com
SQL - 7 | 0,187 сек. | 5.1 МБ