Heartbleed – Come installare le patch e rigenerare i certificati su VMware vSphere ESXi 5.5/5.5u1

Il noto bug ha colpito anche i software di casa VMware, per leggere l’elenco dei prodotti potete fare riferimento al mio articolo cliccando QUESTO LINK.

In questo articolo tratterò in particolare l’aggiornamento dell’hypervisor vSphere ESXi  versione 5.5 e 5.5u1.

La procedura si dividerà principalmente in tre punti:

  1. Individuazione e download della patch adeguata
  2. Upload ed installazione della patch sul virtualizzatore
  3. Creazioni dei nuovi certificati ssl

Attenzione!!!

Nella seguente procedura sarà necessario riavviare l'host ESXi, in caso d'ambinte di produzione 
assicurarsi di aver configurato in maniera corretta l'alta affidabilità (HA).

 

1) Individuazione e download della patch heartbleed adeguata

Il supporto VMware ha reso disponibile due patch per per risolvere il bug heartbleed, una per ESXi 5.5 e l’altra per la versione 5.5u1.
La patch consiste fondamentalmente nell’aggiornare OpenSSL dalla versione 1.0.1e alla 1.0.1g.

Ho reso disponibile il download dei files nel mio repository:

Patch ESXi 5.5u1 ESXi550-201404001

Patch ESXi 5.5   ESXi550-201404020

Se è vostra intenzione scaricare le patch dal sito ufficiale basta andare alla pagina:

https://www.vmware.com/patchmgr/download.portal

Una volta inserito login e password del portale “My VMware”, cercare le patch di sicurezza per il sistemaESXi 5.5.0:

heartbleed 01

 

Per ESXi 5.5u1 scaricare la patch ESXi550-201404001 mentre per ESXi 5.5 scaricare ESXi550-201404020

 

heartbleed 02

Attenzione!!!

Per i possessori di vSphere ESXi 5.5u1 con storage NFS che applicheranno 
la patch ESXi550-201404001, il supporto VMware consiglia di leggere il Knowledge Base 
Frequent NFS APDs after upgrading ESXi to 5.5 U1 (KB 2076392).

2) Upload ed installazione della patch heartbleed sul virtualizzatore

2A) Una volta scaricata la patch sul proprio computer (per me ESXi550-201404020.zip), trasferirla sul virtualizzatore tramite Browser del Datasore:

heartbleed 03

In alternativa è possibile utilizzare un client scp per copiare il file sul datastore locale, ad esempio WinSCP:

heartbleed 04

 

2B) Terminato l’upload, mandare il  vSphere ESXi in “Maintenance Mode“:

heartbleed 05

 

2C) Collegarsi al virtualizzatore tramite SSH client e digitare:

~ # openssl version
WARNING: can't open config file: /etc/pki/tls/openssl.cnf
OpenSSL 1.0.1e 11 Feb 2013
~ #
~ # esxcli software vib install -d "/vmfs/volumes/datastore1/ESXi550-201404020.zip"
Installation Result
   Message: The update completed successfully, but the system needs to be rebooted for the chan
ges to be effective.
   Reboot Required: true
   VIBs Installed: VMware_bootbank_esx-base_5.5.0-0.15.1746974, VMware_bootbank_misc-drivers_5.
5.0-0.7.1474526, VMware_locker_tools-light_5.5.0-0.14.1598313
VIBs Removed: VMware_bootbank_esx-base_5.5.0-0.0.1331820, VMware_bootbank_misc-drivers_5.5.0
-0.0.1331820, VMware_locker_tools-light_5.5.0-0.0.1331820
   VIBs Skipped: VMware_bootbank_ata-pata-amd_0.3.10-3vmw.550.0.0.1331820, VMware_bootbank_ata-
pata-atiixp_0.4.6-4vmw.550.0.0.1331820, VMware_bootbank_ata-pata-cmd64x_0.2.5-3vmw.550.0.0.1331
820, VMware_bootbank_ata-pata-hpt3x2n_0.3.4-3vmw.550.0.0.1331820, VMware_bootbank_ata-pata-pdc2
...                                                                            
...
...
VMware_bootbank_scsi-mptspi_4.23.01.00-9vmw.550.0.0.1331820, VMware_bootbank_scsi-qla2xxx_902.k1.1-
9vmw.550.0.0.1331820, VMware_bootbank_scsi-qla4xxx_5.01.03.2-6vmw.550.0.0.1331820, 
VMware_bootbank_uhci-usb-uhci_1.0-3vmw.550.0.0.1331820
~ #
~ # reboot
~ #

2D) Riavviato il virtualizzatore, collegarsi con il client ssh e  controllare la nuova versione di OpenSSL:

~ # openssl version
WARNING: can't open config file: /usr/ssl/openssl.cnf
OpenSSL 1.0.1g 7 Apr 2014
~ #

3) Creazioni dei nuovi certificati ssl

3A) Dopo aver aggiornato la versione di OpenSSL è necessario rigenerare i certificati SSL, per farlo basta collegarsi al virtualizzatore tramite il client SSH  ed eseguire i seguenti comandi:

~ # cd /etc/vmware/ssl/
/etc/vmware/ssl #
/etc/vmware/ssl # rm -f rui.crt rui.key       <--- E' consigliato creare prima una copia 
/etc/vmware/ssl # /sbin/generate-certificates                       dei files sul Datastore
WARNING: can't open config file: /usr/ssl/openssl.cnf
/etc/vmware/ssl #
/etc/vmware/ssl # chmod +t rui.crt rui.key
/etc/vmware/ssl # ls -la rui.*
-rw-r--r-T    1 root     root          1411 Apr 23 22:55 rui.crt
-r-------T    1 root     root          1704 Apr 23 22:55 rui.key
/etc/vmware/ssl #
/etc/vmware/ssl # reboot
/etc/vmware/ssl #

3B) Dopo il riavvio far ucire ESXi server dalla modalità “Maintenance Mode

3C) L’ultimo step da eseguire è il cambio password per l’utente root, tramite ssh client eseguire i comandi:

~ # passwd root

Conclusioni

La procedura d’aggiornamento è conclusa ma prima di terminare l’articolo scrivo una piccola nota:
Quando l’host ESXi verrà riconnesso al vCenter apparirà un messaggio di errore in cui viene specificato che
il certificato del virtualizzatore non è verificato:

Niente paura, basta riconnettere l’host e reinserire le credenziali di root nell “Host Connection wizard”.
Per scrivere questa guida ho fatto riferimento al Knowledge Base ufficiale: KB2076665

  • baronejk

    Meraviglioso! Era proprio il tutorial che cercavo! Grazie. Lunedì effettuerò l’upgrade con molta più serenità!! Buon lavoro e buona vita. Mi chiedevo però se è strettamente necessario cambiare anche i certificati e la paasword di root. Non basta solamente il patching?

    • La procedura rilasciata da VMware secondo me fa riferimento a uno scenario “disastroso”, ovvero che un potenziale malintenzionato sia riuscito a estrapolare da 64K di memoria del server ESXi vulnerabile la chiave privata SSL e la password di root.
      Si tratta di una possibilità mooooolto remota ma plausibile.
      Quindi tornando alla tua domanda: il gioco vale la candela?
      Detto tra me e te questa è una soluzione paranoica, ma almeno sei sicuro di aver sistemato tutto.

      P.s
      Grazie 1000 per i complimenti, se ti ha fatto piacere continua a seguirmi 😉

      • baronejk

        Assolutamente! Grazie per la risposta e buon lavoro.