Le Rayon UX

La radiographie du Web en temps presque réel / thème en chantier (je m'appelle Teuse)

Debian m'a tuer... une fois de trop

Il y a 7 ans de cela, je disais adieu à Debian de manière quasi définitive pour la première fois. Pourquoi rompre une relation qui tenait bon an mal an depuis trois ans ? Une mise à jour de sécurité d’OpenSSL visiblement mal testée qui avait foutu tout mon système en l’air. S’ensuivit un déménagement vers les terres plus conviviales de Slackware avec quelques incursions ici et là dans le monde de FreeBSD. Depuis deux ans, retour progressif dans l’univers Debian, jusqu’à hier, et cette alerte de sécurité reçue dans ma boite mail. Si vous ne comprenez pas, passez à la suite.

Luciano Bello discovered that the random number generator in Debian’s openssl package is predictable. This is caused by an incorrect Debian-specific change to the openssl package (CVE-2008-0166). As a result, cryptographic key material may be guessable.

This is a Debian-specific vulnerability which does not affect other operating systems which are not based on Debian. However, other systems can be indirectly affected if weak keys are imported into them.

It is strongly recommended that all cryptographic key material which has been generated by OpenSSL versions starting with 0.9.8c-1 on Debian systems is recreated from scratch. Furthermore, all DSA keys ever used on affected Debian systems for signing or authentication purposes should be considered compromised; the Digital Signature Algorithm relies on a secret random value used during signature generation.

The first vulnerable version, 0.9.8c-1, was uploaded to the unstable distribution on 2006-09-17, and has since propagated to the testing and current stable (etch) distributions. The old stable distribution (sarge) is not affected.

Affected keys include SSH keys, OpenVPN keys, DNSSEC keys, and key material for use in X.509 certificates and session keys used in SSL/TLS connections. Keys generated with GnuPG or GNUTLS are not affected, though.

Qu’est-ce que cela signifie ? Cela signifie que depuis deux ans, tous les utilisateurs Debian (et donc Ubuntu) de par le monde utilisent des clés SSH, des certificats SSL ou OpenVPN possédant une clé de chiffrage “facilement” trouvable.

Tout ça parce que les mainteneurs Debian d’openssl, avec leurs bonnes habitudes de gestion de package, ont voulu corriger dans leur coin un bug rapporté par Valgrind, et ont incidemment sérieusement réduit les possibilités pour openssl de générer des nombres aléatoires. Je ne dirai pas mieux que Ben Laurie sur le fait de patcher directement les sources d’un paquetage sans faire remonter le correctif à la source, surtout quand on ne comprend pas tous les tenants et les aboutissants de ce qu’on fait.

Cela fait plus de 10 ans que j’entends la cohorte de fans intégristes de Debian hurler à qui mieux mieux que leur système de fonctionnement est le meilleur – et dans un sens c’est un cas d’école de management – que leur distribution est la plus stable (et la moins à jour, sic), et en tout cas la meilleure. Leur philosophie est la seule valable, et des organismes comme la fondation Mozilla n’a qu’à s’y plier ou subi leurs foudres (re sic). On pourra me dire ce qu’on voudra sur ma non participation au projet, sur sa nature communautaire, open source, sur les absences totales de garantie explicitement apportées par la GPL, ce pécher d’orgueil compromet la sécurité d’un pourcentage non négligeable des serveurs web installés sur la planète.

Quant à moi, je vous laisse, j’ai un FreeBSD à installer, je dois me plonger dans de la doc d’admin pour la première fois depuis 2003.

  • Par Olivier 15/05/2008 at 01h13

    Cela rejoint ce que l’on répète souvent à nos apprentis ou jeunes embauchés : ne jamais corriger un bug à la va-vite et surtout en parler pour savoir s’il n’y aura pas d’autres impacts…ailleurs, dur le métier parfois ;)

    Pour Debian, avec le recul, le principal reproche est le manque de mise à jour de certains paquets, on se retrouve dépendant du bon vouloir du mainteneur, ce qui nous amène parfois à devoir repartir des sources, alors que ce qui m’a attiré c’est surtout apt-get, bien plus simple pour la maintenance…ou presque.

    …et ce côté intégriste, on ne le retrouve pas seulement chez Debian, malheureusement trop souvent ailleurs, même si ça se calme avec les années.

    Merci pour l’info.


  • Par mat 15/05/2008 at 02h56

    http://www.links.org/?p=327

    “Incidentally, while I am talking about vendors who are bad for security, it saddens me to have to report that FreeBSD, my favourite open source operating system, are also guilty. Not only do they have local patches in their ports system that should clearly be sent upstream, but they also install packages without running the self-tests. This has bitten me twice by installing broken crypto, most recently in the py-openssl package.”

    :)


  • Par Julien Tartarin 15/05/2008 at 08h08

    Marrant, j’ai fait FreeBSD -> Debian il y a quelques années (pour des raisons toutes bêtes de temps gagné avec les packages)… Et effectivement avec ces packages, il n’est pas évident d’avoir des versions récentes (hors correctifs de sécurité qui sont plutôt fréquents).

    En lisant cette annonce, j’étais content d’être resté sur du “oldstable” :)


  • Par Antoine 15/05/2008 at 09h09

    Salut Fred,

    Oui, tous les gens qui utilisent Ubuntu ou Debian depuis 2006 ont des clés générée à partir de 2^15 possibilités. Oui, c’est dramatique. Oui, c’est un bug spécifique à Debian.

    Toutefois, il faut garder à l’esprit le contexte. Le mainteneur Debian a contacté la dev. team d’openSSL, ils n’ont pas crié. Le patch n’a vraisemblablement pas été écrit à la va-vite. Le code n’était pas documenté et il n’est pas évident de le comprendre comme ça. L’erreur est humaine, non ? Cela peut arriver à tout le monde de faire des erreurs.

    Je pense que cette fois-ci c’est un bug spécifique à Debian. Mais combien de bug (y compris de sécurité) sont fixés dans Debian et pas ailleurs ? Même si le patch est remonté en upstream ?

    Je trouve que c’est facile de tirer un grand trait en disant “ailleurs c’est mieux”. La réactivité de Debian a été très bonne, le suivit et l’information est à mon sens suffisante. Bref, pas de quoi jeter tout Debian ;)


  • Par NiKo 15/05/2008 at 09h43

    Moi je retourne en redhat 7


  • Par Ben 15/05/2008 at 13h11

    Apparamment, le mainteneur a contacté l’équipe de dév upstream: http://marc.info/?l=openssl-dev&m=114651085826293

    et il a obtenu des réponses au pire vagues, au mieux encourageantes. Notons que personne n’est tombé de sa chaise en riant, cependant. Il reste vrai qu’il est inutile de fixer un problème ‘cosmétique’ si on ne comprend pas les tenants et les aboutissants. Peut-être le packageur a voulu trop bien faire?

    Je me demande si l’histoire ne mérite pas d’ête un peu moins caricaturée, même si c’est un problème vraiment dramatique. Il faut aussi citer le remarquable boulot fait par les équipes Debian lors de problèmes généraux, la Grande Catastrophe SSH-privs et le marathon-du-packaging qui s’en était suivi. C’est donc selon moi tout sauf uniforme.

    Concernant les patches apportés au code, je crains que FreeBSD ne soit pas vraiment bien différent de ce point de vue.

    La vraie conclusion est renforcer les liens entre packageurs et upstream, c’est la leçon de cette histoire.

    – Ben


  • Par Ben 15/05/2008 at 13h11

    Apparamment, le mainteneur a contacté l’équipe de dév upstream: http://marc.info/?l=openssl-dev&m=114651085826293

    et il a obtenu des réponses au pire vagues, au mieux encourageantes. Notons que personne n’est tombé de sa chaise en riant, cependant. Il reste vrai qu’il est inutile de fixer un problème ‘cosmétique’ si on ne comprend pas les tenants et les aboutissants. Peut-être le packageur a voulu trop bien faire?

    Je me demande si l’histoire ne mérite pas d’ête un peu moins caricaturée, même si c’est un problème vraiment dramatique. Il faut aussi citer le remarquable boulot fait par les équipes Debian lors de problèmes généraux, la Grande Catastrophe SSH-privs et le marathon-du-packaging qui s’en était suivi. C’est donc selon moi tout sauf uniforme.

    Concernant les patches apportés au code, je crains que FreeBSD ne soit pas vraiment bien différent de ce point de vue.

    La vraie conclusion est renforcer les liens entre packageurs et upstream, c’est la leçon de cette histoire.

    – Ben


  • Par Pierre 16/05/2008 at 11h07

    Concernant les patches apportés au code, je crains que FreeBSD ne soit pas vraiment bien différent de ce point de vue.
    La vraie conclusion est renforcer les liens entre packageurs et upstream, c’est la leçon de cette histoire.

    Tout à fait, d’ailleurs quelle distribution, hormis Slackware ou LFS, ne patche pas ses paquets ?

    Je ne suis pas particulièrement fan de Debian côté serveur ; J’utilise depuis quelques années FreeBSD et maintenant Gentoo, principalement pour mieux “comprendre ce qui se passe”.

    Mais je ne pense pas que l’orgueil ait quelque chose à voir là-dedans, il s’agit plutôt d’une démonstration du fait que le processus peut être amélioré, dans le but de minimiser ce genre d’erreurs.

    L’erreur est humaine : l’essentiel est de corriger vite cette faille et d’en tirer une leçon pour la suite.


  • Par Olivier 16/05/2008 at 16h52

    Comme je sais qu’il y a des rubyistes ici (ou au moins des Railers), Fabien n’est pas également content des màj des paquets de la Debian, et on le comprend : http://blog.penso.info/2008/05/16/ruby-et-date

    ça va troller.


  • Par Moe 29/05/2008 at 12h04

    Un bon gros article pour tenter d’y voir plus clair : http://sid.rstack.org/blog/index.php/272-et-les-vaches-seront-bien-gardees


Commentaire Debian m'a tuer... une fois de trop