Главная
|
Услуги и цены
VDS
Выделенные серверы
Размещение сервера
|
F.A.Q
|
О компании
|

Установка и настройка Fail2Ban в Linux: защита от brute-force атак

  • 1. Что такое Fail2Ban
  • 2. Установка Fail2Ban
  • 3. Базовая настройка Fail2Ban
  • 4. Проверка работы Fail2Ban
  • 5. Защита веб-сервисов
  • 6. Логи Fail2Ban
  • 7. Заключение

Brute-force атаки на SSH и веб-приложения это одна из самых распространённых угроз для серверов с открытым доступом в интернет.

На заметку:
На нашем сайте вы можете подключить профессиональную DDoS защиту для любого сайта с доменом старше 1 года:
Как включить защиту от DDoS-атак

Также можно настроить DDoS защиту самостоятельно.
Fail2Ban - это эффективное и простое в использовании средство автоматической защиты от таких атак.
В этой статье мы рассмотрим, как установить Fail2Ban, настроить его для защиты SSH и веб-сервисов, а также как проверить его работу.

Что такое Fail2Ban

Fail2Ban — это демон, который анализирует журналы логов (например, auth.log, nginx-access.log) и в случае подозрительной активности блокирует IP-адрес нарушителя с помощью iptables, firewalld или nftables.

Основные возможности:
- автоматическая блокировка IP после заданного числа неудачных попыток;
- гибкая настройка "тюрем" (jail) для различных сервисов;
- поддержка множества фильтров и логов;
- масштабируемость и возможность расширения.

Установка Fail2Ban

На Debian/Ubuntu:

  apt update
apt install fail2ban -y
  

На CentOS:

  dnf install fail2ban
  

После установки рекомендуется сразу включить и запустить сервис:

  systemctl enable fail2ban
systemctl start fail2ban
  

Проверить статус:

  systemctl status fail2ban
  
fail2ban status output

Базовая настройка Fail2Ban

Конфигурация по умолчанию хранится в /etc/fail2ban/jail.conf, но редактировать его не рекомендуется.
Создайте копию:

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

Откройте файл:

  nano /etc/fail2ban/jail.local
  

Советы по nano:
Ctrl-W — поиск
Ctrl-K — удалить строку
ПКМ — вставить
Ctrl-X, y, Enter — сохранить и выйти

Пример настройки секции [sshd]:

  [sshd]
enabled  = true
port     = ssh
logpath  = %(sshd_log)s
maxretry = 5
bantime  = 3600
findtime = 600
  

Описание параметров:
- enabled: включение защиты
- port: используемый порт SSH
- logpath: путь к логу
- maxretry: количество попыток
- bantime: время бана в секундах
- findtime: окно попыток

Проверка работы Fail2Ban

  fail2ban-client status
  
status output
  fail2ban-client status sshd
  
sshd jail

После 5 неудачных подключений IP будет заблокирован.

fail2ban triggered ban

Разблокировать IP вручную:

  fail2ban-client set sshd unbanip 193.17.183.123
  

Защита веб-сервисов

Fail2Ban можно использовать для защиты nginx, WordPress и других сервисов.
Пример "тюрьмы" для Nginx:

  [nginx-wp-login]
enabled  = true
port     = http,https
filter   = nginx-wp-login
logpath  = /var/log/nginx/access.log
maxretry = 5
findtime = 600
bantime  = 3600
  

Создайте фильтр:

  [Definition]
failregex = ^<HOST> -.*"(GET|POST).*wp-login\.php.*HTTP/.*" 404.*$
            ^<HOST> -.*"(GET|POST).*404.*$
ignoreregex =
  

Перезапустите Fail2Ban:

  systemctl restart fail2ban
  
fail2ban web block 1
fail2ban web block 2

Логи Fail2Ban

Журнал находится в:
/var/log/fail2ban.log
Показывает IP, причины блокировки и время.

Заключение

Fail2Ban — один из самых простых и эффективных способов автоматической защиты серверов от brute-force атак.
После настройки он работает в фоне и не требует постоянного контроля.
Его можно гибко адаптировать под любые сервисы.

Вы также можете подключить профессиональную DDoS защиту на нашем сайте:
Как включить защиту от DDoS-атак

Fail2Ban может быть частью базовой политики безопасности любого Linux-сервера.

logo
© 2022 62yun
Все права защищены
vk.com/62yuncom
support@62yun.ru
logo
vk.com/62yuncom
support@62yun.ru
Услуги
VDS Выделенные серверы
Полезное
F.A.Q О компании Политика конфиденциальности Оферта
Способы оплаты
wechatpay visa mastercard
MirAccept
Партнеры
25port
© 2022 62yun Все права защищены
ВВЕРХ