Chapitre 3. Mises à jour de sécurité

Lorsque des vulnérabilités de sécurité sont découvertes, les logiciels touchés doivent être corrigés afin de limiter les risques de sécurité possibles. Si le paquetage fait partie d'une distribution Red Hat Enterprise Linux actuellement supportée, Red Hat, Inc. se doit de publier des paquetages mis à jour réparant les brèches de sécurité dès que possible. Si l'annonce de l'exploit de sécurité est accompagné d'un correctif (ou de code source corrigeant le problème), le correctif est alors appliqué au paquetage Red Hat Enterprise Linux, testé par l'équipe d'assurance qualité et édité en tant que mise à jour d'errata. Toutefois, si l'annonce n'inclut pas de correctif, un développeur Red Hat travaillera avec la personne qui s'occupe du paquetage pour résoudre le problème. Une fois corrigé, il est testé et édité en tant que mise à jour d'errata.

Si une mise à jour d'errata est publiée pour un logiciel utilisé sur votre système, il est fortement recommandé que vous mettiez à jour les paquetages concernés dès que possible, afin de réduire la période pendant laquelle votre système est potentiellement exploitable.

3.1. Mise à jour des paquetages

Lors de la mise à jour de logiciels sur votre système, il est important de télécharger ces mises à jour à partir d'une source digne de confiance. Un pirate peut facilement reconstruire la version d'un paquetage avec le même numéro de version que celui qui est supposé corriger le problème, mais avec un exploit de sécurité différent et le publier sur l'internet. Dans une telle situation, l'utilisation de mesures de sécurité consistant à vérifier les fichiers avec le RPM original, ne détecteront pas l'exploit. Il est donc très important de télécharger les RPM de sources dignes de confiance comme le site Red Hat, Inc., et de vérifier la signature du paquetage afin de contrôler son intégrité.

Red Hat offre deux méthodes pour obtenir les mises à jour d'errata de sécurité :

  1. Téléchargement depuis Red Hat Network.

  2. Téléchargement depuis le site Web d'errata de Red Hat

3.1.1. Utilisation de Red Hat Network

Red Hat Network vous permet d'automatiser la plupart des processus de mise à jour. Il détermine les paquetages RPM nécessaires pour votre système, les télécharge depuis un dépôt sécurisé, vérifie la signature RPM pour s'assurer qu'ils n'ont pas été modifiés et les met à jour. L'installation de paquetages peut se produire immédiatement ou peut être programmée lors d'une certaine période de temps.

Red Hat Network requiert que vous fournissiez un profil de système pour chaque ordinateur devant être mis à jour. Le profil de système contient des informations matérielles et logicielles sur le système. Ces informations sont confidentielles et ne sont données à personne d'autre. Elles sont seulement utilisées pour déterminer les mises à jour d'errata qui peuvent être appliquées à chaque système. Sans elles, Red Hat Network ne peut pas déterminer si votre système a besoin de mises à jour. Lorsqu'une errata de sécurité (ou tout type d'errata) est publiée, Red Hat Network vous enverra un email avec une description de l'errata ainsi qu'une liste des systèmes affectés. Pour appliquer la mise à jour, utilisez l'Agent de mise à jour Red Hat ou programmez la mise à jour du paquetage grâce au site Web http://rhn.redhat.com.

TuyauAstuce
 

Red Hat Enterprise Linux inclut l'Outil de notification d'alertes de Red Hat Network, une icône de tableau de bord pratique qui affiche des alertes visibles lorsqu'une mise à jour pour un système Red Hat Enterprise Linux existe. Reportez-vous à l'URL suivant pour de plus amples informations sur l'applet : http://rhn.redhat.com/help/basic/applet.html

Pour en savoir plus sur les avantages de Red Hat Network, veuillez consulter le Guide de référence de Red Hat Network disponible à l'adresse suivante : http://www.redhat.com/docs/manuals/RHNetwork/ ou allez sur le site http://rhn.redhat.com.

ImportantImportant
 

Avant d'installer tout errata de sécurité, assurez-vous de bien lire toutes les instruction spéciales contenues dans le rapport d'errata et appliquez-les comme il l'est demandé. Reportez-vous à la Section 3.1.3 pour obtenir des instructions générales sur l'application des modifications résultant d'une mise à jour d'errata.

3.1.2. L'utilisation du site Web d'errata de Red Hat

