Linux Labs

Безопасность сервера / Ступень 5 из 10

Перебор паролей и fail2ban

Не запущена Запускается обычно ~20 с
Выйти из урока

Шаг 3 из 7 · теория · 4 мин

Откуда fail2ban берёт отказы

Источник записей задаёт параметр backend.

backend = systemd означает: читать журнал journald, тот самый, что показывает journalctl. Файловый вариант — backend с параметром logpath, путём к текстовому логу вроде /var/log/auth.log. Журнал journald общий для всех служб, поэтому jail сужают строкой journalmatch: она говорит, из какого юнита брать записи, например _SYSTEMD_UNIT=ssh.service. Укажешь службу, которой нет или которую не атакуют, — jail читает пустоту и не насчитывает ни одной попытки. Это ты и видел: перебор шёл по lab-sshd, а jail смотрел sshd.service.

Проверь себя 1 вопрос

В jail стоит backend = systemd. Откуда fail2ban берёт записи об отказах входа?

  • fail2ban-client только показывает состояние jail'ов. Записи служба берёт из источника, заданного backend.

  • Файл читает другой вариант — backend с logpath. При backend = systemd fail2ban берёт записи из журнала journald, а не из файла.

backend = systemd велит fail2ban читать журнал journald. Какой именно юнит из журнала брать, сужает journalmatch. Файловый источник — это backend с logpath, путь к текстовому логу.

Главное в шаге

  • backend = systemd — fail2ban читает журнал journald; файловый вариант — backend с logpath.
  • journalmatch сужает журнал до нужного юнита (_SYSTEMD_UNIT=…).
  • jail, нацеленный не на ту службу, читает пустоту и не банит никого.
Ubuntu 24.04
Загрузка…