Обо мне Блог Контакты

CrowdSec как мощная альтернатива Fail2ban

Введение

В предыдущих статьях я рассказал как настроил свой обратный прокси Traefik для своего домашнего сервера. Теперь я могу выставлять любые свои сервисы наружу в интернет, и пользоваться ими, как любыми другими сервисами, от того же Google или Yandex. Но разница в том, что сейчас я сам себе хозяин, никто никогда не сможет заблокировать мне доступ или потребовать плату за использование моих сервисов. Все находится у меня дома под моей ответственностью. Разумеется безопасность моего сервера - это тоже моя ответственность.

На данный момент у меня есть только небольшая защита от brute-force атак посредством rate-limiting в самом Traefik. Но этого явно недостаточно, тем более если я буду выставлять наружу такие сервисы как Immich с моими личными фотографиями, Nextcloud с моими файлами или Vaultwarden с моими паролями. Нужна еще защита от всяких сканеров, ботов, и остального "интернет-шума". Я хочу быть уверенным, что моими сервисами пользуюсь только я или мои родные/друзья, и никто другой не может пробраться ко мне и получить доступ к информации.


Fail2Ban

Существует такая штука как Fail2Ban. Это небольшая утилита, которая анализирует Access-логи, и если видит какую-то подозрительную активность (например один IP адрес перебирает несуществующие адреса), то закрывает доступ для этого IP адреса на какое-то время, либо банит его навсегда. Разумеется все это настраивается. Это достаточно мощная утилита, и я рассказывал о ее настройке в статье о базовой защите VPS/VDS сервера. Я рекомендую ее использовать практически всегда на любом сервере, доступном из интернета.

Но... существует более мощная альтернатива.


CrowdSec

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

CrowdSec решает две ключевые задачи:

  • Автоматическая защита. Он анализирует логи ваших серверов, приложений и баз данных в реальном времени. Если кто-то пытается подобрать пароль к SSH, сканирует порты или атакует какой-то ваш сервис или web-сайт, CrowdSec автоматически блокирует этого нарушителя.
  • Коллективная защита. Если ваш сервер уже атаковали, и CrowdSec определил это и заблокировал нарушителя, то его IP адрес автоматически попадает в центральную базу. Получив эту информацию, CrowdSec у миллионов других пользователей по всему миру автоматически заблокирует этого хакера еще ДО того, как он попытается атаковать их.

Мне очень понравился принцип работы этой утилиты, и я применил ее у себя на сервере. Настроим вместе с вами в следующей статье.