Aller au contenu

Rudder : gestion de configuration simplifiée

Mise à jour :

Logo rudder

Vous gérez plusieurs serveurs et vous en avez assez de vous connecter sur chacun d’eux pour installer un package, modifier une configuration ou vérifier qu’un service tourne ? Vous n’êtes pas le seul. C’est précisément le problème que les outils de gestion de configuration résolvent.

Parmi ces outils, vous connaissez peut-être Ansible, Puppet ou Chef. Tous demandent d’écrire du code : des playbooks YAML pour Ansible, un DSL spécifique pour Puppet. Si vous êtes développeur, cela vous semble naturel. Mais si vous venez du monde de l’administration système “traditionnelle”, cette barrière peut être frustrante.

Rudder adopte une approche différente. Plutôt que de vous demander d’apprendre un langage, il propose une interface web graphique où vous configurez vos serveurs à la souris. Vous sélectionnez ce que vous voulez faire (installer un package, configurer un service…), vous renseignez les paramètres, et Rudder s’occupe du reste.

Interface Rudder

Qu’est-ce que Rudder exactement ?

Rudder est un logiciel open source de gestion de configuration, développé par la société française Normation. Son objectif : vous permettre de décrire l’état souhaité de vos serveurs, puis s’assurer que cet état est respecté — en permanence.

Concrètement, avec Rudder vous pouvez :

  • Définir l’état souhaité de vos serveurs : quels packages doivent être installés, quels fichiers de configuration doivent contenir quoi, quels services doivent tourner.
  • Détecter automatiquement les écarts entre l’état réel et l’état souhaité. Si quelqu’un modifie manuellement un fichier de configuration, Rudder le voit.
  • Corriger automatiquement ces écarts, ou simplement vous alerter selon votre choix.
  • Visualiser la conformité de toute votre infrastructure depuis un tableau de bord centralisé.

L’idée fondamentale est simple : vous décrivez ce que vous voulez, Rudder s’assure que c’est le cas. Et pas une seule fois : en continu, toutes les 5 minutes par défaut. Si quelqu’un supprime un package que vous aviez demandé d’installer, Rudder le réinstallera automatiquement.

Ce qui distingue Rudder des autres outils

Quand on compare les outils de gestion de configuration, plusieurs critères entrent en jeu. Voici comment Rudder se positionne :

CaractéristiqueRudderAnsiblePuppet
Mode de fonctionnementAgent permanent sur les nodesPush à la demande (agentless)Agent permanent
Interface principaleWeb (graphique)CLI + fichiers YAMLCLI + fichiers manifests
Courbe d’apprentissageDouce (interface guidée)Moyenne (YAML + modules)Raide (DSL Puppet)
Vérification continueOui (toutes les 5 min par défaut)Non (il faut relancer)Oui
Rapports de conformitéIntégrés et détaillésBasiquesVia Puppet Enterprise

La première différence notable concerne le mode de fonctionnement. Ansible fonctionne en mode “push” : vous lancez une commande, elle s’exécute sur les serveurs cibles, puis c’est terminé. Si la configuration dérive ensuite (quelqu’un modifie un fichier manuellement), Ansible ne le saura pas tant que vous ne relancerez pas le playbook.

Rudder et Puppet fonctionnent différemment. Un agent tourne en permanence sur chaque serveur et vérifie régulièrement que la configuration est conforme. Cette approche garantit que vos serveurs restent dans l’état souhaité, même si quelqu’un fait une modification manuelle entre deux exécutions.

La deuxième différence concerne l’interface. Là où Ansible et Puppet demandent d’écrire du code (YAML ou DSL), Rudder propose une interface web où vous sélectionnez des options et remplissez des champs. C’est moins flexible pour les cas complexes, mais beaucoup plus accessible pour les équipes qui ne sont pas à l’aise avec le code.

Pour qui est Rudder ?

