/ rsa

Fabriquer sa clé USB RSA

J'avais quelques problèmes de sécurité et de praticité avec la connexion à mes serveurs. Une des solutions trouvées est la clé USB RSA. Je vous explique le principe.

La problématique est la suivante :

Je gère 3 ou 4 serveurs grâce à des connexions chiffrées SSH. Dès que cela est possible, je me connecte aux différents services que j'utilise via des clés RSA. Si mon ordinateur tombe en panne ou si je me fais voler mon matériel, comment ne pas mettre en péril l'intégrité de mon infrastructure et comment ne pas perdre les accès à mes serveurs/services ?

Pour que vous compreniez bien le cas, concentrons-nous sur nos serveurs. Pour avoir un minimum de sécurité, les serveurs ne sont accessibles qu'en SSH (pas de mot de passe). On ne peut pas se connecter au compte Root directement, même avec une clé RSA.

En gros il n'y a que mon ordinateur (où reposent sagement mes clés RSA) qui peut se connecter sur mes serveurs. Problème, si mon disque lâche je n'ai plus accès aux clés et donc plus accès aux serveurs.

Ou imaginons que je sois sur mon ordinateur professionnel. Ordinateur qui pourrait être donné à un autre employé demain si besoin. Je n'ai pas envie que cet autre employé puisse avoir un moyen d'accéder à mes clés.

Il y a plein de cas et de situations où le stockage de clés peut poser problème. Voici une petite solution simple à laquelle je pense depuis quelque temps : la clé USB.

Une clé USB RSA

Vous la voyez la clé USB des petits génies dans les séries TV ? Celle qu'il faut insérer dans l'ordinateur pour que celui-ci accepte d'obéir. Bah c'est ça l'idée.

C'est l'idée la plus simple et la plus efficace que j'ai eu à ce sujet. Pour qu'elle fonctionne il suffirait de copier nos clés RSA sur la clé USB et d'indiquer le chemin de celle-ci dans le fichier de configuration de SSH sur votre machine, mais on va quand même sécuriser le tout un minimum :

  1. Créez une image disque chiffrée et protégée par mot de passe. Sur macOS vous pourrez le faire depuis l'utilitaire de disques.
  2. Déplacez vos clés RSA sur l'image disque.
  3. Déplacez l'image disque sur votre clé USB. Vous pouvez en profiter pour faire des copies de cette image sur d'autre périphérique externe histoire de ne pas se tirer une balle dans le pied.
  4. Dans votre ficher de configuration SSH qui se trouve là ~/.ssh/config, indiquez les nouvelles adresses de vos clés.

Voilà c'est fait ! Simple, non ? Pour utiliser le système, il suffit de connecter la clé et de monter l'image disque. Vous pourrez vous connecter à vos serveurs. Vous déconnectez la clé USB et la connexion SSH ne se fait plus.

Attention ! Sur macOS, un cache des clés RSA est gardé par l'agent SSH du système. Ce cache est vidé régulièrement mais ce n'est pas instantané. Si vous voulez être sur que plus personne ne puisse utiliser votre clé RSA après déconnexion de la clé USB exécutez la commande suivante : ssh-add -D pour vider le cache.

Moi je garde aussi une copie de mon ~/.ssh/config sur l'image disque. Je me suis donc fait un petit ln -s ~/.ssh/ path/to/keys pour que ce soit le config de ma clé qui soit pris en compte. Ainsi des infos moins sensibles comme les ports SSH sont elles aussi sauvegardées et protégées.


Tweetez moi si vous avez des questions ou des remarques.