Comment protéger votre serveur Linux contre la vulnérabilité GHOST

introduction

Le 27 janvier 2015, une vulnérabilité de la bibliothèque GNU C (glibc), appelée vulnérabilité GHOST, a été annoncée au grand public. En résumé, cette vulnérabilité permet aux attaquants distants de prendre le contrôle intégral d’un système en exploitant un bogue de débordement de mémoire tampon dans les fonctions G et * HOST de glibc (d’où son nom). Comme Shellshock et Heartbleed, cette vulnérabilité est grave et affecte de nombreux serveurs.

La vulnérabilité GHOST peut être exploitée sur les systèmes Linux qui utilisent des versions de la bibliothèque GNU C antérieures à + ​​glibc-2.18 +. Autrement dit, les systèmes qui utilisent une version * non corrigée * de la glibc à partir des versions + 2.2 + à '+ 2.17 + `sont exposés. De nombreuses distributions Linux, y compris, mais sans s’y limiter, les suivantes sont potentiellement vulnérables à GHOST et doivent être corrigées:

  • CentOS 6 et 7

  • Debian 7

  • Red Hat Enterprise Linux 6 et 7

  • Ubuntu 10.04 et 12.04

  • Distributions Linux en fin de vie

Il est vivement recommandé de mettre à jour et de redémarrer tous vos serveurs Linux affectés. Nous allons vous montrer comment tester si vos systèmes sont vulnérables et, le cas échéant, comment mettre à jour glibc pour corriger la vulnérabilité.

Vérifier la vulnérabilité du système

Le moyen le plus simple de vérifier si vos serveurs sont vulnérables à GHOST consiste à vérifier la version de glibc utilisée. Nous verrons comment faire cela dans Ubuntu, Debian, CentOS et RHEL.

Notez que les binaires liés statiquement à la glibc vulnérable doivent être recompilés pour être sûrs. Ce test ne couvre pas ces cas, mais uniquement la bibliothèque GNU C du système.

Ubuntu et Debian

Vérifiez la version glibc en cherchant la version de + ldd + (qui utilise glibc) comme ceci:

ldd --version

La première ligne de la sortie contiendra la version de eglibc, la variante de la glibc utilisée par Ubuntu et Debian. Cela pourrait ressembler à ceci, par exemple (la version est surlignée dans cet exemple):

ldd (Ubuntu EGLIBC ) 2.15
Copyright (C) 2012 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Written by Roland McGrath and Ulrich Drepper.

Si la version de eglibc correspond ou est plus récente que celles répertoriées ici, vous êtes protégé de la vulnérabilité GHOST:

  • Ubuntu 12.04 LTS: + 2.15-0ubuntu10.10 +

  • Ubuntu 10.04 LTS: + 2.11.1-0ubuntu7.20 +

  • Debian 7 LTS: + 2.13-38 + deb7u7 +

Si la version de eglibc est * plus ancienne que * celles répertoriées ici, votre système est vulnérable à GHOST et doit être mis à jour.

CentOS & RHEL

Vérifiez la version glibc avec + rpm +:

rpm -q glibc

La sortie devrait ressembler à ceci, avec le nom du paquet suivi des informations de version:

glibc-.el6_5.4.x86_64

Si la version de glibc correspond ou est plus récente que celles répertoriées ici, vous êtes protégé de la vulnérabilité GHOST:

  • CentOS 6: + glibc-.el6_6.5 +

  • CentOS 7: + glibc-.el7_0.5 +

  • RHEL 5: + glibc-.el5_11.1 +

  • RHEL 6: + glibc-.el6_6.5 +

  • RHEL 7: + glibc-.el7_0.5 +

Si la version de glibc est * plus ancienne que * celles répertoriées ici, votre système est vulnérable à GHOST et doit être mis à jour.

Correction de la vulnérabilité

Le moyen le plus simple de corriger la vulnérabilité GHOST consiste à utiliser votre gestionnaire de paquets par défaut pour mettre à jour la version de glibc. Les sous-sections suivantes couvrent la mise à jour de la glibc sur différentes distributions Linux, notamment Ubuntu, Debian, CentOS et Red Hat.

APT-GET: Ubuntu / Debian

Pour les versions actuellement prises en charge d’Ubuntu ou de Debian, mettez à jour tous vos paquets avec la dernière version disponible via + apt-get dist-upgrade +:

sudo apt-get update && sudo apt-get dist-upgrade

Répondez ensuite à l’invite de confirmation avec + y +.

Une fois la mise à jour terminée, redémarrez le serveur avec cette commande:

sudo reboot

Un redémarrage est nécessaire car la bibliothèque GNU C est utilisée par de nombreuses applications qui doivent être redémarrées pour utiliser la bibliothèque mise à jour.

Maintenant, vérifiez que votre système n’est plus vulnérable en suivant les instructions de la section précédente (Vérifier la vulnérabilité du système).

YUM: CentOS / RHEL

Mettez glibc à jour avec la dernière version disponible via + yum +:

sudo yum update glibc

Répondez ensuite à l’invite de confirmation avec + y +.

Une fois la mise à jour terminée, redémarrez le serveur avec cette commande:

sudo reboot

Un redémarrage est nécessaire car la bibliothèque GNU C est utilisée par de nombreuses applications qui doivent être redémarrées pour utiliser la bibliothèque mise à jour.

Maintenant, vérifiez que votre système n’est plus vulnérable en suivant les instructions de la section précédente (Vérifier la vulnérabilité du système).

Conclusion

Assurez-vous de mettre à jour glibc sur tous vos serveurs Linux affectés. Assurez-vous également de garder vos serveurs à jour avec les dernières mises à jour de sécurité!