Как установить Fail2ban для безопасности SSH в Ubuntu 24.04
Fail2ban — это мощный инструмент безопасности на основе Python, который помогает защитить системы Linux от атак методом перебора, блокируя IP-адреса, которые пытаются войти в систему с неправильными учетными данными.
Он отслеживает файлы журналов на предмет неудачных попыток входа в систему и других подозрительных действий. Когда он обнаруживает такие действия, он блокирует нарушающие IP-адреса, изменяя правила брандмауэра.
В этой статье мы рассмотрим, как установить и использовать Fail2ban в Ubuntu 24.04, чтобы защитить вашу систему от этих атак.
Установка 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
: этот каталог содержит файлы конфигурации тюрьмы, которые определяют конкретные службы, которые отслеживает Fail2Ban, и правила запрета IP-адресов.paths-arch.conf
,paths-common.conf
,paths-debian.conf
,paths-opensuse.conf
>: Эти файлы содержат пути, специфичные для разных дистрибутивов Linux.fail2ban.conf
: это основной файл конфигурации Fail2Ban, который содержит глобальные настройки и параметры.jail.conf
: этот файл содержит настройки тюрьмы по умолчанию для различных служб.jail.local
: этот файл используется для переопределения настроек тюрьмы по умолчанию. Рекомендуется создать файл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 ; 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, чтобы значительно снизить риск несанкционированного доступа к вашему серверу, обеспечив более безопасную среду для ваших данных и приложений.