Як встановити та налаштувати Fail2ban на Ubuntu 24.04 | 22.04

Як встановити та налаштувати Fail2ban на Ubuntu 24.04 | 22.04

 

Fail2ban — це безкоштовний IPS (програмне забезпечення для запобігання вторгненню) з відкритим вихідним кодом, яке допомагає адміністраторам захистити сервери Linux від зловмисного входу в систему та атак грубої сили. Fail2ban написаний на Python і поставляється з фільтрами для різних сервісів, таких як Apache2, SSH, FTP тощо. Fail2ban зменшує кількість шкідливих спроб входу, блокуючи IP-адреси джерел атак.

Fail2ban працює шляхом сканування файлів журналів сервісів (наприклад, /var/log/auth.log) та блокування IP-адрес, які показують зловмисні спроби входу, такі як занадто багато неправильних паролів, пошук експлойтів тощо. Fail2ban також підтримує кілька бекендів брандмауерів, таких як iptables, ufw і firewalld. Також дозволяє налаштувати сповіщення електронною поштою про кожну заблоковану спробу входу.

У цьому посібнику ви дізнаєтеся, як встановити Fail2ba на сервер Ubuntu 24.04. Ви налаштуєте jail Fail2ban, вивчите базову команду fail2ban-client, а потім дізнаєтеся, як банити і розблоковувати IP-адреси за допомогою Fail2ban.

Передумови

Щоб розпочати роботу з цим посібником, переконайтеся, що у вас:

  • Сервер Ubuntu 24.04 | 22.04
  • Користувач без прав root і має права адміністратора

Установка Fail2ban і UFW (нескладний брандмауер)

Fail2ban – це IPS (програмне забезпечення для запобігання вторгнень), яке захищає сервери від атак грубої сили. Він доступний за замовчуванням у більшості репозиторіїв Linux і підтримує кілька модулів брандмауера. У цьому розділі ви встановите Fail2ban, а потім налаштуєте UFW (Uncomplicated Firewall), який буде використовуватися як сервер брандмауера для Fail2ban.

Спочатку виконайте наведену нижче команду, щоб оновити індекс пакетів Ubuntu.

sudo apt update

Як встановити та налаштувати Fail2ban на Ubuntu 24.04

Тепер встановіть пакети ‘fail2ban‘ та ‘ufw‘ за допомогою наступної команди ‘apt‘. Введіть «Y», щоб підтвердити встановлення.

sudo apt install fail2ban ufw

Як встановити та налаштувати Fail2ban на Ubuntu 24.04

Після завершення інсталяції виконайте наведену нижче команду, щоб відкрити порт для SSH і включити UFW. Введіть «Y», щоб підтвердити, запустити та ввімкнути UFW.

sudo ufw allow OpenSSH
sudo ufw enable

Як тільки UFW буде включено, ви побачите вихідний сигнал «Firewall is active and enabled on system startup».

Далі виконайте наступну команду, щоб перевірити статус UFW. Ви побачите, що UFW «active» з увімкненим «OpenSSH».

sudo ufw status

Як встановити та налаштувати Fail2ban на Ubuntu 24.04

Нарешті, виконайте команду ‘systemctl’ нижче, щоб запустити, увімкнути та перевірити службу ‘fail2ban‘.

sudo systemctl enable --now fail2ban
sudo systemctl status fail2ban

Нижче ви можете побачити, що ‘fail2ban‘ активний (запущений) і включений.

Як встановити та налаштувати Fail2ban на Ubuntu 24.04

Налаштування Fail2ban

Після установки fail2ban необхідно налаштувати його до того, як Fail2ban виконає дію (перевірка і блокування). У цьому розділі ви зміните конфігурацію fail2ban ‘/etc/fail2ban/jail.local’, налаштуєте глобальну конфігурацію для ‘bantime‘, ‘maxretry‘ та ‘findtime‘, налаштуєте дію за замовчуванням та сервер брандмауера UFW, а потім активуєте jail ‘sshd‘ для захисту служби SSH від атак грубої сили.

Щоб почати, скопіюйте конфігурацію fail2ban за замовчуванням у ‘/etc/fail2ban/jail.local‘ з наступним:

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

Відкрийте файл ‘/etc/fail2ban/jail.local‘ за допомогою наступної команди редактора ‘nano‘.

sudo nano /etc/fail2ban/jail.local

Додайте свою локальну мережу до опції «ignoreip». Будь-яка підмережа в межах цієї опції не буде заблокована fail2ban.

ignoreip = 127.0.0.1/8 ::1 192.168.1.0/24 192.168.10.20