Rudder s’adresse particulièrement à certains profils :

  • Les équipes ops traditionnelles qui préfèrent une interface graphique au code
  • Les organisations qui doivent prouver leur conformité lors d’audits (ISO 27001, PCI-DSS…)
  • Les environnements où la traçabilité des changements est critique
  • Les équipes qui veulent déléguer certaines tâches de configuration à des non-experts

Comment Rudder fonctionne-t-il ?

Pour comprendre Rudder, imaginez une école avec un directeur et des élèves. Le directeur (le serveur Rudder) définit les règles : “Tous les élèves doivent avoir un cahier bleu et un stylo noir”. Les surveillants (les agents Rudder) vérifient régulièrement que chaque élève respecte ces règles. Si un élève n’a pas son cahier bleu, le surveillant lui en donne un.

Techniquement, Rudder fonctionne avec une architecture client-serveur :

Architecture Rudder

Le serveur Rudder

Le serveur est le cerveau de l’installation. C’est là que vous définissez vos configurations via l’interface web. Il remplit trois fonctions principales :

  1. Héberger l’interface web et l’API : c’est votre point d’entrée pour tout configurer
  2. Stocker les configurations et l’état de conformité : une base PostgreSQL conserve tout l’historique
  3. Générer les politiques : Rudder traduit vos configurations graphiques en instructions que les agents peuvent exécuter

Les agents Rudder

Chaque serveur que vous voulez gérer reçoit un petit programme appelé “agent Rudder”. Cet agent est léger (quelques dizaines de Mo de RAM) et discret. Son rôle :

  1. Contacter le serveur régulièrement (toutes les 5 minutes par défaut) pour récupérer les dernières politiques
  2. Vérifier la conformité du serveur : est-ce que les packages demandés sont installés ? Les fichiers de configuration sont-ils corrects ?
  3. Appliquer les corrections si quelque chose ne correspond pas à l’état souhaité
  4. Envoyer un rapport au serveur pour indiquer ce qui a été vérifié, corrigé ou ce qui a échoué

Le moteur sous-jacent : CFEngine

Sous le capot, Rudder utilise CFEngine, un des plus anciens outils de gestion de configuration (créé en 1993). Vous n’avez pas besoin de connaître CFEngine : Rudder génère automatiquement les politiques CFEngine à partir de votre configuration graphique. C’est un détail d’implémentation transparent pour l’utilisateur.

Les quatre concepts fondamentaux

Pour utiliser Rudder efficacement, vous devez comprendre quatre concepts qui s’emboîtent les uns dans les autres, comme des poupées russes.

Technique

La Technique est une recette générique. C’est le “comment faire” sans les détails spécifiques. Par exemple, la technique “Gestion de packages” sait installer n’importe quel package, mais ne sait pas encore lequel.

Directive

La Directive est la recette avec les ingrédients précis. Elle prend une Technique et lui donne des valeurs concrètes. Par exemple : “Installer le package microsoft-office en version 365”.

Groupe

Le Groupe définit à qui s’applique la configuration. Ce sont vos serveurs cibles. Par exemple : “Tous les postes Windows du département Marketing” ou “Tous les serveurs Ubuntu en production”.

Rule

La Rule (règle) est le lien final. Elle dit : “Appliquer cette Directive à ce Groupe”. C’est ce qui déclenche réellement l’action.

Comment ces concepts s’articulent

Prenons un exemple concret : vous voulez que nginx soit installé et configuré sur tous vos serveurs web de production. Voici comment vous procédez dans Rudder :

  1. Technique : Vous utilisez la technique intégrée “Package management” qui sait installer n’importe quel package sur n’importe quelle distribution Linux
  2. Directive : Vous créez une directive “Nginx en production” qui précise : installer le package nginx, s’assurer que le service tourne, et déployer votre fichier de configuration personnalisé
  3. Groupe : Vous créez un groupe dynamique “Serveurs web production” avec le critère hostname contient "web-prod". Tous les serveurs correspondants sont automatiquement inclus
  4. Rule : Vous créez une règle “Nginx sur serveurs web” qui applique votre directive au groupe

