Votre société de services en logiciels libres

Effectuer la rotation des clés des serveurs SSHD en douceur

2 juin 2018   

Depuis la version 6.8 de OpenSSH (disponible à partir de la RHEL/CentOS 7.4), il est possible d’effectuer des rotations des clés de serveurs pour le service SSH, tout en douceur pour l’utilisateur.

Quel est le problème ?

Vous savez bien que lors d’un changement de clés côté serveur, le client va devoir valider l’empreinte de la nouvelle clé, ce qui risque de surprendre l’utilisateur consciencieux qui va se croire victime d’une attaque Mitm !

Avec la nouvelle version de OpenSSH, plus de risque d’apeurer vos utilisateurs ou clients.

La solution :

  • générez vos nouvelles clés sous /etc/ssh/, avec l’algorithme ecdsa sur 521 bits par exemple:
    # ssh-keygen -t ecdsa -b 521
  • ajoutez les nouvelles directives HostKey après celles qui existent déjà
  • demandez aux utilisateurs d’ajouter l’option « UpdateHostKeys yes » (ou « ask ») dans la configuration de leur client SSH ou bien d’ajouter cette option. Par exemple:
    $ ssh -o UpdateHostKeys=ask serveur
  • lors de la connexion au serveur, le client SSH va aspirer toutes les clés du serveurs et mettre le fichier known_hosts à jour
  • après un « certain temps », estimant que tous les utilisateurs ont aspiré les nouvelles clés, il ne reste plus qu’à l’administrateur qu’à supprimer les anciennes clés !