MAATRIX / Блог / CrowdSec на сервере: частые ошибки и решения

CrowdSec на сервере: частые ошибки и решения

CrowdSec на сервере: частые ошибки и решения

MAATRIX

CrowdSec поставили, метрики красиво растут, а сервер всё равно ловит атаки, и ни один адрес не в бане. Знакомая картина: инструмент установлен, но защиты нет. Почти все ошибки CrowdSec на сервере сводятся к нескольким типовым промахам в связке «агент — бансер — коллекции». Разберём их по порядку и починим.

Обсудить статью, задать вопрос или начать новую тему

Есть вопрос по этой статье, идея для обсуждения или просто хотите поделиться опытом? Сообщество MAATRIX ждёт. Для общения, пожалуйста, зарегистрируйтесь в нашем личном кабинете.

Перейти в сообщество →

Ошибка: агент анализирует, но никто не банит

Самая частая и самая обидная ошибка. Вы смотрите cscli metrics, видите сотни обработанных строк и сработавших сценариев, радуетесь — а блокировок нет. Причина в том, что CrowdSec разделён на две независимые части. Агент только распознаёт атаки и принимает «решения», а исполняет их отдельный компонент — бансер (bouncer). Если бансер не установлен или не подключён, решения принимаются в пустоту.

Проверьте наличие исполнителя:

cscli bouncers list

Если список пуст, поставьте бансер для фаервола и убедитесь, что он появился и недавно обращался к агенту:

apt install -y crowdsec-firewall-bouncer-nftables
cscli bouncers list

Колонка с временем последнего запроса должна обновляться. Только после этого решения агента превращаются в реальные правила фаервола. Запомните: агент без бансера — это сигнализация без замка. Она пищит, но дверь не запирает.

Ошибка: коллекции стоят, а сценарии не работают

Вы установили коллекцию под Nginx или SSH, но соответствующие атаки не распознаются. Обычно причина в том, что после установки коллекции сервис не был перечитан, и новые парсеры с сценариями просто не загрузились в память работающего агента:

cscli collections install crowdsecurity/nginx
systemctl reload crowdsec

Вторая причина — агент читает не тот лог. CrowdSec анализирует конкретные файлы, указанные в его конфигурации сбора логов. Если ваш Nginx пишет в нестандартный путь или логи вовсе отключены, анализировать нечего. Сверьте, какие источники агент реально читает, через cscli metrics — там видно, по каким файлам идут строки. Ноль строк по нужному сервису означает, что источник настроен неверно.

Нужен сервер под эту задачу?

Разверните VPS MAATRIX за пару минут: NVMe, AMD EPYC, root-доступ, локации UK, США и РФ. Оплата картой РФ и по СБП.

Арендовать VPS

Ошибка: забанил сам себя

CrowdSec честно делает свою работу — и однажды блокирует ваш собственный адрес после серии неудачных подключений или активной отладки. Доступ по SSH пропадает, начинается паника. Решение простое: заранее внесите свой рабочий IP в исключения, а если уже забанены — снимите решение через панель провайдера или консоль восстановления.

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

cscli decisions list
cscli decisions delete --ip ВАШ_IP

Чтобы это не повторялось, добавьте доверенные адреса в whitelist. Отдельно оцените удобство провайдера: у MAATRIX доступ к серверу есть не только по SSH, но и через панель управления, поэтому даже полная блокировка по фаерволу не оставит вас снаружи — восстановить доступ можно всегда.

Ошибка: высокая нагрузка после установки

Иногда после установки CrowdSec сервер начинает заметно тормозить, растёт потребление памяти и процессора. Это не поломка, а честный сигнал: анализ больших объёмов логов требует ресурсов. Особенно сильно нагружает система при огромных access-логах нагруженного сайта и множестве одновременно установленных коллекций.

Первое, что стоит сделать, — убрать лишние коллекции и оставить только те, что относятся к реально работающим сервисам. Второе — настроить ротацию логов, чтобы агент не перечитывал гигантские файлы. Если после оптимизации нагрузка всё равно велика, значит, задача переросла минимальный тариф. На сервере с 1 ГБ памяти CrowdSec живёт, но нагруженному веб-проекту комфортнее с 2 ГБ и двумя ядрами. Перейти на тариф помощнее и оплатить его из России картой, СБП или криптой удобно у MAATRIX — это честнее, чем выключать защиту ради скорости.

Ошибка: бансер есть, а правила фаервола пустые

Бывает так: бансер установлен и виден в списке, но в фаерволе всё равно нет заблокированных адресов. Частая причина — конфликт бэкендов. Firewall-bouncer работает через nftables или iptables, и если на сервере параллельно рулит ufw или другой инструмент, правила могут не применяться или затираться.

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

Ошибка: не обновляется после долгой работы

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

Также следите, что после перезагрузки сервера и агент, и бансер стартуют автоматически. Нередко после планового ребута админ обнаруживает, что защиты нет уже неделю, потому что один из сервисов не был включён в автозапуск. Проверить это стоит сразу после установки:

systemctl is-enabled crowdsec crowdsec-firewall-bouncer

Обе строки должны показать enabled. Заведите привычку раз в пару недель заглядывать в метрики и список решений — это и контроль здоровья системы, и понимание, откуда идёт основная нагрузка.

Как проверить, что всё наконец работает

Финальная проверка простая и честная. Атаки в интернете идут постоянно, поэтому на живом сервере через час-другой после настройки в списке решений уже должны появиться заблокированные адреса. Если cscli decisions list не пуст, а cscli bouncers list показывает недавнюю активность бансера — связка агент-бансер собрана правильно.

Дополнительно сверьте, что заблокированные адреса реально отражены в фаерволе, а ваш собственный IP в исключениях. Этих трёх проверок — решения есть, бансер активен, свой адрес защищён — достаточно, чтобы считать CrowdSec на сервере работающим, а не декоративным. Возьмите за правило возвращаться к этим проверкам после каждого обновления системы или смены конфигурации сервисов: именно в такие моменты чаще всего незаметно ломается связка, и защита превращается в фикцию, о которой вы узнаёте слишком поздно.

Нужен сервер под эту задачу?

Разверните VPS MAATRIX за пару минут: NVMe, AMD EPYC, root-доступ, локации UK, США и РФ. Оплата картой РФ и по СБП.

Арендовать VPS

Обсудить статью, задать вопрос или начать новую тему

Есть вопрос по этой статье, идея для обсуждения или просто хотите поделиться опытом? Сообщество MAATRIX ждёт. Для общения, пожалуйста, зарегистрируйтесь в нашем личном кабинете.

Перейти в сообщество →

Частые вопросы

Почему CrowdSec не банит, хотя метрики растут?

Скорее всего, не установлен или не подключён бансер. Агент только принимает решения, а блокирует их исполнитель — проверьте cscli bouncers list.

Установил коллекцию, а сценарии не работают.

Нужно перечитать конфиг командой systemctl reload crowdsec и убедиться, что агент читает правильный лог-файл сервиса.

CrowdSec забанил мой IP, что делать?

Снимите решение командой cscli decisions delete --ip через панель или консоль восстановления и добавьте адрес в исключения. У MAATRIX доступ есть и через панель, так что снаружи вы не останетесь.

После установки сервер тормозит — это нормально?

Анализ больших логов требует ресурсов. Уберите лишние коллекции и настройте ротацию, а если не помогает — перейдите на тариф с 2 ГБ памяти.

Нужны сами нейросети для контента?

Генерируйте изображения, видео и озвучку нейросетями на falapi.io — десятки моделей в одном окне. Оплата картой РФ и по СБП.