CrowdSec : Installation avec Bouncer Iptables sur Debian 12

CrowdSec : Installation avec Bouncer Iptables sur Debian 12

Table of Contents

Introduction

CrowdSec est un système de cybersécurité collaboratif qui utilise des mécanismes de détection et de prévention pour protéger votre infrastructure. Ce guide vous guidera à travers l'installation de CrowdSec ainsi que de son bouncer iptables sur une machine Debian 12, avec la complétion de la commande cscli.


Prérequis

  • Une machine Debian 12 avec un accès root ou sudo. Toutes les commandes présentées ci-dessous seront à exécuter en tant que root.
  • Une connexion internet active.

Étape 1 : Mise à jour du système

Avant de commencer l'installation, assurez-vous que votre système est à jour.

apt update
apt -y upgrade

Étape 2 : Installation de CrowdSec

  1. Ajouter le dépôt CrowdSec

    Téléchargez et ajoutez la clé GPG pour vérifier l'intégrité du dépôt :

    curl -s https://packagecloud.io/install/repositories/crowdsec/crowdsec/script.deb.sh | bash
  2. Installer CrowdSec

    Installez le package CrowdSec :

    apt install -y crowdsec
  3. Vérifier l'installation

    Assurez-vous que CrowdSec est correctement installé et en cours d'exécution :

    systemctl status crowdsec

Étape 3 : Installation du Bouncer Iptables

Le bouncer iptables permet à CrowdSec de bloquer les adresses IP malveillantes directement au niveau du pare-feu. C'est lui qui applique les décisions prises par crowdsec.

  1. Télécharger et installer le bouncer iptables

    apt install -y crowdsec-firewall-bouncer-iptables
  2. Configurer le bouncer

    L'installation crée un fichier de configuration par défaut à /etc/crowdsec/bouncers/crowdsec-firewall-bouncer.yaml. Vous pouvez vérifier et modifier ce fichier selon vos besoins.

  3. Démarrer et activer le bouncer

    Assurez-vous que le bouncer est activé au démarrage et qu'il est en cours d'exécution :

    systemctl enable crowdsec-firewall-bouncer
    systemctl start crowdsec-firewall-bouncer
  4. Vérifier le bouncer

    Vérifiez que le bouncer est correctement installé et en cours d'exécution :

    systemctl status crowdsec-firewall-bouncer

Étape 4 : Activer la complétion de la commande cscli

La complétion de commande rend l'utilisation de cscli plus efficace en permettant l'auto-complétion des commandes et options disponibles.

  1. Installer les scripts de complétion

    Pour bash, vous pouvez utiliser le script de complétion fourni par CrowdSec. Tout d'abord, assurez-vous que bash-completion est installé :

    apt install -y bash-completion
  2. Activer la complétion

    Installez le script de complétion pour cscli :

    cscli completion bash > /etc/bash_completion.d/cscli
  3. Recharger la configuration de bash

    Rechargez votre configuration de bash pour que la complétion soit prise en compte :

    source /etc/bash_completion.d/cscli
  4. Vérifier la complétion

    Testez la complétion automatique en tapant cscli suivi de Tab pour voir les options disponibles.


Étape 5 : Vérification de l'intégration

Pour vérifier que tout fonctionne correctement, vous pouvez consulter les journaux de CrowdSec et du bouncer iptables :

journalctl -u crowdsec
journalctl -u crowdsec-firewall-bouncer

Étape 6 (Option) : Configuration bantime

Par défaut, la décision qui est appliqué par le bouncer iptables est un ban de 4h. Bien évidement, il est possible de modifier ce comportement. Exemple pour passer cette durée à 24h :

  1. Editez le fichier /etc/crowdsec/profiles.yaml

    decisions:
    - type: ban
      duration: 24h
  2. Recharger le service crowdsec

    systemctl reload crowdsec

Étape 7 (Option) : Enrôlement de la console

Il est possible d'enrôler CrowdSec sur https://app.crowdsec.net/ pour avoir un jolie tableau de bord et une visualisation globale. L'autre intérêt, va être la possibilité d'ajouter des listes d'IP malveillantes maintenues par CrowdSec à nos instances. Coucou la liste disponible pour les JO 2024 🙂

  1. Créer un compte sur https://app.crowdsec.net/

    Validez votre compte en vous authentifiant sur la plateforme

  2. Rendez vous dans le menu "Security Engines" > "Engines"

    Cliquez sur "Add Security Engine".

  3. Exécutez la commande d'enrôlement sur votre serveur

    cscli console enroll -e context YOUR-ENROLL-KEY

    Dans un contexte d'automatisation, il est possible de spécifier le nom d'hôte :

    cscli console enroll --name $(hostname) YOUR-ENROLL-KEY

    Voici l'aide de la commande : https://docs.crowdsec.net/docs/next/cscli/cscli_console_enroll/

  4. Acceptez l'enrôlement sur la plateforme web de CrowdSec

  5. Redémarrez le service crowdsec sur le serveur

    systemctl restart crowdsec

Modification du port de l'API

Par défaut CrowdSec utilise le port TCP 8080 pour accéder à son API. Si ce port est déjà utilisé sur votre serveur, il est important de modifier la configuration de CrowdSec pour que l'API en utilise un autre.

Exemple pour utiliser le port TCP 6660 à la place du TCP 8080 :

  1. Modifiez le fichier /etc/crowdsec/config.yaml

    api:
     client:
       [...]
     server:
       [...]
       listen_uri: 127.0.0.1:6660
  2. Modifiez le fichier /etc/crowdsec/local_api_credentials.yaml

    url: http://127.0.0.1:6660
  3. Modifier le fichier /etc/crowdsec/bouncers/crowdsec-firewall-bouncer.yaml

    api_url: http://127.0.0.1:6660/
  4. Redémarrez les services crowdsec

    systemctl restart crowdsec
    systemctl restart crowdsec-firewall-bouncer

Conclusion

Vous avez maintenant installé et configuré CrowdSec avec le bouncer iptables sur votre machine Debian 12, et activé la complétion de la commande cscli. Ce système devrait maintenant aider à protéger votre infrastructure contre les adresses IP malveillantes. Assurez-vous de consulter régulièrement les journaux et de maintenir votre système à jour pour garantir une protection optimale.


Ressources supplémentaires

3 commentaires

CrowdSec : Protéger l’authentification Proxmox – slash-root.fr Publié le14h50 - 18 juillet 2024

[…] CrowdSec installé (voir ici : Installation de CrowdSec) […]

CrowdSec : Protéger l’authentification Gitlab – slash-root.fr Publié le11h07 - 19 juillet 2024

[…] CrowdSec installé (voir ici : Installation de CrowdSec) […]

CrowdSec : Avoid a Duplicate Decision / Notification – slash-root.fr Publié le10h52 - 7 août 2024

[…] CrowdSec installé (voir ici : Installation de CrowdSec) […]

Les commentaires sont fermés.

Les commentaires sont fermés.