Sigurnosni propust u openssl paketu!
Ispostavilo se da algoritam za generiranje ssh i ssl ključeva ne generira toliko nasumično koliko je potrebno da ključevi budu sigurni. Naime, određeni ključevi su uobičajeni i kao takvi ranjivi na brute-force napade. Ovaj bug se posebno tiče OpenSSH i OpenVPN ključeva kao i SSH certifikata.
Više informacija o ovome možete pročitati na http://www.ubuntu.com/usn/usn-612-1
Kako testirati ključeve (što bi svakako trebali učiniti ) na Vašim serverima, pročitajte u nastavku vijesti:
$ wget http://security.debian.org/project/extra/dowkd/dowkd.pl.gz
$ gunzip dowkd.pl.gz
$ chmod +x dowkd.pl
$ ./dowkd.pl file /etc/ssh/ssh_host_dsa_key.pub 2>/dev/null
$ ./dowkd.pl file /etc/ssh/ssh_host_rsa_key.pub 2>/dev/null
Ukoliko dowkd.pl skripta ne vrati nikakav rezultat, znači da Vaši ključevi nisu "pogođeni" ovim bugom. Ukoliko dobijete rezultat sličan ovome:
...key.pub:1: weak key
znači da morate izgenerirati nove ključeve. To napravite na slijedeći način:
$ sudo mv /etc/ssh/ssh_host_{dsa,rsa}_key* ~/kljucevi-kopija
$ sudo dpkg-reconfigure -plow openssh-server
Ovo će izgenerirati nove ključeve i ponovno pokrenuti OpenSSH server.
Također, provjerite sve autorizirane ključeve:
$ ./dowkd.pl file ~/.ssh/authorized_keys 2>/dev/null
Ukoliko autorizirani ključevi sadrže neki slabi , njega izbacite i dodajte novo generirani.
Za provjeru vlastitih ključeva koristite:
$ ./dowkd.pl file ~/.ssh/id_{rsa,dsa} 2>/dev/null
Također, preporučamo vam da OpenSSH prebacite na neki drugi port od uobičajenog kako bi izbjegli (većinu) brute-force napada.
DOPUNA (16.05.2008.):
Ante Karamatić nam je pojasnio da je sada dovoljno samo napraviti nadogradnju sustava. Ukoliko je SSH “host key” slab, on će biti ponovno izgeneriran. Nakon toga se pomoću alata ssh-vulnkey mogu provjeriti korisnički ključevi (pokretanjem naredbe “ssh-vulnkey -a”). Dodatno, nakon nadogradnje sustava, svi korisnici koji imaju “slabe” ključeve, neće se moći spojiti.
Ili samo updejtati Ubuntu sustav i koristiti ssh-vulnkey skriptu koja ce isto to napraviti.