Au travail, nous utilisons RG-System en tant que RMM (mais aussi pour la sauvegarde/restauration et à terme en tant qu'Endpoint Security) par le biais de l'intégrateur Berger-Levrault. Ça marche bien mais cela a un coût. Bref ce n'est pas à la portée de toutes les bourses et ce n'est pas libre.
Récemment je suis tombé sur un article de Korben (https://korben.info/gerer-flotte-ordinateur-windows.html) présentant TacticalRMM.
TacticalRMM est une alternative libre au RMM de référence SolarWinds et "gratuite" (il vous faudra sponsoriser le projet pour obtenir des agents avec le code signé afin qu'ils ne soient pas vu comme des virus par Windows).
TacticalRMM est actuellement le seul RMM open source disponible sur le marché.
L'outil présente de nombreuses fonctionnalités :
Même s'il ne permet pas de répondre complètement à mon cahier des charges actuel, j'ai quand même décidé de l'installer dans mon lab afin de jouer un peu avec et de suivre les évolutions. En effet la solution est jeune et évolue rapidement.
Si vous n'avez pas envi de monter votre lab, vous pouvez tester la démo ici : https://rmm.tacticalrmm.io/login
Le RMM (Remote Monitoring & Management) est un outil permettant de piloter son parc informatique depuis une plate-forme centralisée. Vous pouvez suivre l'état de vos équipements à distance (état des ressources, charge, etc) mais aussi de prendre en main à distance un PC, de déployer des logiciels...
Serveur TacticalRMM API :
Serveur Windows :
Par défaut le script d'installation utilise Let's Encrypt. Vu que nous allons travailler en local, j'utilise un nom de domaine de portée locale labo.lan
.
Par conséquent il vous faut monter une PKI afin de générer un certificat de type wildcard.
Vous trouverez ici comment monter la PKI https://blog.raspot.in/fr/blog/crowdsec-installation-et-securisation-du-serveur-local-api#cration-du-certificat-auto-sign
Lors du renseignement du fqdn, il faudra saisir : *.labo.lan
. Bon faudra modifier mon script, car celui va générer des fichiers et dossiers avec l'astérisque. J'ai monté la PKI sur mon serveur RMM.
Une fois le certificat de l'autorité de certification généré, il faut l'ajouter au magasin :
cp Pki/CA/ca.crt /usr/local/share/ca-certificates/
update-ca-certificates
On stockera le certificat serveur et la clé privée : /opt/pki/certs/wildcard.labo.lan/ Créez le dossier suivant et les raccourcis vers le certificat et la clé privée (on en aura besoin pour plus tard) :
mkdir -p /etc/letsencrypt/live/labo.lan/
ln -s /opt/pki/certs/wildcard.labo.lan/wildcard.labo.lan.key /etc/letsencrypt/live/labo.lan/fullchain.pem
ln -s /opt/pki/certs/wildcard.labo.lan/wildcard.labo.lan.key /etc/letsencrypt/live/labo.lan/privkey.pem
Installez les paquets nécessaires pour l'installation de TacticalRMM :
apt install -y wget curl sudo
Création de l'utilsateur "tactical" :
adduser tactical
adduser tactical sudo
Récupérez le fichier install.sh (en tant que user "tactical") :
su - tactical
wget https://raw.githubusercontent.com/wh1te909/tacticalrmm/master/install.sh
chmod +x install.sh
Vu qu'on est sur une maquette, on va modifier le script afin qu'il ne cherche pas à générer un certif Letsencrypt :
vim install.sh :
#### vers la ligne 149, commentez les lignes suivantes comme ci-dessous et modifier les chemins vers le certif serveur et la clé privée ###
#sudo apt install -y software-properties-common
#sudo apt update
#sudo apt install -y certbot openssl
#
#print_green 'Getting wildcard cert'
#
#sudo certbot certonly --manual -d *.${rootdomain} --agree-tos --no-bootstrap --manual-public-ip-logging-ok --preferred-challenges dns -m ${letsemail} --no-eff-email
#while [[ $? -ne 0 ]]
#do
#sudo certbot certonly --manual -d *.${rootdomain} --agree-tos --no-bootstrap --manual-public-ip-logging-ok --preferred-challenges dns -m ${letsemail} --no-eff-email
#done
CERT_PRIV_KEY=/opt/pki/certs/wildcard.labo.lan/wilcard.labo.lan.key
CERT_PUB_KEY=/opt/pki/certs/wildcard.labo.lan/wilcard.labo.lan.crt
Lancer le script d'installation (toujours en tant que user "tactical") :
./install.sh
Depuis un poste de travail :
Sur le serveur Windows à monitorer :
Toujours sur le serveur Windows à monitorer :
192.168.1.240 api.labo.lan rmm.labo.lan mesh.labo.lan
Afin de pouvoir déployer des logiciels, il faut installer le logiciel Chocolatey sur le serveur. Chocolatey est un gestionnaire de paquets pour Windows. Comme sous Debian, il permet d’installer et de désinstaller en mode CLI des applications en utilisant la commande choco
(Plus d'infos sur Chocalatey). Lancez une console PowerShell en tant qu'administrateur puis saisissez cette commande :
Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))`
Depuis le poste de travail,
Récupérez l'agent et le transférer sur le serveur.
Le logiciel d'installation n'est pas signé et sera vu comme un virus (un trojan) par Windows Defender.
Si vous souhaitez avoir un agent signé, rdv sur https://wh1te909.github.io/tacticalrmm/code_signing/ (50$/mois).
Si vous optez pour le programme d'installation non signé : ajoutez le programme d'installation de l'agent dans la liste d'exclusion de l'antivirus et de Windows Defender.
Lancez le programme d'installation de l'agent récupéré.
Si tout est OK, vous devriez voir l'agent remontée dans la console :
Pour la prise en main à distance, on peut soit prendre la main sans rien demander, soit faire une demande préalable (clic droit sur le bouton "Se connecter").
Le projet est relativement jeune mais très prometteur. Pour le moment, on ne peut déployer que des agents Windows mais des agents Linux et MacOS sont en cours de développement. J'espère que ce billet vous aura permis de monter votre maquette. Une fois le serveur installé, le reste se fait de manière assez intuitive. Amusez-vous bien :)