Patchs de sécurité et mises à jour sous VMware ESXi 5

VMware ESXi et la sécurité informatique

Les systèmes informatiques sont sensibles aux failles de sécurité, pas étonnant n’est-ce pas?
VMware ESXi est lui aussi touché par des vulnérabilités qui sont ensuite corrigées par l’éditeur.
Aujourd’hui, il est important de suivre l’évolution d’un produit afin de colmater ses failles.
Nous allons prendre l’exemple d’une template ESXi 5.1  : OVH. Nous allons patcher les vulnérabilités
Le système deviendra alors un peu plus fiable et rendra la tâche plus difficile aux potentiels pirates.
La découverte de la faille HeatBleed a aussi touché la version 5.5 d’ESXi : exemple de vulnérabilité.

Bien comprendre l’enjeu :

Avant de se lancer dans la correction de vulnérabilité sur une infrastructure il est important d’en connaître certaines étapes, avec certains points à retenir :

La problématique :

Notre problématique est de patcher un hyperviseur sous VMware ESXi 5.1 vers 5.1U1 puis U2.
Pour le processus de mise à jour (ESXi 5.1 vers 5.1U1), il faut se poser certaines questions :

  1. Mon serveur ESXi est-il en production actuellement? Peut-il être en mode maintenance?
  2. Quels sont les composants qui constituent mon serveur? Sont-ils compatibles avec  ESXi 5.1?
  3. Les drivers sont-ils disponibles pour le futur système ESXi 5.1 que je souhaite implanter?

Ce type de questions est indispensable avant de se lancer dans une migration quelle qu’elle soit.
Adapter vos updates suivant votre serveur, dans mon cas j’utilise un serveur dédié mSP 2013.

Lister les CVE

Il existe un nombre important de site de CVE comme par exemple : CVE.mitre et CERT SSI gouv fr.
Quand un CVE est accessible publiquement, il y a généralement un patch pour colmater la faille.
VMware a un portail public pour ses vunérabilités disponible à cette adresse : portail VMware.
Dans notre cas nous allons lister les CVE connus publiquement après le 29 aout 2012 (date de sortie de VMware ESXi 5.1) depuis le site de CVEdetails accessible à cette adresse : vunerability.

La liste des CVE connus pour l’éditeur VMware et le produit ESXi est à l’adresse suivante.

On se rend compte que notre hyperviseur actuellement en production connaît des failles importantes de sécurité, il est donc temps de colmater les brèches

Patches VMware ESXi 5.1

Nous l’avons vu précédemment, le portail de VMware nous permet de télécharger des patchs.
Nous allons commencer à utiliser ce service en mode CLI dans notre busybox ESXi.
Pour ma part, je vais joindre mon ESXi par SSH, éteindre mes VMs et le mettre en maintenance.

vim-cmd hostsvc/maintenance_mode_enter

Rendez-vous maintenant sur le portail de VMware afin de patcher ESXi 5.1.

Cliquez maintenant sur « Search » et une liste déroulante apparaît :

Vous avez ici les deux dernières release qui comblent des vulnérabilités ou des bugs dans ESXi 5.1.
Il vous faut cocher l’ensemble de vos patchs postérieurs à votre version. Mon système Build Number est le « 799733 » et date du 29/08/2012. Je coche donc l’ensemble des updates disponibles puis je clique sur le bouton « Download now ».

Après avoir téléchargé le fichier vous avez l’ensemble des patchs dans votre archive.
Si vous rencontrez des problèmes, téléchargez-les un par un.

Pour commencer, je vous conseille de les transférer par SFTP (avec le logiciel Filezilla par exemple).
Veillez à bien noter le md5sum de votre archive afin de vérifier de l’intégrité après le transfère !
La commande de vérification du md5sum est la suivante dans VMware ESXi :

md5sum /chemin/ESXi510-201406001.zip
6f2931d6ad8d85bbc493ca42715030fb  /chemin/ESXi510-201406001.zip

On vérifie le md5 de la source d’origine (vmware) :

md5sum:6f2931d6ad8d85bbc493ca42715030fb
Build Number: 1900470
KB 2077640

Le MD5 correspond parfaitement, nous passons à la dernière étape.

Patch avec esxcli software vib

Pour patcher notre hyperviseur VMware en version 5.1 vers la  5.1U1, nous utiliserons la commande esxcli. On se positionne dans la hiérarchie de la commande suivante :

esxcli software vib

Ce qui nous renvoie les commandes disponibles :

 Available Commands:
  get                   Displays detailed information about one or more installed VIBs
  install               Installs VIB packages from a URL or depot. VIBs may be installed, upgraded, or
                        downgraded. WARNING: If your installation requires a reboot, you need to disable HA
                        first.
  list                  Lists the installed VIB packages
  remove                Removes VIB packages from the host. WARNING: If your installation requires a reboot, you
                        need to disable HA first.
  update                Update installed VIBs to newer VIB packages. No new VIBs will be installed, only updates.
                        WARNING: If your installation requires a reboot, you need to disable HA first.

Les détails des commandes sont très bien expliqués, dans mon cas j’utilise les updates.

Connaître la version ESXi (optionnel) :

Avant de vous lancer, vous pouvez savoir à tout instant la version de votre hyperviseur :

esxcli system version get
Product: VMware ESXi
Version: 5.1.0
Build: Releasebuild-799733
Update: 0

Il existe un équivalent de la commande ci-dessus tel que :

vmware -l
VMware ESXi 5.1.0 Update 0

Nous pouvons maintenant appliquer notre premier patch! Je vous conseille comme première commande d’utiliser le paramètre suivant : –dry-run car il permet de connaître les changements qui seront effectifs après l’update. C’est très pratique pour être certain de ne pas enlever un VIB personnalisé, comme le driver d’une carte réseau par exemple.

Voici comment appliquer un patch en mode simulation avec l’argument –dry-run à la fin :

esxcli software vib update -d "/vmfs/volumes/datastore1/ESXi550-201407001.zip" --dry-run
Dryrun only, host not changed. The following installers will be applied

Je n’affiche pas la liste mais il y a 3 onglets : update, remove, et skip, si tout vous semble correct nous pouvons passer à l’update de notre ESXi :

esxcli software vib update -d "/vmfs/volumes/datastore1/ESXi550-201407001.zip"

Vous pouvez désormais désactiver le mode maintenance sur le serveur :

vim-cmd hostsvc/maintenance_mode_exit

Effectuez un redémarrage du serveur :

reboot

Une fois le redémarrage du serveur terminé, votre client vSphere va se mettre à jour.
Une fois connecté en SSH à l’hyperviseur voici le nouveau build de l’update :

esxcli system version get
Product: VMware ESXi
Version: 5.1.0
Build: Releasebuild-1065491
Update: 1

Il suffit d’appliquer les même étapes pour le passer en 5.1U2 ce qui donne après application :

esxcli system version get
Product: VMware ESXi
Version: 5.1.0
Build: Releasebuild-1483097
Update: 2

Je vous l’accorde, la manipulation est assez fastidieuse, c’est une méthode sur un seul hôte.
Il existe une méthode plus simple avec VMware Vcenter Update Manager (payant).

Vous savez désormais comment colmater une faille dans votre hyperviseur ESXi!
Je vous encourage à colmater les failles de sécurité, tenez vous informé, abonnz-vous au flux RSS CVE!