Aller au contenu

Conformité Rudder : Audit, Enforce et Rudder Score

Mise à jour :

Logo rudder

Qu’est-ce que la conformité ?

Avant de plonger dans les fonctionnalités de Rudder, clarifions ce qu’on entend par “conformité” :

Exemple concret : Vous définissez que tous vos serveurs doivent avoir PermitRootLogin no dans la configuration SSH. Si 8 serveurs sur 10 ont cette configuration, votre conformité SSH est de 80%.

L’un des atouts majeurs de Rudder est sa capacité à mesurer la conformité de votre infrastructure en temps réel. Au-delà d’appliquer des configurations, Rudder vous dit précisément où vous en êtes par rapport à l’état souhaité.

Ce guide couvre les fonctionnalités de conformité : le mode Audit pour vérifier sans modifier, le mode Enforce pour appliquer, et le Rudder Score pour une vue synthétique.

Audit vs Enforce : deux approches complémentaires

Pourquoi deux modes ?

Quand vous gérez des serveurs en production, vous ne voulez pas appliquer aveuglément des changements. Vous voulez d’abord savoir ce qui va se passer. C’est pourquoi Rudder propose deux modes de fonctionnement.

Imaginez que vous voulez déployer une nouvelle politique de sécurité SSH sur 500 serveurs. Deux questions se posent :

  1. Combien de serveurs sont déjà conformes ? → mode Audit (je regarde)
  2. Comment rendre conformes ceux qui ne le sont pas ? → mode Enforce (j’agis)

Le mode Audit répond à la première question sans toucher à rien. Le mode Enforce répond à la seconde en appliquant les changements.

Vue d'ensemble des modes Audit et Enforce dans Rudder

Les modes en détail

Mode Audit

Vérifie sans modifier.

L’agent compare l’état actuel à l’état souhaité et rapporte les écarts. Aucune modification n’est effectuée sur le système.

Idéal pour : évaluation initiale, audits de conformité, tests avant déploiement.

Mode Enforce

Vérifie ET corrige.

L’agent compare l’état actuel à l’état souhaité. En cas d’écart, il effectue les modifications nécessaires pour rétablir la conformité.

Idéal pour : production, maintien de l’état souhaité, remédiation automatique.

Configurer le mode

Le mode peut être défini à plusieurs niveaux, du plus global au plus spécifique :

NiveauPortéeConfiguration
GlobalTout le serveurSettings → General → Policy mode
NodeUne machine spécifiqueNode → Settings → Policy mode
DirectiveUne configuration spécifiqueDirective → Policy mode

Règle de priorité : Le niveau le plus spécifique gagne.

  • Si une Directive est en Audit, elle sera en Audit même si le node est en Enforce
  • Si un node est en Audit, toutes ses Directives seront en Audit (sauf celles explicitement en Enforce)

Workflow recommandé

  1. Développer en Audit

    Créez votre Directive avec le mode Audit. Déployez-la sur un groupe de test.

  2. Évaluer les écarts

    Consultez les rapports. Comprenez combien de machines sont déjà conformes et pourquoi les autres ne le sont pas.

  3. Tester en Enforce sur un petit groupe

    Passez la Directive en Enforce pour un petit groupe (1-2 machines). Vérifiez que les corrections s’appliquent correctement.

  4. Déployer progressivement

    Étendez à des groupes de plus en plus larges. Production en dernier.

  5. Maintenir en Enforce

    En production, le mode Enforce assure que l’état reste conforme dans le temps.

Les états de rapport

Quand l’agent Rudder s’exécute sur un node (toutes les 5 minutes par défaut), il envoie un rapport au serveur. Ce rapport indique, pour chaque configuration, si le node est conforme ou non.

Les états possibles dépendent du mode (Audit ou Enforce) et de ce que l’agent a trouvé :

