Bulletin d'alerte Debian

DSA-1576-1 openssh -- Générateur de nombres aléatoires prévisible

Date du rapport :
14 mai 2008
Paquets concernés :
openssh
Vulnérabilité :
Oui
Références dans la base de données de sécurité :
Dans le dictionnaire CVE du Mitre : CVE-2008-0166.
Plus de précisions :

La vulnérabilité annoncée récemment dans le paquet openssl de Debian (bulletin de sécurité n° 1571-1, CVE-2008-0166) affecte indirectement OpenSSH. En conséquence, toutes les clés d'utilisateur et d'hôte générées avec des versions défaillantes du paquet openssl ne doivent pas être considérées comme étant de confiance, même après l'application de la mise à jour d'openssl.

1. Installer les mises à jour de sécurité

Cette mise à jour contient une dépendance vers la mise à jour d'openssl et installera automatiquement une version correcte du paquet libssl0.9.8, ainsi qu'un nouveau paquet openssh-blacklist.

Une fois la mise à jour appliquée, les clés d'utilisateur faibles seront automatiquement rejetées lorsque c'est possible (elles ne peuvent pas toujours être détectées). Si vous utilisez de telles clés pour l'authentification des utilisateurs, elles arrêteront immédiatement de fonctionner et devront être remplacées (voir étape 3).

Les clés d'hôtes OpenSSH peuvent être régénérées automatiquement lors de l'application de la mise à jour de sécurité d'OpenSSH. La mise à jour demandera une confirmation avant cette étape.

2. Mise à jour des fichiers known_hosts d'OpenSSH

La régénération des clés d'hôte entraînera l'affichage d'un avertissement lors de la connexion au système avec SSH jusqu'à ce que la clé d'hôte soit mise jour dans le fichier known_hosts. L'avertissement ressemble à ceci :

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@    WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!     @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that the RSA host key has just been changed.

Dans ce cas, la clé d'hôte a simplement été modifiée, et vous devriez mettre jour le fichier known_hosts correspondant comme indiqué dans le message d'erreur. Il est recommandé d'utiliser un canal sécurisé pour échanger la clé du serveur. Elle se trouve dans le fichier /etc/ssh/ssh_host_rsa_key.pub sur le serveur ; son empreinte peut être affichée avec la commande suivante :

ssh-keygen -l -f /etc/ssh/ssh_host_rsa_key.pub

En plus des fichiers known_hosts des utilisateurs, il peut y avoir un fichier d'hôtes connus au niveau du système /etc/ssh/ssh_known_hosts. Ce fichier est utilisé à la fois par le client ssh et par sshd pour la fonctionnalité hosts.equiv. Ce fichier doit également être mis à jour.

3. Vérification de toutes les clés OpenSSH des utilisateurs

L'action la plus sûre est de régénérer toutes les clés OpenSSH des utilisateurs, sauf s'il peut être établi à un haut degré de certitude que la clé a été générée sur un système non affecté.

Vérifiez si votre clé a été affectée en lançant l'outil ssh-vulnkey inclus dans la mise à jour de sécurité. Par défaut, ssh-vulnkey vérifie les emplacements standards des clés d'utilisateur (~/.ssh/id_rsa, ~/.ssh/id_dsa et ~/.ssh/identity), vos fichiers authorized_keys (~/.ssh/authorized_keys et ~/.ssh/authorized_keys2), et les clés d'hôte du système (/etc/ssh/ssh_host_dsa_key et /etc/ssh/ssh_host_rsa_key).

Pour vérifier toutes vos clés, en supposant qu'elles sont situées aux emplacements standards (~/.ssh/id_rsa, ~/.ssh/id_dsa, ou ~/.ssh/identity) utilisez :

ssh-vulnkey

Pour vérifier toutes les clés du système :

sudo ssh-vulnkey -a

Pour vérifier une clé à un emplacement non standard :

ssh-vulnkey /chemin/vers/la/clé

