Debian-Sicherheitsankündigung

DSA-1576-1 openssh -- vorhersagbarer Zufallszahlengenerator

Datum des Berichts:
14. Mai 2008
Betroffene Pakete:
openssh
Verwundbar:
Ja
Sicherheitsdatenbanken-Referenzen:
In Mitres CVE-Verzeichnis: CVE-2008-0166.
Weitere Informationen:

Die kürzlich bekanntgegebene Verwundbarkeit in Debians openssl-Paket (DSA-1571-1, CVE-2008-0166) betrifft indirekt OpenSSH. Als Ergebnis müssen alle Benutzer- und Rechnerschlüssel, die mit der defekten Version des Paketes openssl erstellt wurden, als nicht-vertrauenswürdig eingestuft werden, selbst nachdem die Aktualisierung von Openssl eingespielt wurde.

1. Installieren der Sicherheitsaktualisierungen

Diese Aktualisierung enthält eine Abhängigkeit auf die Openssl-Aktualisierung und wird automatisch eine korrigierte Version des Pakets libssl0.9.8 und ein neues Paket openssh-blacklist installieren.

Sobald die Aktualisierung angewandt wurde, werden – wo möglich – schwache Benutzerschlüssel automatische zurückgewiesen. Allerdings können sie nicht in allen Fällen erkannt werden. Falls Sie solche Schlüssel für die Benutzerauthentifizierung verwenden, werden diese ab sofort nicht mehr funktionieren und müssen ersetzt werden (siehe Schritt 3).

OpenSSH-Host-Schlüssel können automatische erstellt werden, wenn die Sicherheitsaktualisierung angewandt wird. Diese Aktualisierung wird um Bestätigung bitten, bevor der Schritt ausgeführt wird.

2. Aktualisieren der Datei known_hosts von OpenSSH

Die Neuerstellung der Hostschlüssel wird zu einer Warnung führen, die angezeigt wird, wenn per SSH mit einem System verbunden wird, auf dem die Datei known_hosts noch nicht aktualisiert wurde. Die Warnung wird wie folgt aussehen:

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@    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.

In diesem Fall wurde der Host-Schlüssel einfach geändert und Sie sollten die relevante Datei known_hosts wie in der Fehlermeldung angegeben aktualisieren. Es wird empfohlen, dass Sie einen vertrauenswürdigen Kanal verwenden, um den Serverschlüssel auszutauschen. Er kann in der Datei /etc/ssh/ssh_host_rsa_key.pub auf dem Server gefunden werden. Der Fingerabdruck kann mit folgendem Befehl angezeigt werden:

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

Zusätzlich zu der benutzerspezifischen Datei known_hosts könnte es eine systemweite Host-Datei in /etc/ssh/ssh_known_hosts geben. Diese Datei wird sowohl vom ssh-Client als auch von sshd für die hosts.equiv-Funktionalität verwandt. Diese Datei muss auch aktualisiert werden.

3.Überprüfen aller OpenSSH-Benutzerschlüssel

Das sicherste Vorgehen ist die Neuerstellung aller OpenSSH-Benutzerschlüssel, außer dort, wo mit hoher Sicherheit festgestellt werden kann, dass der Schlüssel auf einem nichtbetroffenen System erstellt wurde.

Überprüfen Sie, ob Ihr Schlüssel betroffen ist, indem Sie das Werkzeug ssh-vulnkey, das in der Sicherheitsaktualisierung enthalten ist, verwenden. Standardmäßig wird ssh-vulnkey den Standardort für Benutzerschlüssel (~/.ssh/id_rsa, ~/.ssh/id_dsa und ~/.ssh/identity), Ihre Datei authorized_keys (~/.ssh/authorized_keys und ~/.ssh/authorized_keys2) und die System-Host-Schlüssel (/etc/ssh/ssh_host_dsa_key und /etc/ssh/ssh_host_rsa_key) überprüfen.

