CrowdSec: современная защита сервера
CrowdSec анализирует логи, выявляет атаки и делится репутацией IP со всем сообществом. По сути это fail2ban нового поколения с общим чёрным списком.
Содержание
Обсудить статью, задать вопрос или начать новую тему
Есть вопрос по этой статье, идея для обсуждения или просто хотите поделиться опытом? Сообщество MAATRIX ждёт. Для общения, пожалуйста, зарегистрируйтесь в нашем личном кабинете.
Перейти в сообщество →Чем CrowdSec лучше fail2ban
fail2ban реагирует только на то, что видит ваш сервер: пока конкретный бот не начал перебор именно у вас, он остаётся невидимым. CrowdSec устроен иначе. Локальный агент разбирает логи и обнаруживает атаки, а обезличенная информация о вредоносных IP попадает в глобальную базу сообщества. В ответ вы получаете общий чёрный список и блокируете известных атакующих ещё до того, как они дошли до вас.
Архитектура принципиально разделена на две части: агент (детект угроз по логам) и бансер (bouncer, который применяет блокировку). Это делает систему гибкой — бансеры бывают для iptables, nginx, cloud-фаерволов — и не привязывает защиту к одному сервису. На VPS MAATRIX с root-доступом установка занимает несколько минут и не требует внешних зависимостей.
Ещё один плюс — читаемая аналитика. Вместо разбора сырых логов вы работаете с понятными командами cscli, которые показывают, кто, когда и за что попал под блокировку.
Нужен сервер под эту задачу?
Разверните VPS MAATRIX за пару минут: NVMe, AMD EPYC, root-доступ, локации UK, США и РФ. Оплата картой РФ и по СБП.
Арендовать VPS под CrowdSecУстановка
Подключаем официальный репозиторий и ставим агент вместе с фаервол-бансером на базе iptables.
curl -s https://install.crowdsec.net | sudo sh
apt install crowdsec -y
apt install crowdsec-firewall-bouncer-iptables -y
Агент сразу начинает читать системные логи (SSH, syslog и др.). Проверить статус сервиса и собранную статистику:
systemctl status crowdsec
cscli metrics
Раздел metrics покажет, сколько строк логов обработано и сколько срабатываний зафиксировано — это подтверждает, что агент действительно видит нужные источники.
Коллекции и сценарии
CrowdSec работает через коллекции — наборы парсеров и сценариев под конкретный софт (SSH, nginx, apache, mysql и т.д.). Посмотрите установленные и добавьте нужные для вашего стека.
cscli collections list
cscli collections install crowdsecurity/nginx
cscli collections install crowdsecurity/sshd
systemctl reload crowdsec
Каждая коллекция знает типовые паттерны атак для своего сервиса: перебор паролей, сканирование путей, попытки эксплойтов. Без установленной коллекции под ваш веб-сервер атаки на сайт останутся незамеченными, поэтому подбирайте набор под реальный стек.
Просмотр атак и банов
Все обнаружения (alerts) и активные блокировки (decisions) видны через cscli. Это удобнее и нагляднее, чем копаться в сырых логах вручную.
cscli alerts list
cscli decisions list
Разбанить IP вручную — например, себя после неосторожного теста:
cscli decisions delete --ip 1.2.3.4
Можно и добавить блокировку руками, если знаете вредоносный адрес: cscli decisions add --ip 1.2.3.4 --duration 24h. Так CrowdSec совмещает автоматику и ручное управление.
Подключение к сообществу
Зарегистрируйте инстанс в облаке CrowdSec (Central API), чтобы получать общий чёрный список сообщества и видеть статистику в веб-консоли.
cscli capi register
systemctl restart crowdsec
cscli capi status
Теперь агрессивные IP, уже замеченные на тысячах других серверов по всему миру, блокируются у вас превентивно — вы защищены от угроз ещё до первого их контакта с вашим сервером. Это ключевое отличие от локального fail2ban: коллективный иммунитет вместо изолированной обороны.
Частые ошибки
- Забыть поставить бансер — тогда CrowdSec видит атаки, но фактически не блокирует их.
- Заблокировать собственный IP при тестах; всегда держите под рукой команду разбана.
- Не установить коллекцию под свой веб-сервер — атаки на сайт остаются вне поля зрения.
- Держать статический IP офиса без whitelist и попадать под свои же правила.
- Запускать одновременно fail2ban и CrowdSec на одних логах — они начнут конфликтовать.
Добавьте свой доверенный адрес в whitelist через файл в /etc/crowdsec/parsers/s02-enrich/, чтобы гарантированно не блокировать себя. На NVMe-нодах MAATRIX потоковый разбор логов идёт особенно быстро, поэтому нагрузка от CrowdSec остаётся практически незаметной даже под интенсивным трафиком.
Нужен сервер под эту задачу?
Разверните VPS MAATRIX за пару минут: NVMe, AMD EPYC, root-доступ, локации UK, США и РФ. Оплата картой РФ и по СБП.
Арендовать VPS под CrowdSecОбсудить статью, задать вопрос или начать новую тему
Есть вопрос по этой статье, идея для обсуждения или просто хотите поделиться опытом? Сообщество MAATRIX ждёт. Для общения, пожалуйста, зарегистрируйтесь в нашем личном кабинете.
Перейти в сообщество →Частые вопросы
CrowdSec заменяет fail2ban?
Да, для большинства задач это более мощная замена с общим списком угроз сообщества. Держать оба одновременно на одних логах не стоит — они будут конфликтовать за баны.
CrowdSec платный?
Ядро open-source и бесплатное, включая общий чёрный список сообщества. Платными являются премиальные ленты угроз и корпоративные функции управления.
Он сильно грузит сервер?
Нет, агент лёгкий и читает логи потоково. На NVMe-нодах MAATRIX разбор логов идёт особенно быстро, а нагрузка на CPU остаётся минимальной.