Логотип
Сила характера не в том, чтобы ломать других, а том, чтобы сломать себя! (Ю. Поляков).

Как остановить атаку методом перебора с помощью Fail2Ban в Ubuntu 25.04

Как остановить атаку методом перебора с помощью Fail2Ban в Ubuntu 25.04

В этой статье мы подробно расскажем, как настроить Fail2Ban в Ubuntu 25.04 для автоматической блокировки атак методом перебора на систему, осуществляемых через SSH.

 

Что такое Fail2Ban?

Fail2Ban — это утилита на основе Python, которую необходимо установить в системе вручную. Она помогает защитить систему от сетевых атак, таких как перебор паролей.

При возникновении такой атаки Fail2Ban ожидает срабатывания определённых правил в файлах конфигурации, прежде чем предпринять необходимые действия, например заблокировать целевой IP-адрес и зарегистрировать инцидент.

Ограничение на целевой IP-адрес снова снимается в соответствии с правилами, указанными в файлах конфигурации, которые хранятся в формате conf по пути /etc/fail2ban/.

В этом руководстве я расскажу вам, как установить и настроить Fail2Ban в Ubuntu 25.04, а также как настроить его для предотвращения атак методом перебора.

 

Шаг 1. Установка Fail2Ban

Сначала нам нужно убедиться, что список пакетов и база данных пакетов обновлены.

$ sudo apt update && sudo apt upgrade -y

 

Далее мы можем приступить к установке Fail2Ban с помощью менеджера пакетов APT.

$ sudo apt install fail2ban

 

После завершения установки вы можете проверить её, посмотрев версию.

$ fail2ban-server --version

 

Если при выполнении инструкции у вас возникнут какие-либо проблемы, обязательно укажите эту версию в комментариях.

 

Шаг 2: Настройте Fail2Ban

Конфигурации Fail2Ban хранятся в каталоге «/etc/fail2ban«, при этом некоторые конфигурационные файлы сгруппированы в каталогах «action.d«, «fail2ban.d«, «filter.d» и «jail.d«, в то время как важные конфигурационные файлы, такие как «fail2ban.conf«, «jail.conf» и «jail.local«, находятся в родительском каталоге.

Читать  Libxml2 официально прекращает поддерживаться после ухода сопровождающего

В первую очередь мы сосредоточимся на изменении файла jail.conf для настройки Fail2Ban на предотвращение атак методом перебора. Итак, что содержит этот файл? Он включает в себя конфигурацию по умолчанию для различных служб, таких как SSH.

Обычно мы не вносим изменения непосредственно в этот файл. Вместо этого мы создаем в том же каталоге копию под названием «jail.local» и вносим изменения туда. Итак, давайте быстро создадим копию с помощью следующей команды:

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

 

Затем мы изменим этот файл конфигурации в соответствии с нашими требованиями, используя текстовый редактор по нашему выбору (я предпочитаю Nano).

$ sudo nano /etc/fail2ban/jail.local

 

Открыв файл, найдите директиву [SSH], которая часто помечается префиксом #, поэтому обязательно удалите его, а затем скопируйте следующее содержимое под ним.

 

📝 Примечание
При копировании контента убедитесь, что он ещё не существует. В противном случае удалите его, чтобы избежать конфликтов.

 

[ssh]
enabled = true
port = ssh
filter = sshd
maxretry = 3
findtime = 5m
bantime = 24h

 

Убедитесь, что это директива [SSH], а не [SSHD]. В противном случае вам нужно переименовать её в [SSH]. Далее мы вкратце объясним, как работает конфигурация, которую мы вставили.

  • enabled = true означает, что конфигурация активна.
  • port = ssh и filter = sshd определяют имя службы.
  • maxrety = 3 определяет максимальное количество неудачных попыток входа в систему, после которых IP-адрес блокируется (например, 3 означает три попытки).
  • findtime = 5m указывает продолжительность периода, в течение которого должно быть выполнено условие (например, 5 минут означает, что пользователь должен трижды войти в систему с ошибкой в течение пяти минут, чтобы было выполнено действие).
  • bantime = 24h определяет, на какой срок IP-адрес блокируется (или заносится в чёрный список), где 24 часа означают полный день.
Читать  Риск обхода безопасной загрузки угрожает почти 200 000 ноутбуков на базе Linux Framework

 

Значение конфигурации не является отраслевым стандартом, которому следует слепо следовать. Вы можете изменить его в соответствии со своими потребностями или требованиями. После завершения редактирования файла конфигурации он должен выглядеть примерно так:

 

Сохраните и закройте файл. Если вы используете nano, нажмите Ctrl+X*, затем Y, затем Enter для сохранения и выхода.

 

Шаг 3. Перезапустите службу

После внесения изменений необходимо убедиться, что служба SSH запущена и включена, что позволит ей автоматически запускаться при загрузке системы. Для этого выполните следующие две команды:

$ sudo systemctl restart ssh
$ sudo systemctl enable ssh

 

 

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

$ sudo systemctl restart fail2ban
$ sudo systemctl enable fail2ban

 

Теперь мы готовы проверить, будет ли заблокирована попытка брутфорса через SSH.

Шаг 4. Проверка брутфорса через SSH

Чтобы проверить, блокируются ли множественные попытки SSH-подключения (или атаки методом брутфорса), используйте свой локальный IP-адрес (который можно узнать с помощью команды ip addr show), и из своей локальной сети (или из той же системы, что вполне допустимо) попытайтесь несколько раз войти в систему с настроенным Fail2Ban, пока не будет достигнут лимит.

Во время или после неудачных попыток входа в систему вы можете просмотреть журналы Fail2Ban, чтобы узнать, был ли заблокирован IP-адрес.

$ sudo tail -f /var/log/fail2ban.log

 

После блокировки IP-адреса со стороны пользователя при попытке войти в систему через SSH появится следующее сообщение.

 

Чтобы разблокировать IP-адрес пользователя в Fail2Ban, укажите его IP-адрес с помощью следующей команды:

$ sudo fail2ban-client set sshd unbanip 192.168.0.101

 

Заключение

В этой статье вы узнали, как установить и настроить Fail2Ban для блокировки IP-адресов, с которых осуществляется брутфорс системы через SSH. Если у вас есть вопросы по этой теме, задавайте их в комментариях.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Редактор: AndreyEx

Рейтинг: 5 (1 голос)
Если статья понравилась, то поделитесь ей в социальных сетях:

Оставить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

девятнадцать − 9 =

Это может быть вам интересно


Спасибо!

Теперь редакторы в курсе.

Прокрутить страницу до начала