Um alle Ihre eigenen Schlüssel zu überprüfen (wobei angenommen wird, dass sich dies an den Standardorten (~/.ssh/id_rsa, ~/.ssh/id_dsa oder ~/.ssh/identity) befinden) geben Sie Folgendes ein:

ssh-vulnkey

Für die Überprüfung aller Schlüssel auf Ihrem System:

sudo ssh-vulnkey -a

Um einen Schlüssel an einem nicht-standard-Ort zu prüfen:

ssh-vulnkey /pfad/zum/schlüssel

Falls ssh-vulnkey Unknown (no blacklist information) meldet hat es keine Information darüber, ob der Schlüssel betroffen ist. In diesem Fall können Sie die Änderungszeit (mtime) der Datei mittels ls -l prüfen. Schlüssel, die vor September 2006 erstellt wurden, sind nicht betroffen. Denken Sie auch daran, dass Datensicherungsprozeduren die Dateizeit zurückdatiert haben könnten (oder die Systemzeit falsch gewesen sein könnte), auch wenn dies unwahrscheinlich ist. Im Zweifelsfall erstellen Sie einen neuen Schlüssel und entfernen den alten von allen Servern.

4. Neuerstellung aller betroffenen Benutzerschlüssel

OpenSSH-Schlüssel, die zur Authentifizierung benutzt werden, müssen manuell neu erstellt werden. Dazu gehören auch Schlüssel, die seitdem vom Rechner, auf dem sie erstellt wurden, auf andere Systeme transferiert wurden.

Neue Schlüssel können mittels ssh-keygen erstellt werden, z.B.:

   $ 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. Aktualisieren der Datei authorized_keys (falls notwendig)

Sobald die Benutzerschlüssel neu erstellt wurden, müssen die relevanten öffentlichen Schlüssel in allen authorized_keys-Dateien (und, wo zutreffend, den authorized_keys2-Dateien) auf Systeme in der Ferne übertragen werden. Stellen Sie sicher, dass Sie die Zeilen mit Bezug auf die alten Schlüssel aus diesen Dateien entfernen.

Zusätzlich zu den Gegenmaßnahmen, um die Zufallszahlenverwundbarkeit zu entschärfen, behebt diese OpenSSH-Aktualisierung mehrere andere Verwundbarkeiten:

CVE-2008-1483: Timo Juhani Lindfors entdeckte, dass beim Einsatz von X11-Weiterleitung der SSH-Client einen X11-Weiterleitungsport auswählt, ohne sicherzustellen, dass er auf allen Adressfamilien gebunden werden kann. Falls das System für IPv6 konfiguriert ist (selbst wenn es über keine funktionierende IPv6-Verbindung verfügt), könnte dies es lokalen Angreifern auf dem System in der Ferne erlauben, X11-Weiterleitungen zu entführen.

CVE-2007-4752: Jan Pechanec entdeckte, dass ssh auf die Erstellung von vertrauenswürdigen X11-Cookies zurückfällt, falls die Erstellung eines unvertrauenswürdigen Cookies fehlschlägt. Dabei könnte die lokale Anzeige einem böswilligen Server in der Ferne offengelegt werden, wenn X11-Weiterleitung verwandt wird.

Für die stabile Distribution (Etch) wurden diese Probleme in Version 4.3p2-9etch1 behoben. Derzeit wurden nur eine Teilmenge der unterstützten Architekturen gebaut; weitere Aktualisierungen werden bereitgestellt, sobald diese verfügbar werden.

Für die instabile Distribution (Sid) und die Testing-Distribution (Lenny) wurden diese Probleme in Version 4.7p1-9 behoben.

Wir empfehlen, dass Sie Ihre openssh-Pakete aktualisieren und die oben aufgeführten Maßnahmen ergreifen.

Behoben in:

Debian GNU/Linux 4.0 (etch)

Quellcode:
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
Architektur-unabhängige Dateien:
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

MD5-Prüfsummen der aufgeführten Dateien stehen in der ursprünglichen Sicherheitsankündigung zur Verfügung.