
Так случилось что мой свежеиспеченный проект на выделенном сервере подвергся многочисленным хакерским атакам. Приходится поднимать защиту. И одна из них fail2ban. Он работает в купе с файерволом ufw. Давайте начнём установку с оного. Стартуем терминал. Сначала обновим репозитории и систему.
sudo apt-get update
sudo apt upgrade
После чего проинсталлируем ufw
sudo apt upgrade
sudo apt install ufw
Добавим ssh
sudo ufw allow ssh
Потом надо запустить ufw
sudo ufw enable
Можно посмотреть статус
sudo ufw status
Ставим fail2ban
sudo apt install fail2ban
Прописываем fail2ban в службы
sudo systemctl enable fail2ban
Запускаем службу
sudo systemctl start fail2ban
Смотрим статус
sudo systemctl status fail2ban
Если всё в порядке выглядит вот так
Копируем файл конфигураций
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
Редактируем с помощью редактора Nano
sudo nano /etc/fail2ban/jail.local
Найдите ниже следующую строку и раскомментируйтеignoreip = 127.0.0.1/8 ::1
Через пробел добавьте внешний IP адрес сервера и если у вас статический IP от провайдера так же через пробел добавьте и его.
Найдите ниже строку bantime и добавьте время бану
bantime = 1d
Если хотим перманентно забанить IP то ставим
bantime = -1
Далее ниже только если у вас Debian 12,13 остальных дистрибутивов это не касается то ниже будет строка backend
Ей надо дать значение
backend = systemd
Иначе fail2ban не будет запускаться и вылетать с ошибкой Failed during configuration: Have not found any log file
Это происходит потому что команда Debian заменила администрацию файлов логов на systemd
Потом ниже смотрим строку и разрешаем все протоколы у меня был только tcp protocol = all
Ниже найдите строки banaction закомментируйте их и впишите свою banaction = ufw
Сохраним файл
Рестартируем сервис
sudo systemctl restart fail2ban
Смотрим статус
sudo systemctl status fail2ban
Если выдаёт ошибку значит надо удалить файл jail.local командой
sudo rm jail.local
Снова скопировать и начать редактировать заново.Всего несколько дней работы и вот такой результат.
dwdwdwdqqqqqqqq1111