Come molti di voi sapranno è da poco stato reso noto HeartBleed un pericolosissimo Bug legato alle librerie OpenSSL.
Di seguito vi indico come controllare se siete vulnerabili o affetti da questo bug, ed eventualmente come risolvere con pochi semplici passi.
1- Come controllare se siete affetti da HeartBleed
Come già detto nel precedente articolo, un modo veloce è utilizzare il sito http://filippo.io/Heartbleed/.
Questo però non funziona al 100%, un metodo più veloce è il seguente:
– Loggatevi sulla vostra shell e lanciate il comando:
openssl version
– Se il comando dà come output:
openssl version OpenSSL 1.0.1e 11 Feb 2013
il vostro server è, molto probabilmente, vulnerabile in quanto la versione è inferiore alla 1.0.1g. Alcune versioni Linux, potrebbero già aver corretto il problema di sicurezza in autonomia, di seguito vi spiego come controllarlo.
Se il vostro server utilizza una versione diversa, come ad esempio la 0.9.8 utilizzata da Debian Squeeze, allora il server non è vulnerabile, in quanto il bug HeartBleed è stato implementato solo dalla versione OpenSSL 1.0.1 e successive:
openssl version
OpenSSL 0.9.8o 01 Jun 2010
2- Corregge il bug
Per correggere il problema aggiornate il sistema con i seguenti metodi, in base alla vostra distribuzione:
Debian
apt-get update apt-get upgrade
Ubuntu
apt-get update apt-get upgrade
Fedora and CentOS
yum update
OpenSuSE
zypper update
A questo punto riavviate tutti i servizi che avete sul server.
/etc/init.d/apache2 restart /etc/init.d/postfix restart /etc/init.d/dovecot restart /etc/init.d/pure-ftpd-mysql restart /etc/init.d/bind9 restart /etc/init.d/ssh restart
Questi sono solo alcuni dei servizi principali che solitamente si usano, se non sapete quali servizi dovete riavviare, allora è cosa saggia riavviare il server, di modo che non vi possa sfuggire nulla.
3- Controllare che l’aggiornamento abbia installato il pacchetto corretto
Dopo aver installato gli aggiornamenti Linux, controlliamo se il pacchetto OpenSSL è stato aggiornato correttamente. Alcune distribuzioni Linux, patchano i pacchetti, quindi non sempre il comando “openssl version” vi mostra se la patch che corregge la vulnerabilità è stata installata.
Per controllare la versione del pacchetto su Debian o Ubuntu possiamo fare così:
dpkg-query -l 'openssl'
e da una Debian 7 (Wheezy) otteniamo:
dpkg-query -l 'openssl' Desired=Unknown/Install/Remove/Purge/Hold | Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend |/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad) ||/ Name Version Architecture Description +++-===================-===============-==============-============================================ ii openssl 1.0.1e-2+deb7u5 amd64 Secure Socket Layer (SSL) binary and related
Per Fedora e Centos possiamo usare il comando
rpm -qa | grep openssl
Vi riporto alcuni link con le note di rilascio che contengono il nome dei pacchetti delle versioni che hanno ottenuto il Fix:
Debian: http://www.debian.org/security/2014/dsa-2896
Ubuntu: http://www.ubuntu.com/usn/usn-2165-1/
Fedora: https://lists.fedoraproject.org/pipermail/announce/2014-April/003206.html
CentOS: http://lists.centos.org/pipermail/centos-announce/2014-April/020249.html
Guida banale, ma di sicuro utile a molti.