Fail2ban – це потужний інструмент безпеки на базі Python, який допомагає захистити Linux-системи від атак методом грубої сили, блокуючи IP-адреси, які намагаються увійти в систему з невірними обліковими даними.
Він відстежує файли журналів на предмет невдалих спроб входу в систему та інших підозрілих дій. У разі виявлення таких дій він забороняє IP-адреси порушників, змінюючи правила брандмауера.
У цій статті ми розглянемо, як встановити і використовувати Fail2ban на Ubuntu 24.04, щоб захистити вашу систему від цих атак.
Ви також можете почитати про встановлення Fail2ban на Debian у нашій статті за посиланням нижче:
Встановлення 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, щоб значно знизити ризик несанкціонованого доступу до вашого сервера, забезпечуючи безпечніше середовище для ваших даних і додатків.