Lorsque les rapports d'errata de sécurité sont publiés, ils se trouvent sur le site Web d'errata de Red Hat disponible à l'adresse http://www.redhat.com/apps/support/errata/. Depuis cette page, sélectionnez le produit et la version s'appliquant à votre système, puis choisissez sécurité en haut de la page pour n'afficher que les avis de sécurité Red Hat Enterprise Linux. Si le synopsis de l'un des avis décrit un paquetage utilisé sur votre système, cliquez sur le synopsis pour obtenir davantage d'informations.

La page de détails décrit l'exploit de sécurité et toutes autres instructions spéciales qui doivent être effectuées en plus de la mise à jour pour réparer le trou de sécurité.

Pour télécharger le(s) paquetage(s) mis à jour, cliquez sur le(s) nom(s) de paquetage et enregistrez-le(s) sur le disque dur. Il est fortement recommandé de créer un nouveau répertoire, comme /tmp/updates, et d'y enregistrer tous les paquetages téléchargés.

Tous les paquetages de Red Hat Enterprise Linux sont signés avec la clé GPG Red Hat, Inc.. L'utilitaire RPM dans Red Hat Enterprise Linux essaie automatiquement de vérifier la signature GPG d'un RPM avant de l'installer. Si la clé GPG Red Hat, Inc. n'est pas installée, installez la depuis un emplacement sécurisé et statique comme par exemple un CD-ROM d'installation Red Hat Enterprise Linux.

En supposant que le CD-ROM soit monté sur /mnt/cdrom, utilisez la commande suivante pour l'importer dans le porte-clés :

rpm --import /mnt/cdrom/RPM-GPG-KEY

Pour afficher la liste de toutes les clés installées pour la vérification de RPM, exécutez la commande :

rpm -qa gpg-pubkey*

Pour la clé Red Hat, Inc., la sortie inclut les éléments suivants :

gpg-pubkey-db42a60e-37ea5438

Pour afficher les détails d'une clé spécifique, utilisez la commande rpm -qi suivie de la sortie de la commande précédente, comme dans l'exemple ci-après :

rpm -qi gpg-pubkey-db42a60e-37ea5438

Il est extrêmement important que vous vérifiez la signature des fichiers RPM avant de les installer afin d'obtenir la garantie qu'ils n'ont pas été modifiés par rapport à l'édition Red Hat, Inc. des paquetages. Pour vérifier l'ensembles des paquetages téléchargés en une seule opération, exécutez la commande suivante  :

