Бесплатные блок-листы для CrowdSec: Установка, настройка и лучшие источники 2026

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

Средний

Добавляем блок-листы в CrowdSec: бесплатный щит против угроз

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

Что такое CrowdSec и зачем нужны блок-листы?

CrowdSec — это современный, open-source IDS/IPS (система обнаружения/предотвращения вторжений) с механизмом репутации (reputation). Он работает по принципу «толпы»: если один пользователь обнаружил подозрительный IP, вся община CrowdSec получает сигнал и может заблокировать этот адрес.

Принцип работы прост:

  1. Агент анализирует логи (веб-сервера, SSH, VPN и т.д.)
  2. При обнаружении атаки (брутфорс, сканирование, флуд) IP попадает в коллективный список (шерлок).
  3. Другие участники сети автоматически получают обновления и блокируют этот IP.

Но зачем нужны блок-листы (blocklists)? Стандартные правила CrowdSec реагируют только на уже обнаруженные активные атаки. Блок-листы — это проактивная защита. Это предварительно подготовленные списки IP-адресов, подсетей или пользовательских агентов, которые известны как источники злонамеренного трафика. Добавляя их, вы блокируете угрозы до того, как они атакуют ваш сервер.

Проблема: Почему стандартных правил CrowdSec недостаточно?

Давайте честно: CrowdSec — не панацея. Вот почему одного только его базового набора часто не хватает:

  • Слепые зоны: CrowdSec полагается на обнаружение атаки в реальном времени. Если атакующий использует новый, еще неизвестный вектор или медленный сканер, его могут не распознать сразу.
  • Ограниченный охват: Базовые сценарии (scenarios) настроены на типовые угрозы. Они могут пропустить, например, сборщики email-адресов (сканеры для спама) или ботов, маскирующихся под легитимный трафик.
  • Атаки нулевого дня: Когда появляется новая уязвимость, сообщество CrowdSec не успевает мгновенно создать для нее правило. Блок-листы от специализированных источников могут быть оперативнее.
  • Ресурсы сервера: Каждый запрос, даже от бота, потребует CPU и I/O. Блокируя целые подсети на уровне IP-сети (iptables/nftables) или приложения (fail2ban-стиль), вы значительно экономите ресурсы.

Пример: Ваш сайт WordPress. Стандартные правила CrowdSec поймают брутфорс админки. Но бот, который спамит комментарии, или сканер, перебирающий старые версии плагинов, может пройти незаметно. Блок-лист от CMilitary или IP2Proxy поможет отсечь такие атаки заранее.

Решение: Где найти качественные, бесплатные блок-листы

Важно! Используйте только проверенные источники, чтобы не заблокировать легитимный трафик. Вот несколько надежных и бесплатных вариантов:

1. IP-адреса и подсети

