Как установить Fail2ban на Ubuntu

Fail2ban — это мощный инструмент безопасности на базе Python, который помогает защитить Linux-системы от атак методом грубой силы, блокируя IP-адреса, пытающиеся войти в систему с неверными учетными данными.

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

В этой статье мы рассмотрим, как установить и использовать Fail2ban на Ubuntu 24.04, чтобы защитить вашу систему от этих атак.

Вы также можете почитать про установку Fail2ban на Debian в нашей статье по ссылке ниже:

Как установить Fail2ban на Debian 12/11/10

Установка Fail2ban на Ubuntu 24.04

Чтобы установить Fail2ban на Ubuntu 24.04, вам нужно обновить список пакетов в системе, выполнив следующую команду apt.

sudo apt update

Затем установите Fail2ban с помощью следующей команды.

sudo apt install fail2ban

После установки убедитесь, что Fail2ban установлен правильно, проверив его версию.

fail2ban-client --version

Fail2Ban v1.0.2

Настройка Fail2ban в Ubuntu 24.04

Директория /etc/fail2ban является основным местом хранения конфигурационных файлов и журналов Fail2Ban. Эта директория содержит несколько поддиректорий и файлов, которые необходимы для работы Fail2Ban.

Вот разбивка ключевых компонентов:

  • action.d: Этот каталог содержит сценарии действий, которые Fail2Ban использует для запрета IP-адресов. Эти скрипты зависят от используемого брандмауэра или службы (например, iptables, ufw, nftables).
  • filter.d: Эта директория содержит файлы конфигурации фильтров, которые определяют, как Fail2Ban идентифицирует и запрещает IP-адреса. Эти фильтры специфичны для контролируемой службы (например, SSH, HTTP, FTP).
  • jail.d: Этот каталог содержит файлы конфигурации jail, которые определяют конкретные сервисы, за которыми следит Fail2Ban, и правила запрета IP-адресов.
  • paths-arch.conf, paths-common.conf, paths-debian.conf, paths-opensuse.conf: Эти файлы содержат пути, специфичные для различных дистрибутивов Linux.
  • fail2ban.conf: Это основной конфигурационный файл для Fail2Ban, который содержит глобальные настройки и опции.
  • jail.conf: Этот файл содержит стандартные конфигурации jail для различных служб.
  • jail.local: Этот файл используется для переопределения стандартных конфигураций jail. Рекомендуется создать файл jail.local, чтобы облегчить обновление и внесение изменений.
  • fail2ban.log: Это основной файл журнала для Fail2Ban, в котором он записывает свои действия и события.

Fail2ban поставляется с конфигурационными файлами по умолчанию, которые вы можете настроить в соответствии со своими потребностями. Основной файл конфигурации находится по адресу /etc/fail2ban/jail.conf.

Однако рекомендуется создать локальную копию (/etc/fail2ban/jail.local), чтобы ваши изменения не были перезаписаны при обновлении.

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

Откройте локальный файл конфигурации в текстовом редакторе nano.

sudo nano /etc/fail2ban/jail.local

В конфигурационном файле найдите раздел [ssh], откомментируйте строки и измените значения, чтобы настроить поведение Fail2ban, как показано ниже.

  • maxretry: Определяет максимальное количество неудачных попыток входа в систему, прежде чем IP-адрес будет запрещен.
  • findtime (время поиска): Здесь задается временной интервал, в течение которого должно произойти максимальное количество попыток входа, чтобы вызвать запрет.
  • bantime (время запрета): Определяет время, в течение которого IP-адрес будет заблокирован после превышения максимального количества попыток.

Пример конфигурации (измените по необходимости):

[ssh]
enabled = true
maxretry = 3
findtime = 10
bantime = 4h

В этом примере тюрьма включена, максимальное количество повторных попыток установлено на 3 в течение 10-секундного окна, а запрещенные IP блокируются на 4 часа.

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

sudo systemctl restart fail2ban
sudo systemctl enable fail2ban
sudo systemctl status fail2ban

Тестирование Fail2ban в Ubuntu 24.04

Чтобы протестировать Fail2ban, вы можете смоделировать атаку грубой силы на вашу систему, для чего необходимо намеренно вызвать условия, которые отслеживает Fail2ban, например, несколько неудачных попыток входа.

Сначала войдите в систему на другой Linux-машине, выполните следующую команду для имитации неудачных попыток входа в систему, не забудьте заменить 192.168.122.100 на IP-адрес вашего сервера.

for i in {1..6}; do ssh [email protected]; done

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

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

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

sudo fail2ban-client status sshd

Если вам нужно снять запрет с IP-адреса, выполните следующую команду.

sudo fail2ban-client set sshd unbanip 192.168.122.1

Заключение

Fail2ban — это мощный инструмент для защиты вашего сервера Ubuntu 24.04 от атак методом грубой силы. Следуя шагам, описанным в этом руководстве, вы сможете установить, настроить и использовать Fail2ban, чтобы значительно снизить риск несанкционированного доступа к вашему серверу, обеспечивая более безопасную среду для ваших данных и приложений.

Поделитесь с друзьями

Добавить комментарий

0 комментариев
Новіші
Старіші Найпопулярніші
Вбудовані Відгуки
Переглянути всі коментарі
0
Ми любимо ваші думки, будь ласка, прокоментуйте.x