Как установить fail2ban на Ubuntu
fail2ban следит за попытками входа на сервер и на время блокирует адреса, с которых подбирают пароль. В Ubuntu он ставится одной командой и сразу защищает SSH: после 5 неудачных попыток за 10 минут адрес теряет доступ на 10 минут. Свои настройки пишут в файл /etc/fail2ban/jail.local.
Содержание 11
Что сделать прямо сейчас
Команды на этой странице вводятся на сервере: подключитесь к нему по SSH (как подключиться) и набирайте их в том же окне.
- Обновите список пакетов:
sudo apt update. Для Ubuntu 24.04 это важно — почему. - Установите fail2ban:
sudo apt install fail2ban. Если система спросит пароль, введите пароль своего пользователя на сервере. Символы при вводе не видны — так и должно быть: наберите пароль и нажмите Enter. На вопросDo you want to continue? [Y/n]нажмите Y и Enter. - Проверьте службу:
sudo systemctl status fail2ban. В ответе должно бытьactive (running). Выйти из ответа — клавиша Q. Если тамinactive, включите службу:sudo systemctl enable --now fail2ban. - Проверьте защиту SSH:
sudo fail2ban-client status sshd. Ответ начинается со строкиStatus for the jail: sshd— правило для SSH работает. - Если у вас постоянный IP-адрес, добавьте его в исключения — как изменить настройки.
Какая версия поставится
| Ubuntu | Версия fail2ban | Пакет |
|---|---|---|
| 24.04 | fail2ban 1.0.2 | fail2ban 1.0.2 |
| 26.04 | fail2ban 1.1.0 | fail2ban 1.1.0 |
Номера версий взяты со страниц пакетов Ubuntu на 14 октября 2026 года. Версию на сервере покажет sudo fail2ban-client version.
В Ubuntu 24.04 в первой версии пакета, 1.0.2-3, были ошибки при работе с Python 3.12 — а это и есть Python этой Ubuntu. Их исправило обновление 1.0.2-3ubuntu0.1. Оно приходит после sudo apt update, поэтому не пропускайте эту команду перед установкой.
Пакет лежит в разделе universe. Если apt его не находит — разбор ошибки.
Что защищено сразу
Сразу после установки работает одно правило — sshd: оно следит за входами по SSH. Его включает файл /etc/fail2ban/jail.d/defaults-debian.conf, который ставится вместе с пакетом. Там же задано, что fail2ban читает журнал systemd и блокирует адреса через nftables — механизм фильтрации в ядре Linux.
Значения по умолчанию:
| Настройка | Значение | Что значит |
|---|---|---|
maxretry | 5 | сколько неудачных попыток входа допускается |
findtime | 10m | за какой срок считаются попытки — 10 минут |
bantime | 10m | на сколько блокируется адрес — 10 минут |
ignoreself | true | адреса самого сервера не блокируются |
Итог: адрес, с которого за 10 минут 5 раз неудачно вошли по SSH, на 10 минут теряет доступ к порту SSH.
Как изменить настройки
Файл /etc/fail2ban/jail.conf не меняйте: при обновлении пакета его могут заменить. Свои настройки пишите в /etc/fail2ban/jail.local. fail2ban читает его после jail.conf и файлов из папки jail.d, поэтому значения из jail.local главнее. В jail.local указывайте только то, что меняете, — остальное возьмётся из jail.conf.
Откройте файл: sudo nano /etc/fail2ban/jail.local. Если файла нет, nano создаст его. Вставьте пример и поправьте под себя:
[DEFAULT]
ignoreip = 127.0.0.1/8 ::1 203.0.113.10
bantime = 1h
findtime = 10m
maxretry = 5ignoreip— адреса, которые fail2ban не блокирует. 203.0.113.10 замените на свой постоянный IP-адрес. Через пробел можно перечислить несколько адресов и подсетей.bantime = 1h— блокировка на час вместо 10 минут. Время пишут числом секунд или с буквой: m — минуты, h — часы, d — дни. 600 и 10m — одно и то же.findtimeиmaxretry— как в таблице выше.
Сохраните файл: Ctrl+O, Enter, затем Ctrl+X — подробнее про nano. Проверьте настройки: sudo fail2ban-client -t — если в файлах ошибка, команда сообщит о ней. Примените: sudo systemctl restart fail2ban.
Если SSH на другом порту
Правило sshd блокирует адрес только на порту ssh — это 22. Если SSH на сервере перенесён на другой порт, заблокированный адрес сможет продолжать подбор. Добавьте в конец jail.local свой порт:
[sshd]
port = 22222222 — пример: подставьте свой номер. Затем sudo fail2ban-client -t и sudo systemctl restart fail2ban. Как узнать, на каком порту SSH, — Порт 22: SSH.
Как разблокировать адрес
Посмотреть блокировки: sudo fail2ban-client status sshd. В ответе Currently banned — сколько адресов заблокировано сейчас, Total banned — сколько всего было заблокировано, Banned IP list — сами адреса.
Снять блокировку с адреса в правиле sshd:
sudo fail2ban-client set sshd unbanip 203.0.113.10Снять блокировку с адреса во всех правилах сразу: sudo fail2ban-client unban 203.0.113.10.
Где журнал
fail2ban записывает свои действия в /var/log/fail2ban.log. Последние строки:
sudo tail -n 20 /var/log/fail2ban.logСтроки со словом Ban — адрес заблокирован, Unban — блокировка снята. Перед ними в квадратных скобках — название правила, например [sshd]. Сообщения самой службы — sudo journalctl -u fail2ban.
fail2ban не заменяет вход по ключу
fail2ban замедляет подбор пароля, но не отменяет его: с каждого адреса можно сделать несколько попыток, а боты перебирают пароли с разных адресов. Главная защита — вход по SSH только по ключу: тогда подбирать пароль бесполезно. Как настроить — в шаге 4 инструкции Как настроить VPS после покупки.
Ещё одна защита без установки программ — правило limit в фаерволе ufw: Защита SSH от перебора паролей.
Ошибки и как их исправить
| Что видите | Что делать |
|---|---|
| служба fail2ban не запускается | посмотрите причину: sudo journalctl -u fail2ban -n 30. Проверьте настройки командой sudo fail2ban-client -t и исправьте ошибку, о которой она сообщит |
fail2ban-client без sudo отвечает ошибкой | добавьте sudo в начало команды |
| вас не пускает по SSH после нескольких неверных паролей | адрес заблокирован: как разблокировать |
| SSH на нестандартном порту, а подбор паролей продолжается | укажите свой порт в jail.local |
Unable to locate package fail2ban | apt не нашёл пакет |
Источники
- Пакет fail2ban в Ubuntu 24.04 — ставит fail2ban 1.0.2.
- Пакет fail2ban в Ubuntu 26.04 — ставит fail2ban 1.1.0.
- Список изменений пакета fail2ban для Ubuntu 24.04 — в 1.0.2-3ubuntu0.1 исправлены ошибки с Python 3.12.
- Файл defaults-debian.conf в Ubuntu 24.04 — правило sshd включено, журнал systemd, блокировка через nftables.
- Файл jail.conf в Ubuntu 24.04 — значения по умолчанию, правило sshd на порту ssh, совет не менять файл.
- Действие nftables в Ubuntu 24.04 — блокировка только на указанных портах.
- Справка fail2ban-client для Ubuntu 24.04 — команды status, set … unbanip, unban и проверка -t.
- Справка jail.conf для Ubuntu 24.04 — порядок чтения файлов, ignoreip, ignoreself и формат времени.
Сверено 14 октября 2026 года.
Что почитать дальше
- Как настроить VPS после покупкивход по ключу, фаервол и обновления.
- Порт 22: SSHкак проверить, открыть и защитить порт SSH.
- Команда ufwфаервол на сервере.
- Установка программ на Ubuntuчто ещё поставить на сервер.