Это основные списки для блокировки целых диапазонов.

  • Firehol Level 1 Lists: https://iplists.firehol.org/ — Один из лучших агрегаторов. Собирает списки из десятков источников (адреса из центров мониторинга атак, известные провайдеры спама и т.д.). Уровень 1 — безопасный базовый набор.
  • IP2Proxy LITE (PX1-PX4): https://lite.ip2location.com/ip2proxy-lite — Отличный список для блокировки прокси, VPN и Tor. Бесплатные обновления раз в месяц.
  • CrowdSec Community Blocklist: Хотя это и "шеф-помощь", в нем есть ссылки на общие списки, которые можно подключать.
  • Модули CrowdSec (Hubs): CrowdSec имеет официальный Hub (https://hub.crowdsec.net/), где можно найти коллекции от сообщества. Например, crowdsecurity/http-crawlers или crowdsecurity/geoip-enrich для блокировки по странам (используйте с осторожностью).

2. Блокировка по User-Agent (UA)

Полезно для фильтрации легких ботов, которые сканируют CMS.

  • BadBots User-Agent Lists: Многие проекты на GitHub (напр., mitchellkrogza/nginx-ultimate-bad-bot-blocker) содержат актуальные списки вредоносных User-Agent.
  • Сборники "Smart Bots": Блокируем не только явно вредоносные, но и нежелательные (например, сборщики данных, прайс-агрегаторы).

⚠️ Правила безопасности при выборе списков:

  • Частота обновлений: Списки должны обновляться регулярно (ежедневно или чаще).
  • Репутация источника: Известные проекты (Firehol, IP2Location) более надежны.
  • Тип угрозы: Выбирайте под специфику вашего сервиса (VPN, веб-сервер, API).

Пошаговая инструкция: Как добавить блок-листы в CrowdSec

Предположим, вы уже установили и настроили базовый CrowdSec.

Шаг 1: Понимание механизма работы (Технический ликбез)

Прежде чем лезть в файлы, важно понять, как CrowdSec использует списки. CrowdSec не просто читает файл и блокирует. Он работает по схеме:

  1. Источник данных (файл или URL) загружается.
  2. Парсер (Parser) вычитывает этот источник и извлекает полезные данные (например, IP-адреса).
  3. Эти данные отправляются во внутреннюю базу решений CrowdSec.
  4. Брандмауэр (Bouncer) подхватывает эти решения и применяет блокировку (через nftables/iptables или на уровне приложения).

Следовательно, нам нужно:

  • Определить источник (где лежит список).
  • Настроить парсер, который будет этот список разбирать.
  • Использовать сценарий (Scenario), который будет реагировать на "плохой" IP.

Для простоты в 95% случаев мы будем использовать официальные коллекции из Hub, где всё уже настроено. Ручная настройка нужна только для очень специфичных списков.

Шаг 2: Использование Hub (Рекомендуемый способ)

Это самый надежный и быстрый метод.

  1. Обновите Hub:

    sudo cscli hub update
    
  2. Найдите коллекцию: Зайдите на https://hub.crowdsec.net/ и воспользуйтесь поиском. Для начала рекомендую:

    • crowdsecurity/http-crawlers — блокировка популярных сканеров.
    • crowdsecurity/geoip-enrich — для геоблокировки (требует настройки GeoIP баз).
    • Сторонние коллекции (например, для списков Firehol или блокировки по User-Agent).
  3. Установите коллекцию:

    # Пример установки коллекции для блокировки веб-сканеров
    sudo cscli collections install crowdsecurity/http-crawlers
    

    Или для стороннего источника (если нашли в Hub):

    sudo cscli collections install user/collection-name
    
  4. Активируйте сценарии: После установки коллекции часто нужно активировать сценарий, который будет использоваться.

    # Смотрим, что установилось
    sudo cscli scenarios list
    
    # Активируем нужный (если он не активен)
    sudo cscli scenarios enable crowdsecurity/http-crawlers
    

Шаг 3: Ручная настройка (Для продвинутых)

Если нужного готового решения нет, настраиваем вручную. Создадим файл для списка IP.

  1. Создаем файл парсера: В /etc/crowdsec/parsers/ создаем my_blocklist.yaml. Формат YAML:

    name: my_ip_blocklist.parser
    filter: evt.Parsed.source_ip != ""
    nodes:
      - name: GetIpFromList
        type: rw
        filter: evt.Parsed.static_ip != ""
        statics:
          - parsed: source_ip
            expression: evt.Parsed.static_ip
    

    Этот парсер берет статически определенный IP (который мы передадим из сценария) и помещает его в поле source_ip.

  2. Создаем файл сценария: В /etc/crowdsec/scenarios/ создаем my_blocklist.yaml. Важно! Сценарий должен использовать тип http:requests или ssh:auth в зависимости от сервиса.

    type: http:requests
    name: my.custom.blocklist
    filter: "evt.Meta.source_ip != ''"
    blackhole: 1m
    capacity: 10
    groupby: evt.Meta.source_ip
    labels:
      service: http
      type: blocklist
    leakspeed: "10/1s"
    

    Обратите внимание: здесь нет поля data. Данные (IP) поступают из парсера, который мы настроили выше.

  3. Добавляем источник данных (файл списка): Создаем файл блок-листа (например, my_ip_list.txt) в удобном месте.

    192.168.1.100
    10.0.0.0/8
    
  4. Связываем всё через config.yaml: В главном конфиге /etc/crowdsec/config.yaml нужно добавить источник данных в секцию cscli:

    cscli:
      # ...
      sources:
        my_blocklist_source:
          type: file
          filename: /путь/к/my_ip_list.txt
          format: plain
    

    Но для современных версий CrowdSec лучший подход — это использовать collections и автоматическое скачивание через cscli.

Шаг 4: Проверка и перезапуск

После любых изменений:

# Проверяем конфигурацию на ошибки
sudo cscli hub list
sudo cscli config verify

# Перезапускаем сервис
sudo systemctl restart crowdsec

Лучшие практики: Какие листы использовать для разных сервисов

Не все списки одинаково полезны. Вот выборка по типам сервисов:

Для Веб-серверов (Nginx/Apache)

  • Задача: Блокировать сканеры уязвимостей, веб-шells, сборщики данных.
  • Рекомендации:
    • IP: Firehol Level 1 (общий шум) + списки Spamhaus DROP (активные атаки).
    • User-Agent: Блокировать агрессивные сканеры (например, Nmap, sqlmap, GoHttp необычные).
    • Geo-blocking: Если сайт только для РФ и СНГ, используйте модуль geoip-enrich и блокируйте весь остальной трафик (осторожно!).

Для VPN серверов (OpenVPN, WireGuard, SoftEther)

  • Задача: Защита от DDoS, брутфорса входа, ботов-клиентов.
  • Рекомендации:
    • IP: IP2Proxy LITE (блокировка прокси и VPN, чтобы предотвратить использование вашего VPN как анонимайзера). Списки Firehol (анти-DDoS).
    • Частота обновлений: Высокая (12-24 часа), так как списки VPN-ботнетов меняются быстро.

Для API

  • Задача: Защита от скрапинга, DDoS, злоупотреблениями лимитами.
  • Рекомендации:
    • IP: Специализированные списки для API (можно найти на GitHub). Списки BGP.Sh (подозрительные AS-номера).
    • Логика: Используйте CrowdSec для мониторинга логов API (4xx ошибки, таймауты) и формируйте свой сценарий.

Для игровых серверов

  • Задача: Блокировка читеров, DDoS (UDP floods).
  • Рекомендации:
    • IP: Списки анти-DDoS (например, Firehol DDoS), списки ботовых сетей (Mirai, Qbot).
    • Нюанс: Многие списки блокируют целые подсеты провайдеров, где живут игроки. Требуется ручная проверка.

Проверка и мониторинг: Убедитесь, что всё работает

Установка списков — это только начало. Важно не заблокировать всех.

1. Мониторинг решений (Decisions)

Используйте встроенные команды cscli для проверки активных решений:

sudo cscli decisions list

Вы увидите список заблокированных IP и тип (ban, captcha). Проверьте, нет ли там известных вам легитимных IP.

2. Просмотр логов CrowdSec

Логи находятся в /var/log/crowdsec.log. Ищите строки с ipset или nftables (в зависимости от брандмауэра), чтобы убедиться, что правила применяются.

tail -f /var/log/crowdsec.log | grep "ipset"

3. Тестовый доступ (Пассивный)

Попробуйте зайти на ваш сервис через прокси или VPN из списка блокировки (например, бесплатный прокси из списка Firehol). Если соединение разорвалось — блокировка работает.

4. Система мониторинга (Grafana + Prometheus)

Для серьезных проектов подключите метрики CrowdSec.

  • Установите crowdsec-prometheus-exporter.
  • Подключите Grafana дашборд (готовые дашборды есть на GitHub).
  • Следите за графиком "заблокированных запросов". Внезпный скачок может означать, что вы заблокировали крупный легитимный сегмент.

5. Белые списки (Whitelists)

Крайне важно! Добавьте IP вашей админки, офиса или статического IP разработчика в белый список. Файл /etc/crowdsec/parsers/whitelist.yaml:

name: my_ip_whitelist
filter: evt.Parsed.source_ip in ['123.45.67.89', '10.0.0.0/24']
statics:
  - parsed: whitelist
    value: true

Заключение: Итоги и рекомендации

Блок-листы в CrowdSec — это мощный инструмент, который превращает вашу защиту из реактивной в проактивную, при этом бесплатно.

Краткий чек-лист для старта:

  1. Не используйте сразу 50 списков. Начните с одного-двух (например, Firehol Level 1 и IP2Proxy).
  2. Настройте алерты. Убедитесь, что вы получаете уведомления о новых блокировках (через email или Telegram через модуль slack/telegram в Hub).
  3. Регулярно обновляйте Hub. Угрозы меняются: sudo cscli hub update && sudo cscli hub upgrade.
  4. Будьте готовы к "дружественной огневой поддержке". Иногда блок-листы могут агрессивно блокировать целые подсети. Имейте план отката.

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

Удачной защиты!