Pre 3 dana je otkriven bug na Debian-based sistemima, jer je jedan od ljudi koji ima pristup paketima komentarisao liniju u kodu koja omogućava da se ključevi koji se generišu predvide, što dalje omogućava da se ovi ključevi zloupotrebe.
Sa Debian official sajta:
“LucianoBello discovered that the random number generator in Debian’s opensslpackage 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 beindirectly affected if weak keys are imported into them.
It isstrongly 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 onaffected Debian systems for signing or authentication purposes shouldbe considered compromised; the Digital Signature Algorithm relies on asecret random value used during signature generation.”
Znači, ukoliko koristite nešto što podrazumeva korišćenje ključeva (na primer ssh server, tj. openssh-server), potrebno je da uradite:
~# apt-get update
~# apt-get install openssl openssh-server
Nakon ovoga, Debian package će reći:
The following NEW packages will be installed:
openssh-blacklist
The following packages will be upgraded:
libssl0.9.8 openssh-client openssh-server
Dalje, ponudiće vam prozor sa pitanjima gde želite da se koristi novi open-ssl, ako je u pitanju samo ssh server ukucajte ssh.
Posle toga, sledi generisanje novih ključeva:
Setting up openssh-server (4.3p2-9etch2) …
Creating SSH2 RSA key; this may take some time …
Creating SSH2 DSA key; this may take some time …
Restarting OpenBSD Secure Shell server: sshd.
Sa ovim smo uradili upgrade package-a openssl, generisali nove ključeve koji bi trebali biti bezbedni.
Proveru da li je to ipak tako možemo uraditi uz pomoć komande:
~$ ssh-keyscan -t rsa ime-hosta | ssh-vulnkey -
gde ovo ime-hosta zamenjujemo imenom servera.
Npr nakon što sam uradio sve ovo na jednom serveru, rezultat je:
~$ ssh-keyscan -t rsa localhost | ssh-vulnkey -
# localhost SSH-2.0-OpenSSH_4.3p2 Debian-9etch2
Not blacklisted: 2048 ***************************************** -
Dok na drugom serveru za koji još nije uradjen update daje:
~$ ssh-keyscan -t rsa ime-servera-sa-upgrade | ssh-vulnkey -
# ime-servera-bez-upgrade SSH-2.0-OpenSSH_4.3p2 Debian-9
COMPROMISED: *****************************************
(ključ sam, naravno, zamenio zvezdicama)
Na osnovu output-a komande:
~$ ssh-keyscan -t rsa ime-servera | ssh-vulnkey -
vidimo da li je ključ koji je instaliran na serveru dobar ili ne.
Nakon što se instalira novi ključ na ssh serveru, sledeće logovanje na taj server sa nekog računara koji se već logovao tamo, daće upozorenje (npr logovanje na lokalnu IP 192.168.2.169, na kojoj je instaliran ssh server):
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
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.
The fingerprint for the RSA key sent by the remote host is
*************************************
Please contact your system administrator.
Add correct host key in /home/igor/.ssh/known_hosts to get rid of this message.
Offending key in /home/igor/.ssh/known_hosts:5
RSA host key for 192.168.2.169 has changed and you have requested strict checking.
Host key verification failed.
Za ovo postoji više rešenja, ja ću predložiti 2:
1) Brisanje fajla /home/igor/.ssh/known_hosts
2) Generisanje novih informacija uz pomoć komande:
$ ssh-keygen -R 192.168.2.169
nakon čega se prilikom ponovnog logovanja na ssh server dobija pitanje:
$ ssh 192.168.2.169
The authenticity of host ‘192.168.2.169 (192.168.2.169)’ can’t be established.
RSA key fingerprint is ****************************************
Are you sure you want to continue connecting (yes/no)?
gde je potrebno prihvatiti konekciju sa yes, i dobijamo obaveštenje da je dati host sa svojim
ključem dodat u poznate hostove (kao i promtp za logovanje):
Warning: Permanently added ‘192.168.2.169′ (RSA) to the list of known hosts.
igor@192.168.2.169’s password:
Ako postoji još nešto što koristi openssl na vašem računaru a niste sigurni da li treba update, najbolje je uraditi
~$ apt-get upgrade
pošto se Debian tim potrudio da, iako je ovo stvarno veliki bug, ovo ispravi što je pre moguće…
Ovde možete naći vrlo korisne informacije za sve stvari u vezi SSL ključeva na Debian Linuxu