Files
K3S/addons/crowdsec
Sergey Antropoff eccc1c2a01 docs: полная документация проекта — docs/ и README.md для каждого аддона
- README.md: перепиcан как компактный обзор (98 строк) с навигацией по docs/
- docs/: 13 файлов — getting-started, architecture, configuration, addons,
  storage, security, cicd, observability, networking, operations,
  make-reference, molecule-testing, troubleshooting
- addons/*/README.md: 31 новый файл — описание, параметры, примеры кода
  для каждого из 34 аддонов (vault и external-secrets уже существовали)
2026-04-26 00:22:06 +03:00
..

CrowdSec

Система обнаружения и блокировки вторжений (IDS/IPS). Анализирует логи ingress-nginx и системные логи, блокирует вредоносные IP через bouncer. Поддерживает интеграцию с CrowdSec Central API для использования глобальной базы угроз.

Быстрый старт

# group_vars/all/addons.yml
addon_crowdsec: true
make addon-crowdsec

Параметры

Переменная Умолч. Описание
crowdsec_instance_name k3s-cluster Имя инстанса в Central API
crowdsec_collections linux nginx kubernetes Набор правил обнаружения
crowdsec_nginx_bouncer_enabled false Включить блокировку через nginx
crowdsec_enroll_key vault_crowdsec_enroll_key Ключ энролмента (опционально)

Энролмент в CrowdSec Central API (опционально)

Позволяет использовать глобальную базу угроз и видеть свой инстанс на app.crowdsec.net.

  1. Зарегистрируйся на https://app.crowdsec.net
  2. My Instances → Add Instance → скопируй ключ
  3. Задай в vault.yml:
vault_crowdsec_enroll_key: "твой-ключ"

Nginx Bouncer

Блокирует вредоносные IP прямо в ingress-nginx. Требует addon_ingress_nginx: true.

crowdsec_nginx_bouncer_enabled: true

После установки в ingress-nginx автоматически добавляются аннотации для проверки IP через CrowdSec LAPI.

Мониторинг решений

kubectl exec -n crowdsec deployment/crowdsec-lapi -- cscli decisions list
kubectl exec -n crowdsec deployment/crowdsec-lapi -- cscli alerts list
kubectl exec -n crowdsec deployment/crowdsec-lapi -- cscli metrics

Добавить IP в whitelist

kubectl exec -n crowdsec deployment/crowdsec-lapi -- \
  cscli decisions add --type whitelist --value "192.168.1.0/24" --reason "local network"

Добавить коллекции парсеров

crowdsec_collections: "crowdsecurity/linux crowdsecurity/nginx crowdsecurity/kubernetes crowdsecurity/sshd"

Настройка acquisition (какие логи читать)

crowdsec_acquisition:
  - namespace: ingress-nginx
    podName: "ingress-nginx-controller-*"
    program: nginx
  - namespace: gitea
    podName: "gitea-*"
    program: gitea