Si ssh-vulnkey répond Unknown (no blacklist information), alors il n'y a pas d'information sur la vulnérabilité de vos clés. Dans ce cas, vous pouvez examiner la date de modification (mtime) du fichier en utilisant ls -l. Les clés générées avant septembre 2006 ne sont pas affectées. Veuillez garder à l'esprit que, bien que cela soit peut probable, les procédures de sauvegarde peuvent avoir modifié la date du fichier dans le passé (ou l'horloge du système peut avoir été incorrectement paramétrée). En cas de doute, générez une nouvelle clé et supprimez les anciennes de tous les serveurs.

4. Régénérer les clés des utilisateurs affectées

Les clés OpenSSH utilisées pour l'authentification des utilisateurs doivent être régénérées manuellement, y compris celles qui ont depuis été transférées sur d'autres systèmes après avoir été créées.

De nouvelles clés peuvent être générées avec ssh-keygen, par exemple :

   $ ssh-keygen
   Generating public/private rsa key pair.
   Enter file in which to save the key (/home/user/.ssh/id_rsa):
   Enter passphrase (empty for no passphrase):
   Enter same passphrase again:
   Your identification has been saved in /home/user/.ssh/id_rsa.
   Your public key has been saved in /home/user/.ssh/id_rsa.pub.
   The key fingerprint is:
   00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00 user@host

5. Mise à jour des fichiers authorized_keys (si nécessaire)

Une fois les clés d'utilisateur régénérées, les clés publiques correspondantes doivent être propagées dans tous les fichiers authorized_keys (et authorized_keys2, si nécessaire) sur les systèmes distants. Assurez-vous de bien supprimer de ces fichiers les lignes contenant les anciennes clés.

En plus de ces contre-mesures, pour atténuer le caractère aléatoire de cette vulnérabilité, cette mise à jour d'OpenSSH corrige plusieurs autres vulnérabilités :

CVE-2008-1483 : Timo Juhani Lindfors a découvert que, lors de l'utilisation de la redirection X11, le client SSH sélectionnait un port de redirection sans s'assurer qu'il pouvait être lié à toutes les familles d'adresses. Si le système est configuré avec IPv6 (même s'il n'a aucune connexion IPv6), cela peut permettre à un attaquant local sur un serveur distant de détourner la redirection X11.

CVE-2007-4752 : Jan Pechanec a découvert que ssh revenait à la création d'un cookie X11 sûr si la création d'un cookie peu sûr échouait. Cela peut exposer la visualisation locale à un serveur distant malveillant lors de l'utilisation de la redirection X11.

Pour la distribution stable (Etch), ces problèmes ont été corrigés dans la version 4.3p2-9etch1. Actuellement, seule une partie de toutes les architectures gérées ont été construites ; d'autres mises à jour seront fournies dès qu'elles seront disponibles.

Pour les distributions de test (Lenny) et instable (Sid), ces problèmes ont été corrigés dans la version 4.7p1-9.

Nous vous recommandons de mettre à jour votre paquet openssh et de prendre les mesures indiquées ci-dessus.

Corrigé dans :

Debian GNU/Linux 4.0 (etch)

