Il est rare que mon blog parle de faille de sécurité, mais cette info mérite d’être relayée dans le monde linux et surtout en français.
La faille enregistrée CVE-2008-0166 touche OpenSSL (plus d’info sur le site états-unien NIST). Les clés pour SSH et OpenVPN sont générées en utilisant des fonctions de cette bibliothèque. Un patch a été appliqué sur celle-ci dans Debian et ses dérivées (Ubuntu comprise) qui augmente anormalement la probabilité d’apparition de certaines clés.
Autrement dit, si vous avez déjà généré une clé SSH ou OpenVPN sous une distribution basée sur Debian, il est possible que plusieurs personnes aient la même que vous ou qu’un pirate informatique puisse se faire passer pour vous plus facilement que la normale.
Infos supplémentaires : votre clé SSH peut aussi avoir été compromise même si elle n’a pas été générée sous une distribution basée sur Debian. Ceci sous deux conditions : il s’agit d’une clé DSA et elle a été, un jour, utilisée sur une machine basée sur Debian. Cette deuxième cause impacte certainement beaucoup plus de personnes que la première cité ci-dessus. Voir le commentaire et le billet de Roland ci-dessous pour plus d’explications.
Un programme a été créé pour tester si votre clé est l’une de ces clés “fréquentes” ou non. Attention car il ne comporte qu’une partie de ces clés et pas toutes. Pour vérifier la clé ssh de tous les utilisateurs locaux de la machine, on le lance ainsi en tant que root :
perl ./dowkd.pl user
Si il n’affiche rien, c’est que votre clé est sûre ou qu’elle n’est pas dans la base de donnée de clés publiques de “dowkd.pl”.
14 mai 2008 à 12:52
Des infos sur la présence de ce problème sur la driva 2008 ? J’ai lancé au cas où le script chez moi mais cela me lance de vilains “unparsable line”.
14 mai 2008 à 13:19
Ubuntu et Debian ont publié un bulletin de sécurité pour indiquer qu’ils étaient infectés. Redhat a publié une annonce officielle pour dire qu’il n’était pas impacté (ni fedora, evidemment). Mandriva n’est pas impacté non plus, même si l’annonce n’a pas été officielle pour l’instant.
MAIS la faille est la clé elle-même. Cela signifie que si tu génères ta clé sous Redhat et que tu l’utilises dans Debian, tu n’es pas affecté et que si tu génères ta clé sous Ubuntu et que tu l’utilises sous Mandriva, tu l’es.
14 mai 2008 à 16:39
Ok c’est clair, merci, n’utilisant que mandriva, pas de risque pour cette fois
14 mai 2008 à 17:00
Le post n’est pas très clair…
Ce n’est pas une faille OpenSSL.
C’est une faille Debian OpenSSL ! (donc affectant les systèmes Debian et dérivés). Merci de faire la distinction, étant donné que tout le monde n’utilise pas Debian
Une faille pareille dans OpenSSL, ça m’aurait fait mal…
14 mai 2008 à 17:30
La précision est utile mais quelque chose m’intrigue là dedans. Qu’est-ce donc que Debian OpenSSL ? Ils ont une version dérivée du projet initial ? C’est pour des raisons de licence ?
14 mai 2008 à 18:06
Après faire
perl ./dowkd user
la konsole me dit
error: invalid command, use “help” to get help
??
14 mai 2008 à 20:47
@Ulhume : effectivement, si l’on a jamais utilisé que du Mandriva et qu’on a généré soi-même ses clés, pas de problèmes.
@zozo : tu as raison mais en pratique et dans tous les endroits où la faille a été recensée, on indique que c’est une faille d’OpenSSL qui n’affecte que les distributions basées sur Debian, même s’il est vrai, OpenSSL n’y est pour rien.
@Ulhume 2 : Debian OpenSSL n’existe pas mais chaque distribution applique un certain nombre de patches aux paquetages inclus dedans. C’est vrai pour n’importe quelle distribution.
@Ximo : je n’ai pas eu ce problème. Il faut lancer gunzip sur le programme, puis lancer “perl ./dowkd.pl user” (il semble que tu as oublié le .pl ou c’est une faute de frappe ?). Sinon, essayes “perl ./dowkd.pl help”, tu devrais avoir une liste des commandes acceptées.
15 mai 2008 à 9:46
Je me permets d’apporter une correction : même une clef « sûre » peut avoir été compromise si elle a été utilisée sur une machine Debian ou assimilé. L’article tel qu’il est rédigé actuellement induit un faux sentiment de sécurité. J’ai mis plus de détails dans un billet sur mon blog à moi,
http://roland.entierement.nu/blog/2008/05/15/branle-bas-sshssl.html et je t’invite à rectifier le tir : dowkd.pl ne fait pas tout, et les « informations supplémentaires » sont carrément erronées.
15 mai 2008 à 10:28
Merci roland. J’ai mis à jour mon billet et je vais publier un nouveau billet indiquant que celui-ci a été mis à jour.
J’ai lu la page Debian citée dans ton ticket qui semble effectivement donner plus de précisions et en particulier le paragraphe “Identifying Weak Keys” : http://wiki.debian.org/SSLkeys.
Je vais faire remonter l’info au responsable sécu Mandriva car il me semble qu’il va falloir implémenter un système du style blacklist, tel qu’il a été fait sous Debian. L’idéal, ce serait que toutes les distros le fasse, je verrais la réaction pour Mandriva.
31 mai 2008 à 23:32
Pour conclure, ma demande vers Mandriva a été rejetée. La raison officielle est simple : le projet openssl (upstream) n’a pas implémenté ce système de blacklist. D’ailleurs, aucune autre distribution non-debian n’a implémenté ce système.
Maintenant, la responsabilité repose sur les utilisateurs : si leur clé est vulnérable, à eux de la renouveller, les distributions n’y peuvent plus rien.
18 juin 2008 à 17:03
Somehow i missed the point. Probably lost in translation
Anyway … nice blog to visit.
cheers, Culminate
.