Introduction
Dans un environnement IT professionnel, la gestion centralisée des correctifs de sécurité et des mises à jour logicielles est un impératif pour garantir la stabilité, la conformité et la sécurité de l’infrastructure. Red Hat Satellite, la solution de gestion de cycle de vie des systèmes proposée par Red Hat, permet aux administrateurs de déployer, configurer et mettre à jour des systèmes Linux de manière centralisée.
Ce guide détaille les étapes essentielles pour mettre en place Red Hat Satellite et intégrer des hôtes clients, afin de centraliser le patch management dans un environnement RHEL (Red Hat Enterprise Linux).
Qu’est-ce que Red Hat Satellite ?
Red Hat Satellite est une plateforme de gestion conçue pour aider les administrateurs à gérer de grands ensembles de systèmes Red Hat Enterprise Linux. Basée sur Foreman, Katello, Puppet et d’autres composants open source, Satellite s’intègre au Red Hat Customer Portal pour offrir un cycle complet de gestion, incluant :
- Le provisionnement des systèmes
- La gestion des souscriptions
- Le contrôle des packages et correctifs
- L’automatisation via Puppet/Ansible
Son principal avantage en patch management est la capacité de synchroniser et organiser les dépôts de contenu (RPM, errata, images systèmes), tout en définissant des politiques de mise à jour cohérentes entre plusieurs environnements (développement, pré-production, production).
Prérequis techniques
- Un abonnement Red Hat valide avec droit d’usage pour Red Hat Satellite
- Une machine dédiée exécutant RHEL 8 ou 9 (minimum 8 vCPU, 16 Go RAM, 100 Go pour /var)
- Accès Internet ou satellite disconnected environment configuré pour la synchronisation du contenu
- DNS et résolution de noms fonctionnels
- Clients RHEL disposant d’un accès au Satellite et configurés pour s’enregistrer
Étapes de configuration
1. Installation de Red Hat Satellite
Installer le paquet satellite-installer sur un serveur RHEL configuré avec les bonnes souscriptions Red Hat.
subscription-manager register
subscription-manager attach --pool=ID_DU_POOL
subscription-manager repos --enable=rhel-8-for-x86_64-baseos-rpms \
--enable=rhel-8-for-x86_64-appstream-rpms \
--enable=satellite-6.13-for-rhel-8-x86_64-rpms
dnf install satellite
satellite-installer
💡 Remplacez “6.13” par la version actuelle de Satellite si nécessaire (cf. Red Hat Access).
2. Synchronisation des dépôts Red Hat
Configurer les produits et référentiels nécessaires depuis l’interface web de Satellite (habituellement sur https://satellite.example.com
).
hammer product create --name "Red Hat Enterprise Linux Server" --organization "Default Organization"
hammer repository-set enable --product "Red Hat Enterprise Linux Server" \
--name "Red Hat Enterprise Linux 8 for x86_64 - BaseOS RPMs" --releasever 8 \
--basearch x86_64 --organization "Default Organization"
hammer repository synchronize --product "Red Hat Enterprise Linux Server" --name "BaseOS RPMs"
⚠️ La synchronisation initiale peut prendre plusieurs heures en fonction du nombre de dépôts et de la bande passante.
3. Création des Content Views
Les Content Views (CV) permettent de créer des ensembles filtrés et versionnés de contenu (RPM, errata, etc.).
hammer content-view create --name "RHEL8-Base" --organization "Default Organization"
hammer content-view add-repository --name "RHEL8-Base" \
--repository "Red Hat Enterprise Linux 8 for x86_64 - BaseOS RPMs" --organization "Default Organization"
hammer content-view publish --name "RHEL8-Base" --organization "Default Organization"
💡 Utilisez des views composites pour regrouper plusieurs CV par environnement.
4. Création d’un cycle de vie (Lifecycle Environment)
Les environnements (Dev, Test, Prod) permettent de promouvoir les CV selon un cycle défini.
hammer lifecycle-environment create --name "Dev" --organization "Default Organization" --prior "Library"
hammer lifecycle-environment create --name "Prod" --organization "Default Organization" --prior "Dev"
hammer content-view version promote --content-view "RHEL8-Base" --version 1.0 \
--to-lifecycle-environment "Dev" --organization "Default Organization"
⚠️ L’ordre entre les environnements est crucial pour contrôler les promotions de contenu.
5. Enregistrement des hôtes clients
Chaque hôte RHEL doit être inscrit dans le Satellite via l’outil subscription-manager
et associé à un environnement et une activation key.
hammer activation-key create --name "ak-rhel8" --organization "Default Organization" \
--lifecycle-environment "Dev" --content-view "RHEL8-Base"
hammer activation-key add-subscription --name "ak-rhel8" --subscription-id=ID_DU_POOL --organization "Default Organization"
curl -O http://satellite.example.com/pub/katello-ca-consumer-latest.noarch.rpm
rpm -Uvh katello-ca-consumer-latest.noarch.rpm
subscription-manager register --org="Default Organization" --activationkey="ak-rhel8"
💡 L’activation key automatise la configuration des sources de dépôt, organisations et cycles de vie.
Vérification
Confirmer que les hôtes sont bien enregistrés, synchronisés avec le Content View et visibles dans l’interface Satellite :
hammer host list
subscription-manager repos --list-enabled
dnf updateinfo list security available
💡 Un rapport d’application des correctifs est disponible via la section Errata dans l’interface web de Satellite.
Nettoyage / rollback (facultatif)
Pour retirer un hôte client du Satellite :
subscription-manager unregister
yum remove katello-ca-consumer-*
Pour supprimer un Content View ou un environnement :
hammer content-view delete --name "RHEL8-Base"
hammer lifecycle-environment delete --name "Dev"
Conclusion
Red Hat Satellite permet d’orchestrer de façon rigoureuse la gestion des mises à jour sur des dizaines à des milliers de systèmes RHEL. Grâce aux cycles de vie, Content Views versionnés et activation keys, les opérations de patch management gagnent en fiabilité, traçabilité et conformité.
Étape suivante recommandée : mettre en place des plans de remediation automatique (Ansible Playbooks) et des tâches planifiées (via Foreman Tasks ou cron) pour automatiser les correctifs de sécurité critiques.
No comment yet, add your voice below!