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

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

CrowdSec использует систему анализа поведения, чтобы определить, пытается ли кто-то вас взломать, на основе ваших логов.

Если ваш агент обнаруживает такую агрессию, нарушающий IP адрес обрабатывается и отправляется на лечение.

Если этот сигнал проходит процесс курирования, IP затем перераспределяется среди всех пользователей, использующих аналогичный технологический профиль, чтобы «иммунизировать» их против этого IP.

Что касается IP-адреса, который атаковал вашу машину, вы можете устранить угрозу любым удобным для вас способом.

В конечном итоге CrowdSec использует мощь толпы для создания чрезвычайно точной системы репутации IP, которая приносит пользу всем ее пользователям.

CrowdSec является бесплатным и м открытым исходным кодом (под лицензией MIT), исходный код которого доступен на GitHub.

В настоящее время он доступен для Linux, с выпусками для macOS и Windows в планах развития.

Вот список основных функций этого решения:

  • Позволяет пользователям обнаруживать атаки и реагировать на них на любом уровне (блокировка в вашем брандмауэре, обратном прокси, CDN или непосредственно на прикладном уровне)
  • Простота в установке и обслуживании, не требует технических требований. Установщик поставляется с мастером установки
  • Разработан для интеграции с другими решениями и компонентами (например, используйте CrowdSec для чтения ваших журналов mod_security и автоматической блокировки злоумышленников на вашем прокси-сервере при информировании вашего SIEM)
  • Речь идет о совместном использовании: метаданные об обнаруженной вами атаке/злоумышленнике отправляются в центральный API, а подтвержденные нежелательные IP-адреса затем передаются всем пользователям.
  • Легковесный: он работает автономно, не требует много оперативной памяти или процессора, написан на Golang для обеспечения высокой производительности.
  • Может работать с сырыми логами: вы можете запустить его на старых логах и посмотреть, что могло произойти, если вы использовали тот или иной сценарий, или просто посмотреть, кто атаковал вас в прошлом
  • Поставляется со стандартными дашбордами, потому что визуализация является ключевым моментом
  • Может использоваться со многими различными решениями для наиболее подходящего ответа на входящие угрозы (Drop, 2FA, Captcha, Script и т. д.)

Важно отметить, что за разработкой стоит французская команда, что является плюсом для конфиденциальности.

Даже если вы выберете «совместную работу» и поделитесь собранными данными, будут отправлены только 3 параметра: отметка времени, IP-адреса нарушителей и политика, которую они нарушили.

Как скачать и установить

Установка CrowdSec

Мастер в консоли поможет вам выбрать и предложить, каких демонов/логины отслеживать, хотя возможна и последующая настройка с помощью обычных конфигураций.

Скачать

1
$ git clone https://github.com/crowdsecurity/crowdsec.git

Установка

1
$ sudo ./wizard.sh -i

Архитектура

Система состоит из трех основных компонентов:

  • Служба CrowdSec, которая представляет собой постоянную службу, которая отслеживает логи, отслеживает атаки и т. д.
  • Инструмент командной строки, который является интерфейсом cli для взаимодействия со службой.
  • Bouncers, которые представляют собой инструменты, позволяющие устранять угрозу там, где и как вы считаете нужным, или взаимодействовать с другим программным обеспечением.

Служба выполняет весь мониторинг, инструмент cscli – это то, через что вы настраиваете, запрещаете вещи, получаете метрики и т. д., а bouncers- это то, как система взаимодействует с другими инструментами, чтобы на самом деле что-то делать, например, блокировать кого-то в Iptables, SSH, Cloudflare. , так далее. Коллекции – это в основном наборы парсеров и сценариев для разных ситуаций. Например, коллекция Nginx включает парсер nginx-logs и базовые сценарии http для выявления типичных вредоносных ботов (агрессивное сканирование, сканирование / перфорация портов, черный список пользовательских агентов и попытки атак с обходом пути).

Вот полный список:

Другой способ взаимодействия с CrowdSec – через консольную программу cscli. Она поддерживает большой список команд и параметров для подключения / удаления конфигураций, добавления новых правил блокировки и т. д.

1
$ cscli metrics

Эта команда предоставляет базовые показатели о парсерах, объеме обработанных логов, количестве обнаруженных и заблокированных угроз для каждой коллекции (список коллекций см. Выше).

1
$ cscli ban list

Эта команда показывает IP-адреса, которые были забанены, количество событий, которые были просмотрены с них, количество раз, когда они были заблокированы, страна, из которой они пришли, а также IP, к которому принадлежит их IP.

Помимо cscli, конфигурацию также можно изменить традиционным способом, отредактировав текстовый файл в формате YAML:

1
$ nano /etc/crowdsec/config/profiles.yaml

Интеграции

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

  • Блокировка людей в Cloudflare
  • Запуск собственных произвольных скриптов
  • Выполнение блока в netfilter/iptables
  • Бан IP в Nginx
  • Блокировка в WordPress

И это только начало, поскольку сообщество начинает разрабатывать различные интеграции, baucers, скрипты и источники данных.