Як встановити fail2ban та налаштувати Fail2ban на Linux-серверах
Як встановити fail2ban і налаштувати його на серверах Linux (ubuntu / debian) за допомогою fail2ban conf і налаштувати його на ubuntu і встановити fail2ban на вашому сервері.
Fail2ban дійсно може захистити і допомогти вашій безпеці в Linux-серверах, відстежуючи зловмисну і підозрілу активність, а також забороняти і блокувати IP-адреси.
Важливо знати, як встановити fail2ban або правильно налаштувати fail2ban, щоб він працював безперебійно і без проблем на вашому сервері.
Вимоги:
Debian / Ubuntu
Інші Linux (команди конфігурації будуть відрізнятися)
ПРИМІТКА: Ви не можете використовувати fail2ban на віртуальному хостингу, вам потрібно використовувати його на нашому VPS хостингу або виділених серверах від Alexhost – це найкращі сервіси для його використання.
Що таке Fail2ban?
Fail2Ban – це програма для аналізу логів, яка підвищує безпеку серверів Linux, відстежуючи файли журналів на предмет зловмисної активності та автоматично вживаючи заходів для заборони або блокування IP-адрес, пов’язаних з підозрілою поведінкою. Його основне призначення – захист серверів від різних типів атак, особливо тих, що пов’язані зі спробами отримати несанкціонований доступ методом грубої сили. Важливо знати, як правильно встановити fail2ban на вашому сервері.
Ось як зазвичай працює Fail2Ban:
- Моніторинг лог-файлів: Fail2Ban безперервно відстежує вказані файли журналів для виявлення шаблонів, які вказують на потенційні загрози безпеці. Ці файли журналів включають ті, що пов’язані зі спробами автентифікації, наприклад, /var/log/auth.log для SSH або /var/log/apache2/error.log для Apache.
- Правила фільтрації: Fail2Ban використовує попередньо визначені або налаштовані користувачем правила фільтрації для виявлення певних шаблонів у записах журналу. Ці шаблони зазвичай вказують на невдалі спроби входу, підбір пароля або інші підозрілі дії.
- Збіг шаблонів: Коли запис журналу відповідає заздалегідь визначеному шаблону, Fail2Ban вважає його “невдачею” або “збігом” Фільтри призначені для розпізнавання поширених шаблонів атак, таких як повторні невдалі спроби входу з однієї і тієї ж IP-адреси.
- Заборона дій: Після певної кількості збігів (задається параметром maxretry), Fail2Ban блокує IP-адресу-порушника. Тривалість заборони визначається параметром bantime. Ця тимчасова заборона допомагає запобігти автоматизованим атакам, ускладнюючи зловмисникам доступ до системи.
- В’язниці: Fail2Ban організовує свої конфігурації моніторингу та заборони в блоки, які називаються “в’язницями” Кожна в’язниця відповідає певному сервісу або набору сервісів. Наприклад, може існувати джейл для SSH, інший для Apache і так далі. Конфігурація для кожної в’язниці, включаючи фільтри і налаштування заборон, визначається в конфігураційних файлах Fail2Ban.
- Статус і взаємодія: Системні адміністратори можуть перевіряти стан Fail2Ban, переглядати заборонені IP-адреси та вручну розблоковувати їх, якщо це необхідно. Fail2Ban також реєструє свої дії, надаючи адміністраторам історію заборонених IP-адрес і відповідних подій.
Автоматично забороняючи IP-адреси, які демонструють зловмисну поведінку, Fail2Ban допомагає захистити сервери від атак грубої сили, підбору паролів та інших загроз безпеці. Це цінний інструмент для підвищення загального рівня безпеки сервера Linux. Однак дуже важливо налаштувати Fail2Ban належним чином для вашого конкретного середовища і регулярно переглядати його журнали, щоб забезпечити належну функціональність.
### Крок 1: Як встановити Fail2Ban
Відкрийте термінал на сервері Ubuntu або Debian і виконайте наступні команди:
sudo apt update
sudo apt install fail2ban
### Крок 2: Налаштування Fail2Ban
- Створіть копію файлу конфігурації за замовчуванням:
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
- Відкрийте файл `jail.local` у текстовому редакторі. Ви можете використовувати `nano` або `vim`:
sudo nano /etc/fail2ban/jail.local
- Налаштуйте основні параметри у файлі `jail.local`. Ось деякі типові варіанти:
– bantime: Тривалість (в секундах), на яку IP буде заблоковано. За замовчуванням 10 хвилин (600 секунд).
– findtime: Часовий проміжок (у секундах), протягом якого має відбутися певна кількість збоїв для бану.
– maxretry: Кількість збоїв, дозволених до заборони.
Приклад:
[DEFAULT]
bantime = 600
findtime = 600
maxretry = 3
4. Налаштуйте фільтри для конкретних сервісів, які ви хочете, щоб Fail2Ban відстежував. Фільтри визначено у файлі `jail.local` у розділі `[<назва служби>]`. До поширених служб належать SSH (`shd`), Apache (`apache`) і Nginx (`nginx`).
Приклад для SSH:
[sshd]
enabled = true
порт = ssh
filter = sshd
logpath = /var/log/auth.log
maxretry = 5
Зауваження: Переконайтеся, що `port` і `logpath` відповідають вашій конкретній конфігурації.
- Збережіть файл `jail.local` і вийдіть з текстового редактора.
### Крок 3: Перезапуск Fail2Ban
Після внесення змін до конфігурації перезапустіть Fail2Ban, щоб застосувати нові налаштування:
sudo systemctl restart fail2ban
### Крок 4: Перевірка стану Fail2Ban
Ви можете перевірити стан Fail2Ban за допомогою:
sudo fail2ban-client status
На екрані має з’явитися інформація про в’язниці та їхній статус.
### Крок 5: Тестування Fail2Ban
Щоб перевірити, чи працює Fail2Ban, навмисно згенеруйте кілька невдалих спроб входу до відстежуваного сервісу (наприклад, SSH). Після досягнення вказаного значення `maxretry`, Fail2Ban повинен забанити відповідну IP-адресу.
Не забудьте адаптувати ці інструкції відповідно до конфігурації вашої конкретної системи і служб Ubuntu або Debian. Завжди враховуйте вплив ваших налаштувань на безпеку і регулярно переглядайте журнали на предмет несподіваної поведінки.
Примітка: Під час налаштування fail2ban на вашому сервері не блокуйте порт 22, якщо ви не впевнені в тому, що робите, в такому випадку ви заблокуєте порт SSH за замовчуванням.
Попередження: Fail2ban є чудовим інструментом для захисту ваших linux-серверів, але його потрібно налаштовувати дуже обережно. Щоб уникнути бану, внесіть свій IP та інші IP, які ви вважаєте важливими, до білого списку. Використання fail2ban і неправильне його налаштування може призвести до втрати зв’язку з вашим сервером, тому важливо знати, як встановити fail2ban на вашому сервері (Ubuntu, Debian, CentOS тощо).