Installation Crowdsec rpi3 DietPi / Raspberry OS
Aujourd’hui nous allons voir comment se passe l’installation de Crowdsec sur un Raspberry Pi 3 avec DietPi comme système d’exploitation. Cela marche aussi avec Raspberry OS (Raspbian).
Pour rappel DietPi est un OS léger et optimisé (RAM, CPU, écritures card SD réduites, etc) parfaitement adapté au raspberry PI. Crowdsec est un système open source et gratuit d’analyse de logs système et applicatifs qui permet de constituer une base de données communautaire d’IP malveillantes. Le blocage de ces IPs peut se faire au niveau parefeu (iptables, Nftables) ou au niveau serveur web (nginx par ex).
Installation Crowdsec
Une fois Dietpi pi installé et mis à jour ( je vous renvoi vers le site officiel ici), il faut installer golang car les plateformes ARM ne sont pas gérées par le wizard par défaut. Il faut une version minimum de Golang 1.13, le dépôt ne proposant que la version 1.11 il va falloir installer manuellement depuis golang.org.
wget https://golang.org/dl/go1.15.6.linux-armv6l.tar.gz
sudo tar -C /usr/local -xzf go1.15.6.linux-armv6l.tar.gz
On va maintenant modifier le profil pour indiquer les chemins vers l’installation de go
nano ~./profile
#on ajoute les 2 lignes ci-dessous
PATH=$PATH:/usr/local/go/bin
GOPATH=$HOME/go
#on recharge le profil
. .profile
On installe les pré-requis et on télécharge les sources de Crowdsec (v1.0.2 à l’écriture de cet article) :
sudo apt-get install bash gettext whiptail curl wget
git clone https://github.com/crowdsecurity/crowdsec.git
tar xzvf crowdsec-release.tgz
cd crowdsec-v1.0.2
export GOARCH=arm
export CGO=1
nano Makefile
on edite le Makefile pour modifier la variable GOARCH à « arm » :
Puis on installe le compilateur gcc-arm-linux-gnueabihf
sudo apt install install build-essential gcc-arm-linux-gnueabihf
Et on compile avec make puis on peut lancer l’installateur :
sudo ./wizard.sh -i
Si la liste des services est vide, c’est que vous avez laisser le systeme ssh par défaut dans DietPi (DropBear) qui n’est pas géré par Crowdsec. Il faut lancer Dietpi-software et installer openssh puis supprimer dropBear.
Vous pouvez laisser par défaut pour le ssh. Sinon adaptez selon les services installés (http, smtp, etc).
On peut désormais utiliser la commande cscli qui permet d’interagir et de gérer le service crowdsec (suppressions/ajout scénarios, bouncers, api, etc). Vous pouvez utiliser la commande cscli help pour connaitre la liste des commandes.
Exemples d’utilisation :
cscli metrics (afficher les statistiques) :
sudo cscli alerts list (afficher les alertes) :
sudo cscli decisions / cscli decisions delete -i 1.2.3.4 / cscli decisions add –range 1.2.3.0/24 (voir les décisions suite à l’analyse des logs, en ajouter manuellement ou en supprimer) :
Tous les fichiers de configuration se trouve dans /etc/crowdsec et les logs sont dans var/log/crowdsec*.
Nous avons vu la mise en place de crowdsec qui permet l’analyse des logs, l’alimentation d’une base de données d’IP blacklistées et la prise de décisions mais aucun blocage ne fera encore car il faut installer et paramétrer un Bouncer (videur en Anglais?) qui permet d’interroger la base (via l’api) et de bloquer la connexion selon sa configuration (pare-feu, nginx, etc). Allez à Crowdsec Nginx Bouncer.
2 COMMENTAIRES