Обновлена документация под новые аддоны (gitlab, redis, mongodb, kafka, kafka-ui, rabbitmq) и новую модель явного выбора зависимостей. Добавлены и унифицированы описания переключателей *_database_mode и *_redis_mode, обновлена таблица зависимостей аддонов, примеры конфигурации и список vault-секретов.
83 lines
3.0 KiB
Markdown
83 lines
3.0 KiB
Markdown
# CrowdSec
|
||
|
||
Система обнаружения и блокировки вторжений (IDS/IPS). Анализирует логи ingress-nginx и системные логи, блокирует вредоносные IP через bouncer. Поддерживает интеграцию с CrowdSec Central API для использования глобальной базы угроз.
|
||
|
||
## Быстрый старт
|
||
|
||
```yaml
|
||
# group_vars/all/addons.yml
|
||
addon_crowdsec: true
|
||
```
|
||
|
||
```bash
|
||
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`:
|
||
```yaml
|
||
vault_crowdsec_enroll_key: "твой-ключ"
|
||
```
|
||
|
||
## Nginx Bouncer
|
||
|
||
Блокирует вредоносные IP прямо в ingress-nginx. Требует `addon_ingress_nginx: true`.
|
||
|
||
```yaml
|
||
crowdsec_nginx_bouncer_enabled: true
|
||
```
|
||
|
||
После установки в ingress-nginx автоматически добавляются аннотации для проверки IP через CrowdSec LAPI.
|
||
|
||
## Мониторинг решений
|
||
|
||
```bash
|
||
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
|
||
|
||
```bash
|
||
kubectl exec -n crowdsec deployment/crowdsec-lapi -- \
|
||
cscli decisions add --type whitelist --value "192.168.1.0/24" --reason "local network"
|
||
```
|
||
|
||
## Добавить коллекции парсеров
|
||
|
||
```yaml
|
||
crowdsec_collections: "crowdsecurity/linux crowdsecurity/nginx crowdsecurity/kubernetes crowdsecurity/sshd"
|
||
```
|
||
|
||
## Настройка acquisition (какие логи читать)
|
||
|
||
```yaml
|
||
crowdsec_acquisition:
|
||
- namespace: ingress-nginx
|
||
podName: "ingress-nginx-controller-*"
|
||
program: nginx
|
||
- namespace: gitea
|
||
podName: "gitea-*"
|
||
program: gitea
|
||
```
|
||
## Официальные ресурсы
|
||
|
||
- Официальный сайт: [https://www.crowdsec.net/](https://www.crowdsec.net/)
|
||
- Официальная документация: [https://docs.crowdsec.net/](https://docs.crowdsec.net/)
|
||
- Версии Helm chart / ПО: [https://artifacthub.io/packages/helm/crowdsec/crowdsec](https://artifacthub.io/packages/helm/crowdsec/crowdsec)
|