À partir de ce moment, tous les serveurs du groupe auront nginx installé et configuré. Si vous ajoutez un nouveau serveur web-prod-04, il sera automatiquement inclus dans le groupe et recevra la même configuration — sans intervention manuelle. Et si quelqu’un désinstalle nginx par erreur sur un serveur, Rudder le réinstallera à la prochaine vérification (dans les 5 minutes).

Ce que Rudder sait faire concrètement

Passons du concept à la pratique. Voici les principales capacités de Rudder, avec des exemples concrets de ce que vous pouvez accomplir.

Gestion des packages

C’est probablement le cas d’usage le plus courant. Vous voulez que certains packages soient installés sur vos serveurs, et qu’ils le restent.

Avec Rudder, vous pouvez :

  • Installer un package via le gestionnaire natif du système (apt sur Debian/Ubuntu, yum/dnf sur RHEL, zypper sur SUSE…)
  • Spécifier une version exacte (ex: nginx 1.24.0) ou demander la dernière version disponible
  • Vérifier périodiquement que le package est toujours installé — si quelqu’un le supprime manuellement, Rudder le réinstallera
  • Alerter plutôt que corriger si vous préférez être prévenu avant toute action

Gestion des fichiers et configurations

Vos applications ont besoin de fichiers de configuration. Rudder vous permet de les déployer et de les maintenir conformes.

Les possibilités incluent :

  • Déployer des fichiers de configuration complets ou utiliser des templates avec des variables
  • Vérifier les permissions : s’assurer que le fichier appartient au bon utilisateur, avec les bonnes permissions (644, 755…)
  • Modifier des lignes spécifiques dans un fichier existant sans écraser le reste
  • Gérer des répertoires entiers avec tout leur contenu

Gestion des services

Installer un package ne suffit pas : il faut souvent que le service associé tourne et se relance au démarrage.

Rudder gère :

  • Le démarrage et l’arrêt de services systemd (ou SysV init sur les vieux systèmes)
  • L’activation au démarrage : s’assurer que le service se lance automatiquement après un reboot
  • La surveillance : vérifier qu’un service tourne et le relancer s’il s’est arrêté

Gestion des utilisateurs et groupes

La gestion des comptes utilisateurs sur des dizaines de serveurs peut vite devenir un cauchemar. Rudder centralise tout :

  • Création de comptes avec les bons attributs (UID, GID, shell, home directory…)
  • Gestion des clés SSH : déployer les clés publiques autorisées pour chaque utilisateur
  • Configuration de sudo : définir qui peut exécuter quoi avec quels privilèges
  • Suppression propre de comptes obsolètes

Conformité et audit

C’est l’un des points forts de Rudder par rapport à Ansible. L’outil génère automatiquement des rapports détaillés :

  • Intégration avec des référentiels de sécurité via des plugins : CIS Benchmarks, recommandations ANSSI, PCI-DSS…
  • Taux de conformité global et par serveur : combien de configurations sont dans l’état attendu ?
  • Historique des changements : qui a modifié quoi et quand ?

Étendre Rudder avec des plugins

Rudder est conçu pour être extensible. Un système de plugins permet d’ajouter des fonctionnalités selon vos besoins. Certains sont gratuits et open source, d’autres nécessitent une licence commerciale.

Plugins gratuits

Ces plugins sont disponibles pour tous les utilisateurs :

  • Intégrations monitoring : Connectez Rudder à Zabbix ou Centreon pour corréler la conformité avec vos métriques
  • API avancée : Pour les équipes qui veulent automatiser Rudder lui-même
  • Notifications : Envoyez des alertes Slack, email ou webhook quand un serveur dérive
  • OpenSCAP : Intégration avec les benchmarks SCAP pour le durcissement système.
  • Vault : Gestion des secrets avec HashiCorp Vault — ne stockez plus les mots de passe en clair.

Plugins sous licence

