Русский
Русский
English
Статистика
Реклама

Fail2ban

CrowdSec современная альтернатива Fail2Ban и коллективный иммунитет для Интернета

16.11.2020 12:07:26 | Автор: admin

CrowdSec

Инструмент Fail2Ban хорошо известен админам. Программа анализирует логи на сервере и подсчитывает количество попыток доступа с конкретных IP-адресов по указанным протоколам. В случае нарушения правила данный IP-адрес блокируется на заданный отрезок времени. Например, джейл для авторизации по SSH включён с дефолтными настройками 5 попыток авторизации за 10 минут, после чего происходит бан IP-адреса на 10 минут. Отличный способ отфильтровать мусорный трафик от разных сканеров и защита от DDoS.

Fail2Ban и SSHGuard лучшие инструменты в своей области. Однако новый опенсорсный проект CrowdSec представляется интересной альтернативой. Это локальная замена Fail2Ban, а потенциально нечто большее глобальная база репутации IP-адресов типа иммунной системы интернета.

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



Разработчики CrowdSec называют следующие ключевые особенности:

  • обнаружение атак и реагирование на всех уровнях (логи могут лежать в любом месте);
  • простота в установке и обслуживании (установка с визардом в консоли);

    git clone https://github.com/crowdsecurity/crowdsec/releases/latest
    

    sudo ./wizard.sh -i
    


    Установка CrowdSec. Визард в консоли помогает выбрать и предлагает, какие демоны/логи нужно мониторить, хотя возможна и последующая настройка через обычные конфиги
  • интеграция с другими компонентами (чтение логов и автоматическая блокировка нарушителей на уровне CDN);
  • общий доступ (опционально): метаданные можно отправлять в центральный API, так что данные о вредоносных IP-адресах получат все пользователи. Нужно подчеркнуть, что это опциональная фича, и никто не заставляет передавать метаданные в общий доступ;
  • лёгкий вес: автономная работа, минимум оперативной памяти и CPU;
  • возможность обработки холодных логов (из архива) для своеобразной симуляции;
  • предустановленные панели мониторинга.

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

Ещё один интересный момент инструмент написан на языке программирования Go.

С архитектурной точки зрения система состоит из трёх основных компонентов:

  • постоянно работающая служба CrowdSec, которая отслеживает логи, атаки и т. д.;
  • инструмент командной строки, интерфейс для взаимодействия со службой;
  • модули интеграции (bouncers) с другими инструментами типа Cloudflare для реального обеспечения блокировки.

Вот как выглядит архитектура программы из документации:



На данный момент разработано пять модулей интеграции (bouncers):
cs-cloudflare-blocker, cs-custom-blocker (пользовательские сценарии), cs-netfilter-blocker, cs-nginx-blocker и cs-wordpress-blocker. Например, модуль для Nginx сверяет каждый неизвестный IP-адрес с базой данных, прежде чем веб-сервер ответит на запрос или выдаст ошибку 403. Модуль Netfilter просто добавляет вредоносные IP-адреса в чёрный список nftables/ipset.

Для простоты настройки на сайте собраны коллекции и конфигурации.

Коллекции это, по сути, просто наборы парсеров и сценариев для разных ситуаций. Например, в коллекцию Nginx входит парсер логов nginx-logs и базовые http-сценарии для определения типичных вредоносных ботов (агрессивный краулинг, сканирование/пробирование портов, чёрный список user-agent'ов, а также определение попыток проведения атаки path traversal).

Полный список коллекций:


Один из вариантов работы с CrowdSec через консольную программу cscli:

cscli metrics

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

Следующая команда выводит список хостов с указанием причин, почему их забанили, кодом страны, идентификатором автономной сети (AS), количеством нарушений и другой информацией.

cscli ban list



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

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

vi /etc/crowdsec/config/profiles.yaml

Естественно, кастомные сценарии тоже поддерживаются.

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

Сейчас компания пытается предложить пользователям платный доступ к облачному API и базе данных с репутацией IP-адресов, которая составляется совместными усилиями. При этом поставщики информации в эту базу освобождаются от оплаты, а платят только чистые потребители, которые не хотят делиться информацией из своих логов. Планируется два тарифных плана: premium и enterprise с услугами по поддержке, специальными служебными инструментами (типа развёртывания системы на несколько локаций из одного центрального места), применением дата-майнинга и машинного обучения (обнаружение тенденций в глобальных данных), более продвинутом анализе холодных логов (форензика, криминалистика, расследования хотя данное направление бизнеса в Европе затруднено из-за закона GDPR).

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



Разработчики обращают внимание, что программа пока в бета-версии, но никаких проблем на продакшне ни у кого не возникало. Они также говорят, что программа на Go элементарно портируется на другие платформы вроде Windows и Mac.

По итогу сейчас это добротный опенсорсный инструмент, который можно использовать в качестве альтернативы старому доброму Fail2Ban. А со временем он может превратиться в нечто большее. Разработчики ставят цель в создании своеобразного коллективного иммунитета, когда клетки организма (серверы) коллективно защищаются от атак, словно иммунная система.



На правах рекламы


Виртуальные серверы с защитой от DDoS-атак и новейшим железом, серверы размещены в одном из лучших российских дата-центров DataPro. Всё это про наши эпичные серверы. Максимальная конфигурация 128 ядер CPU, 512 ГБ RAM, 4000 ГБ NVMe! Поспешите заказать.

Подробнее..

Категории

Последние комментарии

  • Имя: Макс
    24.08.2022 | 11:28
    Я разраб в IT компании, работаю на арбитражную команду. Мы работаем с приламы и сайтами, при работе замечаются постоянные баны и лаги. Пацаны посоветовали сервис по анализу исходного кода,https://app Подробнее..
  • Имя: 9055410337
    20.08.2022 | 17:41
    поможем пишите в телеграм Подробнее..
  • Имя: sabbat
    17.08.2022 | 20:42
    Охренеть.. это просто шикарная статья, феноменально круто. Большое спасибо за разбор! Надеюсь как-нибудь с тобой связаться для обсуждений чего-либо) Подробнее..
  • Имя: Мария
    09.08.2022 | 14:44
    Добрый день. Если обладаете такой информацией, то подскажите, пожалуйста, где можно найти много-много материала по Yggdrasil и его уязвимостях для написания диплома? Благодарю. Подробнее..
© 2006-2024, personeltest.ru