Логотип

Как остановить атаку методом перебора с помощью 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«, находятся в родительском каталоге.

Читать  Logitech подтверждает утечку данных после атаки Clop с целью вымогательства

В первую очередь мы сосредоточимся на изменении файла 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 часа означают полный день.
Читать  10 основных вопросов и ответов на собеседовании по Linux — часть 4

 

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

 

Сохраните и закройте файл. Если вы используете 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

 

Читать  Как мне перемещаться в терминале Linux

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

 

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

$ sudo fail2ban-client set sshd unbanip 192.168.0.101

 

Заключение

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

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

Редактор: AndreyEx

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

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии

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


Загрузка...

Спасибо!

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

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