Debianin tietoturvatiedote

DSA-1576-1 openssh -- ennustettava satunnaislukugeneraattori

Ilmoitettu:
14. 5.2008
Vaikutuksen alaiset paketit:
openssh
Altis:
Kyllä
Viittaukset tietoturvatietokantoihin:
Mitren CVE-sanakirjassa: CVE-2008-0166.
Lisätietoa:

Äsken julkaistu alttius Debianin openssl-paketissa (DSA-1571-1, CVE-2008-0166) vaikuttaa epäsuorasti OpenSSH:n. Tuloksena kaikkia käyttäjä- ja koneavaimia, jotka on luotu openssl-paketin rikkinäisellä versiolla, tulee pitää epäluotettavina myös sen jälkeen kun openssl on päivitetty.

1. Asenna tietoturvapäivitykset

Tämä päivitys vaatii openssl-päivityksen ja asentaa automaattisesti korjatun version libssl0.9.8-paketista sekä uuden openssh-blacklist-paketin.

Sen jälkeen kun päivitys on asennettu, heikot käyttäjäavaimet hylätään mikäli mahdollista (vaikkakaan niitä ei voida tunnistaa kaikissa tapauksissa) Mikäli käytät tällaisia avaimia käyttäjätodennukseen, ne lakkaavat toimimasta välittömästi ja ne tulee korvata (katso vaihe 3).

OpenSSH-koneavaimet luodaan automaattisesti uudestaan kun OpenSSH-tietoturvapäivitys asennetaan. Päivitys kysyy varmistuksen ennen tätä vaihetta.

2. Päivitä OpenSSH:n known_hosts-tiedostot

Koneavainten uudelleenluonti aiheuttaa varoituksen näyttämisen kun järjestelmään otetaan yhteyttä SSH:lla siihen asti kunnes koneavain on päivitetty known_hosts-tiedostoon. Varoitus näyttää tältä:

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

Tässä tapauksessa koneavain on yksinkertaisesti vaihdettu ja sinun tulee päivittää tätä known_hosts-tiedostoa juuri kuten virheilmoitus kertoo.

On suositeltavaa käyttää luottamuksellista kanavaa palvelinavaimen vaihtamisessa. Avain löytyy palvelimelta tiedostosta /etc/ssh/ssh_host_rsa_key.pub, ja sen sormenjäljen voi tulostaa komennolla:

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

Näiden käyttäjäkohtaisten known_hosts-tiedostojen lisäksi voi olla järjestelmänlaajuinen tunnettujen koneiden luettelo tiedostossa /etc/ssh/ssh_known_hosts. Tätä tiedostoa käyttävät sekä ssh-asiakas että ssh-palvelin kaikkiin hosts.equiv-toimintoihin. Myös tämä tiedosto pitää päivittää samalla tavalla.

3. Tarkasta kaikki OpenSSH-käyttäjäavaimet

Turvallisinta on luoda uudelleen kaikki OpenSSH-käyttäjäavaimet mikäli ei voida suurella varmuudella tarkistaa että avain on luotu vaikutuksen ulottumattomissa olevassa järjestelmässä.

Tarkista onko avaimesi kärsinyt ajamalla ssh-vulnkey-työkalu, joka sisältyy tietoturvapäivitykseen. Oletuksen ssh-vulnkey tarkistaa tavanomaisista sijainneista käyttäjän avaimet(~/.ssh/id_rsa, ~/.ssh/id_dsa ja ~/.ssh/identity), authorized_keys-tiedostot (~/.ssh/authorized_keys ja ~/.ssh/authorized_keys2) ja järjestelmän koneavaimet (/etc/ssh/ssh_host_dsa_key ja /etc/ssh/ssh_host_rsa_key).

Tarkistaksesi kaikki omat avaimesi, olettaen että ne löytyvät tavanomaisista sijainneista (~/.ssh/id_rsa, ~/.ssh/id_dsa tai ~/.ssh/identity), suorita:

ssh-vulnkey

Tarkistaaksesi kaikki avaimet järjestelmässäsi:

sudo ssh-vulnkey -a

Tarkistaaksesi avaimen ei-tavanomaisesta sijannista:

ssh-vulnkey /polku/avaimeen

Mikäli ssh-vulnkey tulostaa "Unknown (no blacklist information)", tällöin ei ole tietoa onko mainittu avain kärsinyt. Tässä tapauksessa voit tutkia tiedoston muuttamisajan (mtime) komennolla "ls -l". Avaimet, jotka on luotu ennen syyskuuta 2006 eivät ole kärsineet. Pidä mielessäsi, että vaikkakin epätodennäköistä, varmuuskopiointimenettely saattaa vaihtaa tiedoston päiväystä taaksepäin ajassa (tai järjestelmän kello on saattanut olla väärässä ajassa).

Mikäli epäilet, luo uusi avain ja poista vanha kaikilta palvelimilta.

4. Luo uudet käyttäjäavaimet

OpenSSH-avaimet, joita on käytetty käyttäjien todennukseen, tulee luoda uudelleen käsin. Tämä sisältää myös sellaiset avaimet, jotka on saatettu siirtää toiseen järjestelmään luonnin jälkeen.

Uudet avaimet voi luoda käyttämällä ssh-keygeniä, esim.:

   $ 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. Päivitä authorized_keys-tiedostot (mikäli tarpeen)

Sen jälkeen kun käyttäjäavaimet on luotu uudelleen, niiden julkiset parit täytyy siirtää kaikkiin authorized_keys-tiedostoihin (ja authorized_keys2-tiedostoihin, mikäli tarpeen) etäjärjestelmissä. Varmista, että poistat ne rivit, jotka sisältävät vanhat avaimet, näissä tiedostoissa.

Lisäksi varmuusmenettelynä pienentää vahinkoja tästä satunnaisuusalttiudesta tämä OpenSSH-päivitys korjaa useita muita alttiuksia:

CVE-2008-1483: Timo Juhani Lindfors havaitsi, että kun käytetään X11-välitystä, SSH-asiakas valitsee X11-välitysportin varmistamatta, että se voidaan sitoa kaikissa osoiteperheissä. Mikäli järjestelmä on säädetty toimimaan IPv6:lla (vaikkakin ilman toimivaa IPv6-yhteyttä), tämä mahdollistaa paikallisen hyökkääjän etäpalvelimella kaapata X11-välityksen.

CVE-2007-4752: Jan Pechanec havaitsi, että ssh luo luotetun X11-keksin mikäli epäluotetun keksin luonti epäonnistuu, mahdollisesti paljastaen paikallisen näytön pahantahtoiselle etäpalvelimelle käytettäessä X11-välitystä.

Vakaalle jakelulle (etch) nämä ongelmat on korjattu versiossa 4.3p2-9etch1. Tällä hetkellä vain osa tuetuista siirroksista on käännetty, loput päivitykset tarjotaan kun ne tulevat saataville.

Epävakaalle jakelulle (sid) sekä testattavalle jakelulle (lenny) nämä ongelmat on korjattu versiossa 4.7p1-9.

Suosittelemme päivittämään openssh-paketit ja toimimaan annettujen ohjeiden mukaisesti.

Korjattu:

Debian GNU/Linux 4.0 (etch)

Lähde:
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
Arkkitehtuuririippumaton komponentti:
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

Listattujen tiedostojen MD5-tarkistussummat ovat luettavissa alkuperäisestä tiedotteesta.