URL: https://linuxfr.org/news/rudder-5-nouvelle-version-plus-modulaire-grace-a-un-ecosysteme-de-greffons
Title: RUDDER 5 — nouvelle version plus modulaire grâce à un écosystème de greffons
Authors: valentin.napoli
amousset, Davy Defaud, bubar🦥, palm123 et patrick_g
Date: 2018年10月05日T16:37:28+02:00
License: CC By-SA
Tags: rudder, gestion_de_configuration, automatisation, audit, debian, ubuntu et slackware
Score: 41
RUDDER est une solution française, libre et multi‐plate‐forme de gestion de configuration et d’audit en continu (_Continuous Configuration_), visant particulièrement les besoins d’infrastructures de production. La nouvelle version 5 a été conçue à partir d’une réflexion approfondie menée avec nos utilisateurs afin de mieux comprendre les besoins de ceux qui manipulent RUDDER au quotidien.

----
[Site officiel du logiciel libre RUDDER](https://www.rudder-project.org/site/)
[RUDDER dans le tableau périodique des éléments DevOps](http://www.normation.com/fr/blog/2018/07/30/rudder-integre-le-tableau-periodique-des-outils-devops-de-xebialabs/)
[RUDDER conseillé par l’État dans son « Socle interministériel de logiciels libres » (SILL) 2018](http://www.normation.com/fr/blog/2018/08/06/rudder-conseille-par-letat-dans-son-socle-interministeriel-de-logiciels-libres-sill-2018/)
[Atelier de découverte pratique de RUDDER le 23 octobre prochaine](http://www.normation.com/fr/comment-demarrer/journee-dintroduction/)
[Nouvelle documentation de RUDDER](https://docs.rudder.io/get-started/current/home.html)
----
Qu’est‐ce que RUDDER ?
======================

RUDDER est une solution libre de _Continuous Configuration_ qui audite le système d’information (SI) en continu et automatise les opérations logicielles de façon contrôlée et sécurisée.
Derrière le terme de _Continuous Configuration_, on trouve une base de gestion de configuration, alliée à des fonctionnalités d’audit en continu. La différence entre un outil de gestion de configuration traditionnel et RUDDER, c’est que les changements peuvent être simulés individuellement avant d’être validés, puis vérifiés après être appliqués et, enfin, tracés et maintenus dans le temps. Tout ce qui n’est pas conforme à l’état cible, auquel on souhaite rester ou accéder, remonte des alertes en temps réel, crée des rapports de dérive ou déclenche une remédiation automatique. Cela en fait un outil particulièrement adapté pour répondre aux contraintes d’infrastructure de production.
## D’un point de vue pratique, RUDDER permet de :
- gérer le socle système (distribuer des clefs SSH, paramétrer le DNS, gérer les utilisateurs, paramétrer les permissions sur les dossiers et fichiers, lancer des tâches, gérer les certificats, etc.) ;
- installer, mettre à jour et configurer des applications ;
- appliquer et vérifier en continu les politiques de sécurité, y compris pour des normes externes (ISO 27001, PCI-DSS, PSSI de l’ANSSI, etc.).
## En bref, RUDDER est :
- un outil de gestion de configuration et d’audit en continu, existant depuis 2011 ;
- libre (code sous GPL v3, documentation sous CC by-SA 2.0, avec quelques bibliothèques sous licence Apache) ;
- composé d’un serveur qui gère les configurations et la remontée de conformité (en Scala) et d’un agent de configuration (en C), qui gère Debian, Ubuntu, RHEL/CentOS, SLES, Slackware et AIX ;
- utilisé par de larges productions critiques comme le groupe BPCE, la Caisse des Dépôts, BMW, Eutelsat ou Sagemcom ;
- principalement développé par Normation (http://www.normation.com/fr/normation/qui-sommes-nous/), qui propose différents services autour de RUDDER, tels que des greffons, du support ou de la formation.

Croissance vs amélioration : la rationalisation comme solution
==============================================================
Depuis que RUDDER a été créé en 2011, la feuille de route de RUDDER a toujours été gouvernée par une double volonté :
- **performance** : améliorer les fonctionnalités principales utilisées par tous les utilisateurs afin de consolider le positionnement de RUDDER comme un outil robuste et efficace ;
- **polyvalence** : ajouter des fonctionnalités pour couvrir toujours davantage de cas d’usage différents.
À mesure que de nouveaux utilisateurs ont adopté RUDDER et partagé les spécificités de leur utilisation, la liste des fonctionnalités dédiées à certains cas d’usage moins courants s’est allongée, entraînant le logiciel à se complexifier avec des possibilités dont l’existence n’intéresse finalement qu’une partie des utilisateurs.
La version 5 vient rationaliser la structure de RUDDER afin de mieux concilier ces deux approches.
Des améliorations massivement souhaitées
========================================
Dans la continuité des améliorations apportées par les différentes versions de la 4.1 à la 4.3, RUDDER 5 poursuit ce travail de fond et apporte encore davantage de puissance et de confort d’utilisation en améliorant les fonctionnalités existantes.
## Workflow de validation localisé
L’un des principaux objectifs de RUDDER a toujours été de combiner une plus grande accessibilité à la puissance de l’infrastructure en tant que code, notamment au travers de fonctionnalités comme l’interface de gestion, la bibliothèque de règles prêtes à l’emploi, l’éditeur de techniques, ou plus simplement l’abstraction des différences d’implémentation entre les différents systèmes d’exploitation pris en charge par l’agent.
Cependant, cette facilité n’aurait pas contribué à mieux fiabiliser l’informatique si nous n’avions pas le souci de compléter cette accessibilité par des fonctionnalités de maîtrise des changements. C’est le cas notamment du mode Audit qui permet de simuler des changements sans modifier les configurations, afin d’anticiper leur impact, ou encore du _workflow_ de validation qui impose une deuxième validation des changements (les habitués des _pull requests_ sur GitHub connaissent déjà les bienfaits du _peer review_).

Avec RUDDER 5, le **_workflow_ de validation** est amélioré, étant désormais capable de n’être appliqué que de manière ciblée **sur un ou plusieurs groupes de machines uniquement, par exemple uniquement les serveurs de production** en laissant libre accès à la plate‐forme de développement, au lieu de l’intégralité des nœuds gérés par le serveurs RUDDER. Cette fonctionnalité prend désormais tout son sens pour les environnements humains pour lesquels elle a été conçu, c’est‐à‐dire les équipes pluridisciplinaires et multi‐niveaux qui se constituent naturellement dans les DSI de grande ampleur.
## Nouvel outil de rapport avancé
Le contrôle de conformité dans RUDDER a initialement été conçu afin de permettre la visualisation de l’état actuel d’application des configurations à un instant T.
L’outil de rapport avancé permet d’historiser les données de conformité afin de consulter leur évolution dans la durée via des tableaux de bord personnalisés. Entièrement paramétrables, depuis la période sur laquelle définir l’analyse, jusqu’au groupes de machines ou de règles de configurations concernées, ces tableaux de bord personnalisés peuvent être exportés sous forme de rapports PDF afin de prouver la conformité à un auditeur externe, un client, ou à sa hiérarchie, sans avoir à mener d’inspection préparatoire manuellement.
Cette fonctionnalité fait peau neuve en version 5 avec une toute nouvelle interface.

## Authentification externe
Les équipes IT de sociétés bien établies utilisent souvent un système de gestion des utilisateurs basé sur un annuaire (AD, LDAP, etc.) afin de gérer les utilisateurs. Cette fonctionnalité dédiée aux entreprises de plus grande ampleur permet de baser l’authentification des utilisateurs sur une source externe de type LDAP ou RADIUS, directement depuis l’interface Web de RUDDER.
## Branding
Lorsque RUDDER est déployé sur une infrastructure de grande ampleur, il est courant d’avoir plusieurs serveurs RUDDER, chacun gérant un environnement différent (production/QA/dev, sites différents, etc.). Pour faciliter le quotidien des administrateurs, mais aussi et surtout pour éviter la confusion entre les différents serveurs (ce qui est d’autant plus probable s’ils contiennent des configurations similaires), il est important de pouvoir les distinguer visuellement en un coup d’œil sur l’interface, quel que soit le menu ouvert.

La fonctionnalité de _branding_, en ajoutant des bandeaux de couleur et une description succincte à toutes les pages, répond à cette problématique simple mais non négligeable.
## Droits d’accès (par action)
Cette fonctionnalité ajoute la possibilité d’avoir un jeton d’API par utilisateur RUDDER, et le gestion d’ACL précises sur les jetons système (du même type que les droits utilisateurs, avec limitation en lecture ou écriture sur les différents items). Le tout est configurable depuis l’interface Web. Cela permet de tracer et d’historiser précisément les accès des utilisateurs de RUDDER à la configuration (y compris via l’API), et de restreindre finement les droits donnés aux jetons d’API système (non liés à un utilisateur) pour une meilleure sécurité et séparation des privilèges.

## Intégration
###Centreon
La supervision et la gestion de configuration sont deux fonctions clefs du maintien en conditions opérationnelles d’un SI. Centreon est un outil de supervision libre couramment utilisé. L’intégration avec RUDDER permet d’ajouter automatiquement à Centreon les machines dès leur acceptation dans RUDDER. De plus, les politiques de configuration dans RUDDER peuvent inclure une nouvelle méthode qui associe automatiquement le modèle de supervision d’une application configurée à la machine.
###Zabbix
Zabbix est une autre solution de supervision libre largement utilisée. Cette intégration fonctionne de manière similaire à celle de Centreon.
###iTop
iTop est une CMDB libre fréquemment utilisée. L’intégration entre iTop et RUDDER permet de synchroniser des données entre la CMDB et RUDDER. Il permet notamment de synchroniser les règles de configuration et une partie de l’inventaire des machines dans iTop.
###Vault
Vault est un outil de stockage et de gestion de secrets (mots de passe, clefs, etc.). Cette intégration permet d’utiliser des données stockées dans un serveur Vault dans les politiques de configuration, évitant ainsi de les stocker sur le serveur RUDDER et limitant les accès aux machines concernées.
###Notification
RUDDER produit un flux de changements issu des différents agents connectés à un serveur, en centralisant toutes les actions effectuées ou les erreurs rencontrées. Cette intégration permet de sélectionner des événements (appartenant à une règle et/ou à un groupe de machines en particulier), et de générer des messages correspondants par courriel ou sur la messagerie instantanée Slack.
## Empaquetage et distribution des paquets
Le cycle de développement de la 5.0 a aussi vu l’arrivée d’un nouveau serveur de téléchargement de sources et de paquets, centralisé sur