Настройка 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
.