
В епоху, коли автоматичні боти й зловмисники невпинно сканують сервери в пошуках вразливостей, адміністратори змушені тримати руку на пульсі безпеки. Особливо це стосується брутфорс-атак, коли зловмисники нескінченно перебирають паролі, сподіваючись підібрати правильний. Якщо сервер не захищений, рано чи пізно хтось дістанеться куди не слід На щастя, є інструмент, що допомагає блокувати таких "гостей" автоматично. Знайомтеся, Fail2Ban — програма, що аналізує логи та блокує IP-адреси, звідки надходить підозріла активність. Як це працює та як правильно налаштувати? Розбираємося.
Основні загрози, від яких захищає Fail2Ban
1. Брутфорс-атаки
Найчастіша загроза — автоматичний підбір пароля. Зазвичай атакують SSH (доступ до сервера через термінал), FTP (файловий доступ), поштові сервіси та адміністративні панелі сайтів.
2. DDoS-атаки на веб-додатки
Деякі зловмисники закидають веб-сервери безліччю запитів, аби перевантажити їх і вивести з ладу. Fail2Ban може виявити таку активність й блокувати IP-адреси атакуючих.
3. Злом CMS та веб-додатків
Спроби експлуатації вразливостей у WordPress, Joomla та інших CMS теж фіксуються в логах. Fail2Ban може моніторити їх і блокувати IP, що помічені в " поганих " діях.
Як працює Fail2Ban?
Fail2Ban аналізує логи (наприклад, /var/log/auth.log для SSH) та шукає повторювані невдалі спроби входу. Якщо з одного IP було занадто багато невдалих спроб за короткий час, програма використовує iptables (або інший файрвол) для тимчасового блокування цієї адреси.
Основні компоненти:
- Jail (в'язниця) — правило, що визначає, які логи моніторити та які дії виконувати при виявленні підозрілої активності.
- Filter (фільтр) — шаблон пошуку підозрілих записів у логах.
- Action (дія) — команда, що виконується при спрацьовуванні фільтра (наприклад, блокування IP).
Встановлення Fail2Ban
У більшості дистрибутивів Linux Fail2Ban можна встановити стандартною командою:
Після встановлення Fail2Ban одразу починає працювати, але потребує налаштування.
Основні налаштування та конфігурація
Основний файл конфігурації /etc/fail2ban/jail.conf змінювати не рекомендується — краще створити jail.local:
Відкриваємо jail.local та налаштовуємо:
Налаштування захисту SSH
Налаштування захисту поштових сервісів
Налаштування захисту MySQL
Настройка защиты Apache и Nginx
Після внесення змін обов'язково перезапускаємо службу:
Моніторинг та управління Fail2Ban
Перевірити активні "в'язниці":
Подивитися заблоковані IP для SSH:
Розблокувати IP вручну:
На закінчення
Fail2Ban — звичайно ж, не панацея від усіх кібератак, але це потужний інструмент, що здатний значно знизити ризики.
Налаштування займає кілька хвилин, а користь — величезна. Якщо у вас ще немає Fail2Ban на сервері, саме час його встановити й спати спокійніше.