- 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 уже существовали)
2.6 KiB
2.6 KiB
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.
- Зарегистрируйся на https://app.crowdsec.net
- My Instances → Add Instance → скопируй ключ
- Задай в
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