RousselTMLEARNING

Artículo · CrowdSec: del descubrimiento a la experiencia

Instalar y configurar CrowdSec

Este artículo está disponible en francés.

1. Installer #

Paquets Linux ou Docker.

Sur Linux #

curl -s https://install.crowdsec.net | sudo sh
sudo apt install crowdsec

sudo systemctl status crowdsec
sudo cscli version
sudo cscli collections list
sudo cscli lapi status
sudo cscli capi status

À l'installation, CrowdSec détecte les services présents et installe les collections correspondantes. Lisez le script avant de l'exécuter si votre politique de sécurité l'exige.

Docker #

services:
  crowdsec:
    image: crowdsecurity/crowdsec:v1.8.2
    restart: unless-stopped
    environment:
      COLLECTIONS: "crowdsecurity/linux crowdsecurity/traefik"
      TZ: Europe/Paris
    volumes:
      - ./acquis.d:/etc/crowdsec/acquis.d:ro
      - crowdsec-config:/etc/crowdsec
      - crowdsec-data:/var/lib/crowdsec/data   # obligatoire : sans ce volume, le conteneur refuse de démarrer
      - /var/log/auth.log:/logs/auth.log:ro
volumes:
  crowdsec-config:
  crowdsec-data:

Déclarez les logs dans ./acquis.d/ssh.yaml. Le chemin est celui vu dans le conteneur :

filenames:
  - /logs/auth.log
labels:
  type: syslog
docker compose up -d
docker compose exec crowdsec cscli collections list
docker compose exec crowdsec cscli metrics
VariableRôle
COLLECTIONSCollections à installer, séparées par des espaces
BOUNCER_KEY_<nom>Déclare un bouncer et sa clé
DISABLE_ONLINE_APICoupe la communication avec la CAPI
ENROLL_KEYEnrôle l’instance dans la console
USE_WALActive le mode WAL de SQLite

2. Les fichiers #

Où se trouve chaque réglage.

L’arborescence #

/etc/crowdsec/
├── config.yaml                  # configuration générale
├── acquis.yaml et acquis.d/     # quels logs lire
├── profiles.yaml                # de l'alerte à la décision
├── simulation.yaml              # scénarios en simulation
├── parsers/ scenarios/ collections/ postoverflows/
├── notifications/               # slack.yaml, email.yaml, http.yaml…
├── bouncers/                    # configuration des bouncers
├── local_api_credentials.yaml   # accès à la LAPI
└── online_api_credentials.yaml  # accès à la CAPI
/var/lib/crowdsec/data/crowdsec.db  # base SQLite par défaut
/var/log/crowdsec.log et /var/log/crowdsec_api.log

Après une modification, rechargez le service : sudo systemctl reload crowdsec.

Déclarer les logs : l’acquisition #

L'acquisition dit quels logs lire et avec quel parser. Préférez un fichier par source dans /etc/crowdsec/acquis.d/.

filenames:
  - /var/log/auth.log
labels:
  type: syslog

Le champ labels.type oriente vers le bon parser. Utilisez syslog pour les logs au format syslog, et le type indiqué par la collection sinon (nginx, traefik…). D'autres sources existent : journalctl, docker, kubernetes, syslog, loki, kafka.

Vérifiez toujours. Un log non déclaré ne produit aucune erreur : il n'est simplement jamais analysé. Contrôlez avec cscli metrics show acquisition. CrowdSec lit les nouvelles lignes : ce qui existait avant le démarrage n'est pas analysé.

3. Console et plusieurs serveurs #

Superviser et partager les décisions.

La console #

La console app.crowdsec.net offre une vue web de vos instances. Récupérez une clé dans la console, puis :

sudo cscli console enroll VOTRE_CLE
# Acceptez l'instance dans la console, puis :
sudo systemctl reload crowdsec

Une LAPI pour plusieurs serveurs #

Trois agents et trois bouncers reliés à une seule Local API

Sur chaque agent, enregistrez-vous auprès de la LAPI, puis validez la machine côté LAPI :

# Sur l'agent
sudo cscli lapi register --url http://10.0.0.10:8080

# Sur le serveur LAPI
sudo cscli machines list
sudo cscli machines validate NOM_DE_LA_MACHINE

Sur l'agent, désactivez ensuite la LAPI locale (section api.server.enable: false de config.yaml). Pour de gros volumes, remplacez SQLite par PostgreSQL ou MySQL.

Sources #

📄 Installer et configurer CrowdSec : paquets, Docker, acquisition →

Mi seguimiento

  • ⏱ Duración estimada : ≈ 9 min

Inicia sesión para seguir tu progreso y tomar notas. Iniciar sesión

💬 Hacer una pregunta

Artículos recomendados

CrowdSec en production : bonnes pratiques

Les réflexes pour exploiter CrowdSec en production : LAPI, clés, faux positifs, base de données, ...

Observabilité de CrowdSec : IP bannies, attaques bloquées, Prometheus et Grafana

Suivre CrowdSec : cscli metrics, IP bannies, attaques détectées, volume bloqué par les bouncers, ...

Décisions, profils, allowlists et AppSec dans CrowdSec

Gérer les décisions avec cscli, adapter la durée et le type de blocage avec les profils, éviter l...

CrowdSec : comprendre le pare-feu collaboratif

Ce qu'est CrowdSec, comment il détecte et bloque les attaques : Security Engine, parsers, scénari...

Les bouncers CrowdSec : principes et bouncer pare-feu

Comprendre les bouncers CrowdSec : où bloquer, modes live et stream, clés d'API, API des décision...

Collections, parsers et scénarios CrowdSec

Le Hub, les collections, le pipeline des parsers et les scénarios : installer, comprendre avec cs...

Bouncers CrowdSec pour Nginx, Apache et HAProxy

Mettre en place les bouncers CrowdSec pour Nginx, OpenResty, Apache et HAProxy SPOA : configurati...

CrowdSec ou Fail2ban : quelles différences ?

Comparaison de CrowdSec et Fail2ban : détection, blocage, partage, performances, multi-serveurs, ...

Protéger Traefik avec CrowdSec : le plugin bouncer

Mettre en place le bouncer CrowdSec dans Traefik : plugin, middleware, modes stream et live, IP r...

Apoyar

♥ APOYAR

Apoya RousselTM Learning

Los cursos, artículos, prácticas y certificados siguen siendo gratuitos y sin publicidad intrusiva. Una contribución libre, por el importe que elijas, financia el alojamiento, los entornos de prácticas y nuevos contenidos.

Contribuir con PayPal Importe libre · tarjeta o cuenta PayPalMás información
QR code PayPal
O escanea este código QR con tu teléfono

¡Gracias, cada contribución cuenta!