À ce jour, un bogue dans OpenSSL affectant les versions 1.0.1
via 1.0.1f
(inclus) et 1.0.2-beta
.
Depuis Ubuntu 12.04, nous sommes tous vulnérables à ce bogue. Afin de corriger cette vulnérabilité, les utilisateurs affectés doivent mettre à jour OpenSSL 1.0.1g
.
Comment chaque utilisateur concerné peut-il appliquer cette mise à jour maintenant ?
Réponses:
Les mises à jour de sécurité sont disponibles pour 12.04, 12.10, 13.10 et 14.04 voir Avis de sécurité Ubuntu USN-2165-1 .
Donc, vous devez d’abord appliquer les mises à jour de sécurité disponibles, par exemple en exécutant
à partir de la ligne de commande.
N'oubliez pas de redémarrer les services (HTTP, SMTP, etc.) qui utilisent la version OpenSSL concernée, sinon vous êtes toujours vulnérable. Voir aussi Heartbleed: De quoi s'agit-il et quelles sont les options pour l'atténuer? sur Serverfault.com.
La commande suivante affiche (après une mise à niveau) tous les services devant être redémarrés:
Après cela, vous devez régénérer toutes les clés SSL du serveur , puis évaluer si vos clés ont peut-être fui, auquel cas des attaquants pourraient avoir récupéré des informations confidentielles de vos serveurs.
la source
openssl version
donneOpenSSL 1.0.1 14 Mar 2012
. Ce n'est pas la version patchée, non? Ou est-ce que je me trompe?1.0.1 14 Mar 2012
. Lisez la réponse de Crimi pour savoir si votre installation inclut le correctif.dpkg -l | grep ' openssl '
et vous obtenez1.0.1-4ubuntu5.12
alors vous êtes prêt à partir.Le bogue s'appelle Heartbleed .
Suis-je vulnérable?
Généralement, vous êtes affecté si vous utilisez un serveur pour lequel vous avez généré une clé SSL à un moment donné. La plupart des utilisateurs finaux ne sont pas (directement) touchés. au moins Firefox et Chrome n'utilisent pas OpenSSL. SSH n'est pas affecté. La distribution des paquets Ubuntu n'est pas affectée (elle repose sur les signatures GPG).
Vous êtes vulnérable si vous utilisez un type de serveur utilisant les versions 1.0 à 1.0.1f d'OpenSSL (à l'exception des versions de cours corrigées depuis la découverte du bogue). Les versions concernées d'Ubuntu sont les versions 11.10 oneiric à 14.04, versions préliminaires fiables. Il s’agit d’un bogue d’implémentation et non d’une faille dans le protocole. Seuls les programmes utilisant la bibliothèque OpenSSL sont concernés. Si vous avez un programme lié à l'ancienne version OpenSSL 0.9.x, il n'est pas affecté. Seuls les programmes qui utilisent la bibliothèque OpenSSL pour implémenter le protocole SSL sont concernés. les programmes qui utilisent OpenSSL pour d'autres tâches ne sont pas affectés.
Si vous avez exécuté un serveur vulnérable exposé à Internet, considérez qu'il est compromis sauf si vos journaux n'indiquent aucune connexion depuis l'annonce du 2014-04-07. (Cela suppose que la vulnérabilité n'a pas été exploitée avant son annonce.) Si votre serveur était uniquement exposé en interne, la nécessité de modifier les clés dépendra des autres mesures de sécurité en place.
Quel est l'impact?
Ce bogue permet à tout client pouvant se connecter à votre serveur SSL de récupérer environ 64 Ko de mémoire sur le serveur. Le client n'a pas besoin d'être authentifié de quelque manière que ce soit. En répétant l'attaque, le client peut vider différentes parties de la mémoire lors de tentatives successives.
L’une des données critiques que l’attaquant peut récupérer est la clé privée SSL du serveur. Avec ces données, l'attaquant peut emprunter l'identité de votre serveur.
Comment puis-je récupérer sur un serveur?
Mettez tous les serveurs affectés hors ligne. Tant qu'ils fonctionnent, ils risquent de laisser échapper des données critiques.
Mettez à niveau le
libssl1.0.0
package et assurez-vous que tous les serveurs affectés sont redémarrés.Vous pouvez vérifier si les processus affectés sont toujours en cours d’exécution avec «grep» libssl. (supprimé) '/ proc / / maps`
Générer de nouvelles clés . Cela est nécessaire car le bogue aurait peut-être permis à un attaquant d'obtenir l'ancienne clé privée. Suivez la même procédure que vous avez utilisée initialement.
Maintenant que vous avez de nouvelles clés sans compromis, vous pouvez remettre votre serveur en ligne .
Révoquer les anciens certificats.
Évaluation des dommages : toutes les données qui ont été dans la mémoire d'un processus servant des connexions SSL peuvent potentiellement avoir été divulguées. Cela peut inclure des mots de passe utilisateur et d'autres données confidentielles. Vous devez évaluer ce que ces données peuvent avoir été.
Comment puis-je récupérer sur un client?
Il existe peu de situations dans lesquelles les applications clientes sont affectées. Le problème côté serveur est que tout le monde peut se connecter à un serveur et exploiter le bogue. Pour exploiter un client, trois conditions doivent être remplies:
wget
de télécharger un fichier, aucune donnée ne doit fuir.)Si vous avez fait cela entre la nuit 2014-04-07 UTC et la mise à niveau de votre bibliothèque OpenSSL, considérez que toutes les données contenues dans la mémoire du processus client sont compromises.
Références
la source
openssl
contient des outils de ligne de commande. Il n'est pas utilisé par les applications qui utilisent la bibliothèque OpenSSL pour implémenter le protocole SSL (tel qu'Apache). Mais vous devriez simplement appliquer les mises à jour de sécurité de la distribution.Pour voir quelle version d'OpenSSL est installée sur Ubuntu, exécutez:
Si vous voyez la version suivante sortie, le correctif pour CVE-2014-0160 devrait être inclus.
En regardant https://launchpad.net/ubuntu/+source/openssl/1.0.1-4ubuntu5.12 , il indique quel type de bogue est corrigé:
la source
sudo service apache2 restart
openssl
ne corrige pas les applications telles qu'Apache, Nginx ou postfix. Vous devez les mettre à jourlibssl1.0.0
et les redémarrer comme expliqué dans d'autres publications.Si vos référentiels apt-get ne contiennent pas de version OpenSSL 1.0.1g précompilée , téléchargez simplement les sources sur le site officiel et compilez-les.
Sous la ligne de commande unique, compilez et installez la dernière version de openssl.
curl https://www.openssl.org/source/openssl-1.0.1g.tar.gz | tar xz && cd openssl-1.0.1g && sudo ./config && sudo make && sudo make install
Remplacez l'ancien fichier binaire openssl par le nouveau via un lien symbolique.
Vous êtes tous bons!
Cf ce post de blog .
NB: comme indiqué dans l'article de blog, cette solution de contournement ne résoudra pas "les serveurs Nginx et Apache qui doivent être recompilés avec des sources openSSL 1.0.1g".
la source
Pour ceux qui ne veulent pas faire une mise à jour de paquet à l'échelle du serveur. J'ai lu un grand nombre de ces guides aujourd'hui et
apt-get upgrade openssl
===apt-get upgrade
cela appliquera tous les correctifs de sécurité requis par votre machine. Merveilleux, à moins que vous ne vous appuyiez explicitement sur une ancienne version de paquet quelque part.Il s’agit de l’action minimale requise sur Ubuntu 12.04 LTS exécutant Apache 2:
Allez à cette adresse et prouvez que vous avez la vulnérabilité. Vous devez utiliser l’ADRESSE EXTERNE DIRECTE DE VOTRE SERVEUR WEB. Si vous utilisez un équilibreur de charge (par exemple, ELB), il est possible que vous ne contactiez pas directement votre serveur Web.
Exécutez le 1 liner suivant pour mettre à niveau les packages et redémarrez. Oui, j'ai vu tous les guides dire que vous devriez avoir un horodatage plus tard que le 4 avril 2014, cela ne semble pas être le cas.
apt-get update && apt-get install openssl libssl1.0.0 && /etc/init.d/apache2 restart
Assurez-vous que les versions de package appropriées sont installées et vérifiez de nouveau la vulnérabilité de votre serveur Web.
Les packages de clés sont les suivants. J'ai déterminé ces informations à l'aide de la commande ci-dessous, puis les ai supprimées (vous n'avez pas besoin d'en savoir beaucoup sur l'état de mes machines).
1.0.1-4ubuntu5.12
NE devrait PAS contenir la vulnérabilité. Assurez-vous que tel est le cas en consultant à nouveau le site Web ci-dessous et en testant votre serveur Web.http://filippo.io/Heartbleed/
la source
apt-get install openssl libssl1.0.0
l'a fait pour moi. Couriropenssl version -a
maintenant montre:built on: Mon Apr 7 20:33:29 UTC 2014
J'ai remarqué que de nombreux commentateurs ont besoin d'aide de toute urgence. Ils suivent les instructions, mettent à niveau, redémarrent et restent vulnérables lorsqu'ils utilisent certains des sites Web de test.
Vous devez vérifier que vous n'avez pas de paquet en attente tel que libssl.
Pour les mettre à niveau
apt-mark unhold libssl1.0.0
(par exemple). Ensuite , la mise à niveau:apt-get upgrade -V
. Ensuite, redémarrez les services affectés.la source