rpm -K /tmp/updates/*.rpm

Pour chaque paquetage, si la clé GPG est vérifiée avec succès, la commande renvoie la sortie gpg OK.

Après la vérification de la clé GPG et le téléchargement de tous les paquetages associés au rapport d'errata, installez ces derniers depuis une invite du shell en étant connecté en tant que super-utilisateur.

Cette opération peut être effectuée en toute sécurité pour la plupart des paquetages (à l'exception des paquetages noyau) en exécutant la commande suivante :

rpm -Uvh /tmp/updates/*.rpm

Pour les paquetages noyau, il est recommandé d'utiliser la commande suivante :

rpm -ivh /tmp/updates/<kernel-package>

Remplacez <kernel-package> dans l'exemple précédent par le nom du RPM du noyau.

Une fois que l'ordinateur a été redémarré en toute sécurité en utilisant le nouveau noyau, il est possible de supprimer l'ancien à l'aide de la commande suivante :

rpm -e <old-kernel-package>

Remplacez <old-kernel-package> dans l'exemple précédent par le nom du RPM de l'ancien noyau.

NoteRemarque
 

Il n'est pas absolument nécessaire de supprimer l'ancien noyau.

ImportantImportant
 

Avant d'installer tout errata de sécurité, assurez-vous de bien lire toutes les instruction spéciales contenues dans le rapport d'errata et appliquez-les comme il l'est demandé. Reportez-vous à la Section 3.1.3 pour obtenir des instructions générales sur l'application des modifications résultant d'une mise à jour d'errata.

3.1.3. Application des changements

Après le téléchargement et l'installation d'errata de sécurité via Red Hat Network ou le site Web d'errata de Red Hat, il est important de ne plus utiliser les anciens logiciels et de n'utiliser que les nouveaux. La manière de procéder dépend du type des logiciels qui ont été mis à jour. La liste suivante énumère de manière détaillée les catégories générales des logiciels and fournit des instructions quant à l'utilisation des versions mises à jour après la mise à niveau d'un paquetage.

NoteRemarque
 

D'une manière générale, le redémarrage du système est la manière la plus sûre de garantir que la nouvelle version d'un paquetage de logiciels est bien utilisée ; néanmoins, cette option n'est pas toujours offerte à l'administrateur système.

Applications

Les applications de l'espace utilisateur représentent tout programme pouvant être démarré par un utilisateur du système. De manière générale, de telles applications sont utilisées seulement lorsqu'un utilisateur, un script ou un utilitaire de tâches automatisées les lancent et que l'opération ne dure pas longtemps.

Une fois qu'une application de l'espace utilisateur et mise à jour, arrêtez toute instance de l'application sur le système et relancez le programme afin d'utiliser la version mise à jour.

Noyau

Le noyau est l'élément logiciel de base du système d'exploitation Red Hat Enterprise Linux. Il gère l'accès à la mémoire, le processeur et les périphériques ainsi que toutes les tâches programmées.

En raison de sa fonction centrale, le noyau ne peut pas être redémarré sans arrêter également l'ordinateur. Par conséquent, une version mise à jour du noyau ne peut être utilisée avant que le système ne soit redémarré.

Bibliothèques partagées

Les bibliothèques partagées sont des unités de code, comme glibc, qui sont utilisées par un certain nombre d'applications et de services. Étant donné que les applications utilisant une bibliothèque partagée chargent le code lors de leur initialisation, il est nécessaire d'arrêter et de redémarrer toute application utilisant une bibliothèque mise à jour.

Afin de déterminer les applications en cours d'exécution qui sont liées à une bibliothèque particulière, utilisez la commande lsof, comme dans l'exemple suivant :

lsof /usr/lib/libwrap.so*

Cette commande renvoie une liste de tous les programmes en cours d'exécution qui utilisent les enveloppeurs TCP pour le contrôle de l'accès des hôtes. Par conséquent, tout programme faisant partie de la liste doit être arrêté et redémarré si le paquetage tcp_wrappers est mis à jour.

Services SysV

Les services SysV sont des programmes serveur persistants lancés lors du processus de démarrage. Parmi des exemples de services sysV figurent sshd, vsftpd et xinetd.

Parce que ces programmes restent en mémoire tant que l'ordinateur et opérationnel, chaque service SysV mis à jour doit être arrêté et redémarré après la mise à niveau du paquet. Pour ce faire, utilisez l'Outil de configuration des services ou connectez-vous dans un shell root et à l'invite exécutez la commande /sbin/service comme dans l'exemple ci-après :

/sbin/service <service-name> restart

Dans l'exemple précédent, remplacez <service-name> par le nom du service, tel que sshd.

Reportez-vous au chapitre intitulé Contrôle de l'accès aux services du Guide d'administration système de Red Hat Enterprise Linux pour obtenir de plus amples informations sur l'Outil de configuration des services.

Services xinetd

Les services contrôlés par le super-service xinetd tournent seulement lorsqu'une connexion active existe. Parmi des exemples de services contrôlés par xinetd figurent Telnet, IMAP et POP3.

Étant donné que de nouvelles instances de ces services sont lancées par xinetd lors de la réception de toute nouvelle requête, les connexions établies après une mise à niveau sont traitées par le logiciel mis à jour. Toutefois, s'il existe de connexions actives lors de la mise à niveau du service contrôlé par xinetd, ces dernières seront traitées par l'ancienne version du logiciel.

Pour arrêter d'anciennes instances d'un service particulier contrôlé par xinetd, mettez à niveau le paquetage de ce service, arrêtez ensuite tous les processus actuellement en cours d'exécution en déterminant tout d'abord si le processus tourne, à l'aide de la commande ps, puis arrêtez les instances du service en question à l'aide de l'une des deux commandes suivantes kill ou killall.

Par exemple, si des paquetages imap d'errata de sécurité sont publiés, mettez à niveau les paquetages, puis, en tant que super-utilisateur, tapez la commande suivante à l'invite du shell :

ps -aux | grep imap

Cette commande renvoie toutes les sessions IMAP actives. Des sessions individuelles peuvent alors être arrêtées en exécutant la commande suivante :

kill -9 <PID>

Dans l'exemple précédent, remplacez <PID> par le numéro d'identification du processus correspondant à une session IMAP.

Pour mettre fin à toutes les sessions IMAP, exécutez la commande suivante :

killall imapd

Reportez-vous au chapitre intitulé Enveloppeurs TCP et xinetd du Guide de référence de Red Hat Enterprise Linux pour obtenir des informations générales sur la commande xinetd.