Налаштуйте конфігурацію за замовчуванням для ‘bantime‘ (час IP-адреси буде заблоковано), ‘findtime‘ (тривалість між кількістю збоїв до дії блокування) та ‘maxretry‘ (кількість збоїв для IP-адрес для блокування). У цьому прикладі ви налаштуєте “bantime” на “1 hour“, “findtime” на “10 minutes”, а “maxretry” на “5 times“.

bantime = 1h
findtime = 10m
maxretry = 5

За бажанням змініть стандартну «action» на «%(action_mw)s», щоб заблокувати IP-адреси та надіслати сповіщення адміністратору електронною поштою. Крім того, не забудьте змінити параметри “destmail” і “sender”.

action = %(action_mw)s
destemail = admin@infoit.com.ua
sender = admin@infoit.com.ua

Змініть стандартне ‘banaction‘ на ‘ufw‘. При цьому IP-адреси будуть заблоковані fail2ban через UFW.

banaction = ufw

Тепер змініть jail за замовчуванням для ‘sshd‘ за допомогою наведених нижче налаштувань. У цьому прикладі в’язниця ‘sshd‘ матиме нетипові параметри для ‘bantime‘, ‘maxretry‘ та ‘findtime‘.

[sshd]
enabled = true
maxretry = 3
findtime = 15m
bantime = 3h

port = ssh
logpath = %(sshd_log)s
backend = %(sshd_backend)s

Збережіть файл і вийдіть із нього, коли закінчите.

Нарешті, виконайте команду ‘systemctl’ нижче, щоб перезапустити службу ‘fail2ban‘ і застосувати свої зміни.

sudo systemctl restart fail2ban

Як встановити та налаштувати Fail2ban на Ubuntu 24.04

Перевірка правил fail2ban за допомогою fail2ban-client

На даний момент служба Fail2ban запущена і працює з увімкненим jail ‘sshd’. Тепер ви вивчите базову команду ‘fail2ban-client’ для перевірки та управління встановленням Fail2ban.

Щоб переконатися, що fail2ban запущено, виконайте команду ‘fail2ban-client‘ нижче.

sudo fail2ban-client ping

Якщо fail2ban запущено, ви побачите вихідний ‘PONG’.

Як встановити та налаштувати Fail2ban на Ubuntu 24.04

Тепер перевірте стан в’язниці ‘sshd‘ за допомогою наступної команди. Це покаже вам список виявлених і заблокованих IP-адрес для в’язниці ‘sshd‘.

sudo fail2ban-client status sshd

Як встановити та налаштувати Fail2ban на Ubuntu 24.04

Далі виконайте команду ‘fail2ban-client get‘ нижче, щоб перевірити конкретні правила вашої в’язниці fail2ban. У цьому розділі ви побачите пункти «bantime», «maxretry», «actions», «findtime» та «ignoreip» у в’язниці «sshd».

sudo fail2ban-client get sshd bantime
sudo fail2ban-client get sshd maxretry
sudo fail2ban-client get sshd actions
sudo fail2ban-client get sshd findtime
sudo fail2ban-client get sshd ignoreip

Як встановити та налаштувати Fail2ban на Ubuntu 24.04

Як забанити та розблокувати IP-адресу за допомогою fail2ban-client

Важливо знати, як забанити або розблокувати IP-адреси вручну за допомогою ‘fail2ban-client’. Завдяки цьому ви можете легко видалити свою IP-адресу зі списку заборонених. Ви будете використовувати команду fail2ban-client’ для блокування та розблокування IP-адрес на Fail2ban.

Щоб заблокувати IP-адреси вручну через fail2ban, запустіть команду ‘fail2ban-client‘ нижче. У цьому випадку заблокована IP-адреса потрапляє до jail ‘sshd‘.

sudo fail2ban-client set sshd banip IP-ADDRESS

Тепер виконайте наступну команду, щоб розблокувати IP-адресу з jail fail2ban ‘sshd‘.

Sudo fail2ban-client set sshd unbanip IP-ADDRESS

Нарешті, ви можете перевірити стан в’язниці ‘sshd‘ за допомогою наведеної нижче команди. Ви побачите, що IP-адресу видалено.

sudo fail2ban-client status sshd

Висновок

Вітаємо! Ви завершили встановлення fail2ban на сервері Ubuntu 24.04. Ви також вивчили базову конфігурацію для налаштування Fail2ban, включаючи налаштування глобальної конфігурації та jail. Нарешті, ви також вивчили базове використання команди ‘fail2ban-client’ для перевірки статусу fail2ban, статусу в’язниці, конфігурації jail, а також блокування та розблокування IP-адрес вручну.

Прокрутка до верху