Fail2Ban працює таким чином - ця утиліта відстежує системні журнали за допомогою вже написаних фільтрів. В цьому випадку розглянемо маленькі, але дієві налаштування для блокування ip адрес з яких намагаються отримати доступ.

Встановлюємо:
sudo apt install fail2ban
В директорії /etc/fail2ban/ є файл jail.conf як приклад різних конфігурацій, залишаємо його і в тій же директорії створюємо новий файл sudo nano /etc/fail2ban/jail.local, а з прикладу беремо таку конфігурацію.

[DEFAULT]
bantime = 30m #час на який бокувати ip в даному випадку 30 хвилин
findtime = 30m #якщо за 30 хвилин буде якась кількість спроб
maxretry = 3 #кількість невдалих спроб отримати доступ
bantime.increment = true #збільшувати час блокування адресу якщо такий адрес був попередньо заблокований
banaction = iptables-multiport #використовувати iptables для блокування
action_ = %(banaction)s[port="%(port)s", protocol="%(protocol)s", chain="%(chain)s"]  #фукція блокування
action = %(action_)s #виконувати фукцію

[sshd]

# To use more aggressive sshd modes set filter parameter "mode" in jail.local:
# normal (default), ddos, extra or aggressive (combines all).
# See "tests/files/logs/sshd" or "filter.d/sshd.conf" for usage example and details.
#mode   = normal
enabled = true #дозволити цю дію, їх може бути багато
port    = 22 #стандартний порт ssh, бажано змінити
filter  = sshd #назва фільтру в директорії `/etc/fail2ban/filter.d/`
logpath = %(sshd_log)s
backend = %(sshd_backend)s

Щоб дивитися на налаштування цього фільтру виконуємо команду:
sudo fail2ban-client status sshd

Список фільтрів:
sudo fail2ban-client status
В цьому випадку буде тільки один sshd

Щоб дивитися журнал або log:
tail -f /var/log/fail2ban.log
Утиліта tail з опцією -f читає текстові файли з кінця та автоматичним оновленням.

Додати комментар

Наступний запис Попередній запис