ModeÉtat systèmeRapportCe que ça signifie concrètement
AuditConformeCompliant”C’est bon, rien à signaler”
AuditNon conformeNon-compliant”J’ai trouvé un écart, mais je n’y touche pas”
EnforceConformeSuccess”C’est bon, rien à faire”
EnforceNon conforme (corrigé)Repaired”C’était pas bon, j’ai corrigé”
EnforceNon conforme (échec)Error”C’est pas bon et je n’ai pas pu corriger”

Le Rudder Score

Qu’est-ce que le Rudder Score ?

Gérer des centaines de serveurs, c’est complexe. Comment savoir rapidement quels serveurs nécessitent votre attention ? C’est là qu’intervient le Rudder Score.

Chaque node dans Rudder possède un score individuel, représenté par une lettre de F (le pire) à A (le meilleur). Ce score agrège plusieurs indicateurs pour donner une vue d’ensemble de l’état du node.

Composition du score

Le Rudder Score n’est pas arbitraire : il est calculé à partir de trois critères objectifs qui reflètent la santé réelle de votre serveur :

Sous-scoreCe qu’il mesureExemple
ComplianceConformité aux politiques configurées”95% des règles sont appliquées”
System UpdatesMises à jour disponibles (surtout sécurité)“3 patchs de sécurité en attente”
VulnerabilityVulnérabilités connues (nécessite le plugin CVE)“2 CVE critiques détectées”

Le sous-score Compliance est le plus important. Il répond à la question : “Mes serveurs font-ils ce que j’ai défini ?”

Le score est calculé à partir du pourcentage de conformité du node :

ScoreConformité
A≥ 95%
B80% - 95%
C50% - 80%
D20% - 50%
E5% - 20%
F< 5%

Rudder Compliance
Score

Où voir les scores ?

Les scores sont visibles :

  • Dans les détails d’un node (onglet principal)
  • Dans la liste des nodes, avec possibilité de trier par score

Liste des nodes avec leurs scores Rudder

Cela permet d’identifier rapidement les systèmes nécessitant le plus d’attention.

Améliorer son score

Pour améliorer le score Compliance :

  • Identifier les Règles en erreur
  • Corriger les Directives mal configurées
  • Vérifier les nodes qui ne rapportent pas

Pour améliorer le score System Updates :

  • Appliquer les mises à jour de sécurité en priorité
  • Planifier des campagnes de mise à jour régulières
  • Utiliser le plugin System Updates pour automatiser

Pour améliorer le score Vulnerability :

  • Activer le plugin CVE
  • Prioriser les vulnérabilités critiques (CVSS élevé)
  • Mettre à jour les paquets vulnérables

Tableaux de bord et rapports

Mesurer la conformité, c’est bien. Pouvoir visualiser et analyser les résultats, c’est encore mieux. Rudder propose plusieurs vues pour comprendre l’état de votre infrastructure à différents niveaux de détail.

Dashboard principal

C’est la page d’accueil de Rudder. Elle vous donne une vue d’ensemble en un clin d’œil :

  • Rudder Score — Vue synthétique
  • Compliance globale — % de conformité par catégorie
  • Activité récente — Derniers changements, derniers rapports
  • Nodes — Répartition par OS, par état

Compliance par Règle

Vous avez créé une Règle “Sécurité SSH” qui s’applique à 50 serveurs. Comment savoir si elle fonctionne ? C’est dans cette vue que vous trouverez la réponse.

Pour chaque Règle, vous pouvez voir :

  1. Le taux de conformité global
  2. L’état par Directive incluse
  3. L’état par node ciblé
  4. L’historique des changements

Compliance d'une règle Rudder

L’historique des changements permet de visualiser les évolutions dans le temps :

Historique des changements de compliance

Accès : Configuration Management → Rules → [Votre Règle] → Onglet Compliance

Compliance par Node

L’approche inverse : au lieu de voir “quels nodes appliquent ma Règle ?”, vous voyez “quelles Règles s’appliquent à ce node ?”.

C’est utile pour diagnostiquer un serveur spécifique ou comprendre pourquoi il a un mauvais score.

