Debians sikkerhedsbulletin

DSA-1576-1 openssh -- forudsigelig generator af tilfældige tal

Rapporteret den:
14. maj 2008
Berørte pakker:
openssh
Sårbar:
Ja
Referencer i sikkerhedsdatabaser:
I Mitres CVE-ordbog: CVE-2008-0166.
Yderligere oplysninger:

Den nyligt annoncerede sårbarhed i Debians openssl-pakke (DSA-1571-1, CVE-2008-0166) påvirker indirekte OpenSSH. Som en følge deraf må alle bruger- og værts-nøgler genereret ved hjælp af defekte versioner af openssl-pakken betragtes som upålidelige, selv efter openssl-opdateringen er foretaget.

1. Installér sikkerhedsopdateringer

Denne opdatering er afhænging af openssl-opdateringen og vil automatisk installere en rettet version af pakken libssl0.9.8 og en ny pakke, openssh-blacklist.

Når opdateringen er udført, vil svage brugernøgler automatisk blive afvist hvor det er muligt (dog kan man ikke identificere dem i alle situationer). Hvis du anvender sådanne nøgler til brugerautentificering, vil de omgående holde op med at virke og skal udskiftes (se trin 3).

OpenSSH-værtsnøgler kan regenereres automatisk når sikkerhedsopdateringen af OpenSSH udført. Opdateringen vil bede om en bekræftelse, før dette trin udføres.

2. Opdatér OpenSSH's known_hosts-filer

Regenereringe af værtsnøgler vil forårsage at en advarsel vises, når man forbinder sig til et system gennem SSH, indtil værtsnøglen er blevet opdatering i filen known_hosts. Advarslen skulle se ud som følger:

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

I denne situtation er værtsnøglen blot blevet udskiftet, og du bør opdatere de relevante known_hosts-filer, som angivet i fejlmeddelelsen. Det anbefales at du anvender en pålidelig måde, at udskifte servernøglen på. Den ligger i filen /etc/ssh/ssh_host_rsa_key.pub på serveren; det er et fingeraftryk der kan udskrives med kommandoen:

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

Ud over brugerspecifikke known_hosts-filer, kan der også være en fil med kendte værter gældende for hele systemet, /etc/ssh/ssh_known_hosts. Denne fil anvendes både af ssh-klienten og af sshd i deres hosts.equiv-funktionalitet. Også denne fil skal opdateres.

3. Kontrollér alle OpenSSH-brugernøgler

Den sikreste fremgangsmåde er at regenerere alle OpenSSH-brugernøgler, bortset fra hvor der med stor sandsynlighed er tale om en fil, der blev genereret på et upåvirket system.

Undersøg hvorvidt din nøgle er påvirket, ved at køre værktøjet ssh-vulnkey, der er indeholdt i sikkerhedsopdateringen. Som standard vil ssh-vulnkey kigge i standardplaceringer for brugernøgler (~/.ssh/id_rsa, ~/.ssh/id_dsa og ~/.ssh/identity), din authorized_keys-fil (~/.ssh/authorized_keys og ~/.ssh/authorized_keys2) samt systemets værtsnøgler (/etc/ssh/ssh_host_dsa_key og /etc/ssh/ssh_host_rsa_key).

For at kontrollére alle dine egne nøgler, forudsat at de befinder sig i standardplaceringerne (~/.ssh/id_rsa, ~/.ssh/id_dsa, or ~/.ssh/identity):

ssh-vulnkey

For at kontrollere alle nøgler på dit system:

sudo ssh-vulnkey -a

For at kontrollere en nøgle i en ikke-standardplacering:

ssh-vulnkey /path/to/key

Hvis ssh-vulnkey siger "Unknown (no blacklist information)", så har det ingen oplysninger om hvorvidt den pågældende nøgle er påvirket eller ej. I denne situation kan du undersøge filens ændringstidspunkt (mtime) med "ls -l". Nøgler genereret før september 2006 er ikke påvirket. Vær opmærksom på, at selv om det er usandsynligt, kan sikkerhedskopieringsprocedurer have ændret filens dato længere tilbage i tiden (eller systemuret kan have været indstillet forkert). Hvis du er i tvivl, så generér en ny nøgle og fjern den gamle fra alle servere.

4. Regenerér alle påvirkede brugernøgler

OpenSSH-nøgler anvendt til brugerautentificering skal regenereres manuelt, heriblandt også dem, der siden kan være blevet overført til andre systemer, efter de er blevet genereret.

Nye nøgler kan genereres ved hjælp af ssh-keygen, fx:

   $ 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. Opdatér authorized_keys-filer (om nødvendigt)

Når dine brugernøgler er blevet regenereret, skal de relevante offentlige nøgler overføres til alle authorized_keys-filer (og authorized_keys2-filer, om nøvendigt) på fjerne systemer. Sørg for at slette linjerne indeholdende gamle nøgler, fra disse filer.

Ud over forholdsreglerne over for tilfældighedssårbarheden, rettes der med denne OpenSSH-opdatering også flere andre sårbarheder:

CVE-2008-1483: Timo Juhani Lindfors opdagede at, når man anvender X11-viderestilling, vælger SSH-klienten en X11-viderestillingsport uden at sikre sig, at den kan knyttes til alle adressefamilier. Hvis systemet er opsat med IPv6 (også selv om det ikke har en fungerende IPv6-forbindelse), kunne dette gøre det muligt for en lokal angriber på den fjerne server, at kapre X11-viderestillingen.

CVE-2007-4752: Jan Pechanec opdagede at ssh går tilbage til at oprette en betroet X11-cookie, hvis oprettelsen af en ubetroet cookie går galt, potentielt gørende den lokale skærm tilgængelig for en ondsindet fjern server, når X11-viderestilling anvendes.

I den stabile distribution (etch), er disse problemer rettet i version 4.3p2-9etch1. Pt. er kun en del af de understøttede arkitekturer klar; efterfølgende opdateringer vil følge, når filerne er parate.

I den ustabile distribution (sid) og i distributionen testing (lenny), er disse problemer rettet i version 4.7p1-9.

Vi anbefaler at du opgraderer dine openssh-pakker og tager de forholdsregler, som er beskrevet herover.

Rettet i:

Debian GNU/Linux 4.0 (etch)

Kildekode:
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
Arkitekturuafhængig komponent:
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-kontrolsummer for de listede filer findes i den originale sikkerhedsbulletin.