Pour les organisations avec des besoins avancés, des plugins commerciaux apportent des fonctionnalités supplémentaires :

  • CVE : Détection automatique des vulnérabilités dans les packages installés sur vos serveurs. Rudder scanne régulièrement et vous alerte des failles connues.
  • System Updates : Orchestrez des campagnes de mises à jour coordonnées avec fenêtres de maintenance, rollback automatique en cas de problème.
  • Compliance : Référentiels CIS Benchmarks, PCI-DSS, ISO 27001 prêts à l’emploi. Idéal pour préparer vos audits.

Ces plugins s’intègrent naturellement à l’interface Rudder et étendent ses capacités sans complexité supplémentaire.

Éditions et tarifs

Rudder propose plusieurs éditions pour s’adapter à vos besoins. Le cœur open source est gratuit, mais les fonctionnalités avancées (plugins sécurité, support) nécessitent une licence.

Rudder Open Source

La version communautaire, gratuite et open source :

  • Gestion de configuration complète (Techniques, Directives, Groups, Rules)
  • Interface web et API REST
  • Rapports de conformité de base
  • Plugins communautaires gratuits
  • Support via la communauté (chat, forums)

Rudder Enterprise

La version entreprise pour les organisations qui ont besoin de support et de fonctionnalités avancées :

  • Tout le contenu open source
  • Un focus au choix parmi :
    • Patch & Vulnerability Management : plugins CVE et System Updates
    • Policy & Benchmark Compliance : CIS Benchmarks, PCI-DSS, ANSSI…
  • Support standard inclus :
    • Assistance utilisateur illimitée
    • Patchs de sécurité pendant 18 mois
    • Fenêtre de mise à jour de 6 mois
  • Tarification par node par an (contacter Rudder pour un devis)

Rudder Corporate Security Suite

La version complète pour les organisations avec des exigences de sécurité élevées :

  • Toutes les solutions incluses :
    • Security Configuration Management
    • Patch & Vulnerability Management
    • Policy & Benchmark Compliance
  • Support premium :
    • Assistance prioritaire avec temps de réponse garantis
    • Patchs de sécurité pendant 24 mois
    • Fenêtre de mise à jour de 9 mois
    • Customer Success Manager dédié
  • Tarification par node par an (contacter Rudder pour un devis)

Comment choisir ?

BesoinÉdition recommandée
Tester ou petit parc (< 50 nodes)Open Source
Gestion de vulnérabilités OU conformitéEnterprise
Sécurité complète + support premiumCorporate Security Suite
Audit et conformité réglementaireEnterprise ou Corporate

Prochaines étapes

Maintenant que vous comprenez ce qu’est Rudder et comment il fonctionne, vous pouvez passer à la pratique. Cette série de guides vous accompagne pas à pas, du débutant à l’expert.

Guides disponibles

À retenir

Voici les points essentiels à garder en tête :

  1. Rudder = gestion de configuration avec interface web. Si vous préférez cliquer plutôt que coder, c’est l’outil qu’il vous faut.

  2. Architecture agent-serveur. Un agent léger sur chaque serveur vérifie la conformité toutes les 5 minutes. Pas de dérive possible : si quelqu’un modifie manuellement une configuration, Rudder la rétablit.

  3. Quatre concepts clés. Technique (le “comment”) → Directive (le “quoi”) → Groupe (le “qui”) → Rule (l’assemblage). Une fois ces concepts maîtrisés, tout devient logique.

  4. Conformité native. Les rapports de conformité sont intégrés, pas un ajout. C’est un avantage majeur pour les équipes soumises à des audits réguliers.

  5. Complémentaire à Ansible. Vous pouvez utiliser Ansible pour le provisionnement et Rudder pour le maintien en conformité. Les deux approches ne s’excluent pas.

  6. Mode Audit/Enforce — Possibilité de juste détecter les dérives sans corriger automatiquement

  7. Extensible via plugins — CVE, compliance CIS/PCI-DSS, mises à jour coordonnées

  8. Alternative à Ansible pour les équipes ops qui veulent éviter le YAML et l’approche “code”

Liens utiles