Pour chaque node, vous voyez :

  1. Toutes les Règles qui s’appliquent
  2. L’état de chaque Directive
  3. Le détail des composants (fichiers, services, etc.)
  4. L’historique des exécutions

Compliance d'un node Rudder

Accès : Node Management → Nodes → [Votre Node] → Onglet Compliance

Rapports techniques

Pour un diagnostic approfondi :

  1. Allez sur un node
  2. Onglet Technical Logs
  3. Filtrez par date, par Règle, par état

Ces logs montrent exactement ce que l’agent a fait (ou n’a pas pu faire) et pourquoi.

Cas d’usage : audit de conformité

Passons de la théorie à la pratique avec un scénario réaliste que vous rencontrerez probablement.

Scénario

Votre RSSI (Responsable de la Sécurité des Systèmes d’Information) vous demande un rapport de conformité SSH sur toute l’infrastructure. Il veut savoir :

  • Combien de serveurs respectent la politique de sécurité SSH ?
  • Lesquels ne la respectent pas ?
  • Peut-on corriger automatiquement les écarts ?

Voici comment Rudder vous permet de répondre en quelques minutes.

Étapes

  1. Créez une Directive SSH en mode Audit

    Utilisez la Technique “SSH server configuration” avec vos paramètres de sécurité :

    • PermitRootLogin no
    • PasswordAuthentication no
    • Protocol 2

    Mode : Audit

  2. Créez une Règle ciblant tous les nodes

    Appliquez à “All Linux nodes”.

  3. Attendez un cycle complet (5 minutes)

  4. Consultez les rapports

    Dans la Règle, onglet Compliance :

    • Compliant = déjà conforme
    • Non-compliant = à corriger
  5. Exportez le rapport

    Utilisez l’API ou le bouton Export pour générer un CSV.

  6. Présentez au RSSI

    “Sur 150 serveurs, 120 sont conformes (80%). Voici la liste des 30 à corriger.”

Après validation : passage en Enforce

Une fois le rapport validé et les corrections approuvées :

  1. Passez la Directive en mode Enforce
  2. Rudder corrigera automatiquement les serveurs non conformes
  3. Le taux passera à 100%

Bonnes pratiques

Après des années d’expérience avec Rudder, voici les recommandations qui évitent les problèmes en production.

Utilisation du mode Audit

  • Toujours tester une nouvelle Directive en Audit d’abord
  • Documenter les écarts attendus vs inattendus
  • Ne pas laisser une Directive en Audit indéfiniment en production

Monitoring du Rudder Score

  • Alerter si le score passe en D, E ou F
  • Analyser les baisses soudaines (incident ? nouveau node non conforme ?)
  • Suivre l’évolution dans le temps (tendance à l’amélioration ?)

Gestion des exceptions

Dans le monde réel, tous les serveurs ne peuvent pas être conformes. Un serveur legacy, une contrainte métier, un applicatif qui nécessite une configuration spécifique… Les exceptions existent, mais elles doivent être gérées et non ignorées.

Quand un node ne peut pas être conforme :

  1. Documentez l’exception dans Rudder (tags, description du node)
  2. Excluez-le du Groupe concerné
  3. Créez une Directive alternative si possible

À retenir

Voici les points clés de ce guide :

  1. Mode Audit = vérifier sans toucher (idéal pour évaluer l’existant)
  2. Mode Enforce = vérifier ET corriger automatiquement (idéal pour la production)
  3. Workflow sûr : Audit → Test Enforce sur 1-2 machines → Déploiement progressif
  4. Rudder Score = note de A (excellent) à F (critique) pour chaque node
  5. Trois sous-scores composent le Rudder Score : Compliance, System Updates, Vulnerability
  6. Priorité des modes : la Directive l’emporte sur le Node, qui l’emporte sur le Global
  7. Toujours documenter les exceptions plutôt que les ignorer

Guides de cette série