Настройка Fail2ban. Защита ssh сервера

Установка и настройка Fail2ban в Ubuntu

1. Установка Fail2ban

Запустите команду для установки пакета:

sudo apt update && sudo apt install fail2ban -y

2. Запуск и проверка статуса службы

После установки необходимо запустить службу и добавить её в автозапуск:

sudo systemctl enable --now fail2ban

Проверка статуса:

sudo systemctl status fail2ban

Ожидаемый результат:

● fail2ban.service - Fail2Ban Service
   Loaded: loaded (/etc/systemd/system/fail2ban.service; enabled; vendor preset: enabled)
   Active: active (running)

3. Настройка Fail2ban для SSH

Создание конфигурационного файла

sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local

Откройте файл для редактирования:

sudo vim /etc/fail2ban/jail.local

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

[DEFAULT]
bantime = 1h
findtime = 10m
maxretry = 3
ignoreip = 127.0.0.1/8 192.168.1.0/24 10.10.0.0/24

[sshd]
enabled = true
port = 22
filter = sshd
logpath = /var/log/auth.log
maxretry = 3
bantime = 24h

Сохраните и выйдите.

4. Перезапуск и проверка работы Fail2ban

Примените настройки:

sudo systemctl restart fail2ban

Проверьте активные «тюрьмы»:

sudo fail2ban-client status

Вы должны увидеть:

Status
|- Number of jail: 1
`- Jail list: sshd

5. Разблокировка IP-адреса вручную

Если вы случайно заблокировали свой IP, выполните команду:

sudo fail2ban-client set sshd unbanip <IP-АДРЕС>

6. Просмотр логов Fail2ban

Логи работы можно посмотреть командой:

sudo journalctl -u fail2ban --no-pager | tail -n 50

Или в файле:

sudo cat /var/log/fail2ban.log

Заключение

Fail2ban помогает защитить сервер от атак методом подбора паролей. Настроив защиту для SSH, можно предотвратить несанкционированный доступ. Дополнительно можно включить поддержку других сервисов, например, Nginx, Apache, Postfix, изменив конфигурацию в /etc/fail2ban/jail.local.