Openssl est la couche logicielle qui effectue le chiffrement des données via le protocole SSL . Ce protocole basé sur un couple clef privée / clef publique permet d'assurer la confidentialité des données échangées (comme les connexions SSH par exemple) sauf quand, comme c'est le cas aujourd'hui, ces clefs censées être totalement aléatoires, deviennent prédictibles...

Seuls les Linux basés sur la distribution Debian sont touchés et donc par ricochet, toutes les distributions Ubuntu, Kubuntu et Xubuntu le sont aussi !!

Pour corriger le problème, voici la procédure à appliquer d'urgence sur vos petites machines :

  • Ubuntu

Il suffit de faire une mise à jour du système :

 sudo apt-get update
 sudo apt-get upgrade

Les clefs sont regénérées automatiquement via la procédure, mais vous pouves les tester en lançant la commande :

 sudo ssh-vulnkey
  • Debian

On commence bien évidemment par une mise à jour du système :

 sudo apt-get update
 sudo apt-get upgrade

Dans le cas où les clefs auraient été générées avant septembre 2006, il n'est pas forcément utile de les regénérer, il est donc possible de les tester avec la procédure qui suit !

 # cd /tmp 
 # wget http://security.debian.org/project/extra/dowkd/dowkd.pl.gz
 # wget http://security.debian.org/project/extra/dowkd/dowkd.pl.gz.asc
 # gpg --keyserver subkeys.pgp.net --recv-keys 02D524BE
 # gpg --verify dowkd.pl.gz.asc
 # gunzip dowkd.pl.gz
 # perl dowkd.pl host localhost
    # localhost SSH-2.0-OpenSSH_4.3p2 Debian-9
   # localhost SSH-2.0-OpenSSH_4.3p2 Debian-9
   localhost: weak key
   localhost: weak key

Dans le cas où le message weak key apparaît, il faut bien entendu les regénérer d'urgence selon la procédure suivante :

 # cd /etc/ssh
 # mv ssh_host_rsa_key.pub ssh_host_rsa_key.pub.BAD
 # mv ssh_host_rsa_key  ssh_host_rsa_key.BAD
 # mv ssh_host_dsa_key.pub ssh_host_dsa_key.pub.BAD
 # mv ssh_host_dsa_key ssh_host_dsa_key.BAD
 # dpkg-reconfigure openssh-server

Et le tour est joué !

Attention, il sera nécessaire de supprimer les clefs importées sur l'ensemble des clients qui se connectent à votre serveur ssh

ceci peut être fait de façon bourrine à grands coups de vi sur les fichiers known_hosts mais aussi beaucoup plus élégamment avec la commande suivante :

 ssh-keygen -R hostname-de-votre-serveur

A vous de voir... ça revient au même ! :-)

En attendant, j'ai bien vite patché mes petites machines !!

Pour plus d'infos :