Source :
http://security.debian.org/pool/updates/main/o/openssh/openssh_4.3p2-9etch1.diff.gz
http://security.debian.org/pool/updates/main/o/openssh-blacklist/openssh-blacklist_0.1.1.tar.gz
http://security.debian.org/pool/updates/main/o/openssh/openssh_4.3p2-9etch1.dsc
http://security.debian.org/pool/updates/main/o/openssh-blacklist/openssh-blacklist_0.1.1.dsc
http://security.debian.org/pool/updates/main/o/openssh/openssh_4.3p2.orig.tar.gz
Composant indépendant de l'architecture :
http://security.debian.org/pool/updates/main/o/openssh-blacklist/openssh-blacklist_0.1.1_all.deb
http://security.debian.org/pool/updates/main/o/openssh/ssh_4.3p2-9etch1_all.deb
http://security.debian.org/pool/updates/main/o/openssh/ssh-krb5_4.3p2-9etch1_all.deb
Alpha:
http://security.debian.org/pool/updates/main/o/openssh/openssh-client-udeb_4.3p2-9etch1_alpha.udeb
http://security.debian.org/pool/updates/main/o/openssh/openssh-client_4.3p2-9etch1_alpha.deb
http://security.debian.org/pool/updates/main/o/openssh/ssh-askpass-gnome_4.3p2-9etch1_alpha.deb
http://security.debian.org/pool/updates/main/o/openssh/openssh-server-udeb_4.3p2-9etch1_alpha.udeb
http://security.debian.org/pool/updates/main/o/openssh/openssh-server_4.3p2-9etch1_alpha.deb
AMD64:
http://security.debian.org/pool/updates/main/o/openssh/openssh-server-udeb_4.3p2-9etch1_amd64.udeb
http://security.debian.org/pool/updates/main/o/openssh/openssh-server_4.3p2-9etch1_amd64.deb
http://security.debian.org/pool/updates/main/o/openssh/openssh-client-udeb_4.3p2-9etch1_amd64.udeb
http://security.debian.org/pool/updates/main/o/openssh/openssh-client_4.3p2-9etch1_amd64.deb
http://security.debian.org/pool/updates/main/o/openssh/ssh-askpass-gnome_4.3p2-9etch1_amd64.deb
HP Precision:
http://security.debian.org/pool/updates/main/o/openssh/openssh-client-udeb_4.3p2-9etch1_hppa.udeb
http://security.debian.org/pool/updates/main/o/openssh/ssh-askpass-gnome_4.3p2-9etch1_hppa.deb
http://security.debian.org/pool/updates/main/o/openssh/openssh-server_4.3p2-9etch1_hppa.deb
http://security.debian.org/pool/updates/main/o/openssh/openssh-server-udeb_4.3p2-9etch1_hppa.udeb
http://security.debian.org/pool/updates/main/o/openssh/openssh-client_4.3p2-9etch1_hppa.deb
Intel IA-32:
http://security.debian.org/pool/updates/main/o/openssh/openssh-client_4.3p2-9etch1_i386.deb
http://security.debian.org/pool/updates/main/o/openssh/openssh-server_4.3p2-9etch1_i386.deb
http://security.debian.org/pool/updates/main/o/openssh/ssh-askpass-gnome_4.3p2-9etch1_i386.deb
http://security.debian.org/pool/updates/main/o/openssh/openssh-server-udeb_4.3p2-9etch1_i386.udeb
http://security.debian.org/pool/updates/main/o/openssh/openssh-client-udeb_4.3p2-9etch1_i386.udeb
Intel IA-64:
http://security.debian.org/pool/updates/main/o/openssh/openssh-server-udeb_4.3p2-9etch1_ia64.udeb
http://security.debian.org/pool/updates/main/o/openssh/openssh-client_4.3p2-9etch1_ia64.deb
http://security.debian.org/pool/updates/main/o/openssh/ssh-askpass-gnome_4.3p2-9etch1_ia64.deb
http://security.debian.org/pool/updates/main/o/openssh/openssh-client-udeb_4.3p2-9etch1_ia64.udeb
http://security.debian.org/pool/updates/main/o/openssh/openssh-server_4.3p2-9etch1_ia64.deb
PowerPC:
http://security.debian.org/pool/updates/main/o/openssh/openssh-server_4.3p2-9etch1_powerpc.deb
http://security.debian.org/pool/updates/main/o/openssh/openssh-server-udeb_4.3p2-9etch1_powerpc.udeb
http://security.debian.org/pool/updates/main/o/openssh/openssh-client_4.3p2-9etch1_powerpc.deb
http://security.debian.org/pool/updates/main/o/openssh/ssh-askpass-gnome_4.3p2-9etch1_powerpc.deb
http://security.debian.org/pool/updates/main/o/openssh/openssh-client-udeb_4.3p2-9etch1_powerpc.udeb
Sun Sparc:
http://security.debian.org/pool/updates/main/o/openssh/openssh-server_4.3p2-9etch1_sparc.deb
http://security.debian.org/pool/updates/main/o/openssh/ssh-askpass-gnome_4.3p2-9etch1_sparc.deb
http://security.debian.org/pool/updates/main/o/openssh/openssh-client_4.3p2-9etch1_sparc.deb
http://security.debian.org/pool/updates/main/o/openssh/openssh-server-udeb_4.3p2-9etch1_sparc.udeb
http://security.debian.org/pool/updates/main/o/openssh/openssh-client-udeb_4.3p2-9etch1_sparc.udeb

Les sommes MD5 des fichiers indiqués sont disponibles sur la page originale de l'alerte de sécurité.