Fail2Ban отличный вариант для отражения атак грубой силы на ваш сервер

fail2ban

Одним из наиболее распространенных векторов атак на серверы являются попытки входа в систему методом грубой силы. Именно здесь злоумышленники пытаются получить доступ к вашему серверу, пробуя бесконечное количество комбинаций имен пользователей и паролей.

Для такого рода проблем самое быстрое и эффективное решение - ограничить количество попыток и заблокировать доступ к пользователю или этому IP на определенное время. Также важно знать, что для этого существуют также приложения с открытым исходным кодом, специально разработанные для защиты от этого типа атак.

В сегодняшнем посте Я представлю вам один, который называется Fail2Ban.. Первоначально разработанный Сирилом Жакье в 2004 году, Fail2Ban представляет собой программную среду предотвращения вторжений, которая защищает серверы от атак методом грубой силы.

О Fail2ban

Fail2ban сканирует файлы журналов (/ var / журнал / apache / error_log) и запрещает IP-адреса, демонстрирующие вредоносную активность, например, слишком много неверных паролей и поиск уязвимостей и т. д.

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

Установка Fail2Ban в Linux

Fail2Ban находится в большинстве репозиториев основных дистрибутивов Linux и, в частности, в наиболее часто используемых для использования на серверах, таких как CentOS, RHEL и Ubuntu.

В случае Ubuntu для установки просто введите следующее:

sudo apt-get update && sudo apt-get install -y fail2ban

В случае с Centos и RHEL они должны ввести следующее:

yum install epel-release
yum install fail2ban fail2ban-systemd

Если у вас есть SELinux, важно обновить политики:

yum update -y selinux-policy*

Как только это будет сделано, они должны знать на переднем плане, что файлы конфигурации Fail2Ban находятся в / etc / fail2ban.

Конфигурация Fail2Ban в основном разделен на два ключевых файла; это fail2ban.conf и jail.conf. fail2ban.conf - это более крупный файл конфигурации Fail2Ban, в котором вы можете настроить такие параметры, как:

  • Уровень журнала.
  • Файл для входа.
  • Файл сокета процесса.
  • Файл pid.

jail.conf - это место, где вы настраиваете такие параметры, как:

  • Конфигурация защищаемых сервисов.
  • Как долго банить, если на них нападут.
  • Электронный адрес для отправки отчетов.
  • Действие при обнаружении атаки.
  • Предустановленный набор настроек, например SSH.

конфигурация

Теперь перейдем к настройке, Первое, что мы собираемся сделать, это сделать резервную копию нашего файла jail.conf с:

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

И приступаем к редактированию с помощью nano:

nano /etc/fail2ban/jail.local

Внутри мы переходим в раздел [Default], где можем внести некоторые изменения.

Здесь, в части "ingoreip", указаны IP-адреса, которые не будут учитываться. и они будут полностью игнорироваться Fail2Ban, то есть в основном IP-адресом сервера (локальным) и другими, которые, по вашему мнению, следует игнорировать.

С этого момента другие IP-адреса, к которым не удалось получить доступ, будут заблокированы и дождитесь количества секунд, в течение которых он будет забанен (по умолчанию это 3600 секунд), и что fail2ban действует только после 6 неудачных попыток

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

[ssh] enabled = true
port = ssh
filter = sshd
logpath = /var/log/auth.log
maxretry = 6

После внесения соответствующих изменений вам, наконец, потребуется перезагрузить Fail2Ban, запустив:

service fail2ban reload
systemctl enable firewalld
systemctl start firewalld

После этого давайте быстро проверим, работает ли Fail2Ban:

sudo fail2ban-client status

Разбанить IP

Теперь, когда мы успешно заблокировали IP-адрес, что, если мы хотим разблокировать IP-адрес? Для этого мы снова можем использовать fail2ban-client и указать ему разблокировать определенный IP-адрес, как в примере ниже.

sudo fail2ban-client set ssh unbanip xxx.xxx.xx.xx

Где «ххх…». Это будет IP-адрес, который вы укажете.