Développement : 1Password 8 sécurise aussi les clés SSH

Nicolas Furno |

1Password ajoute une belle corde à son arc dans la bêta de sa huitième version, tristement célèbre pour son passage à Electron. Comme l’éditeur l’annonce sur son blog, l’ajout des clés SSH dans 1Password devrait simplifier la vie de nombreux développeurs et autres administrateurs réseau qui travaillent avec ces éléments d’authentification tous les jours. Les clés peuvent désormais être stockées dans l’app et leur accès peut être débloqué avec Touch ID ou le mot de passe de 1Password.

L’intégration des clés SSH en action : je me connecte à un serveur dans la fenêtre de terminal en bas à droite, c’est 1Password ici à l’arrière-plan qui prend alors le relai pour autoriser l’accès à une clé.

Les clés SSH constituent une méthode plus sécurisée que les mots de passe pour se connecter à un serveur distant. Elles sont générées en local sur la machine et composées de deux éléments : une clé privée que vous gardez sur l’ordinateur et une publique qui est transmise au serveur. L’avantage de cette approche, c’est que la connexion se fait ensuite automatiquement sans avoir à saisir de mot de passe, et surtout que l’on garde la main en pouvant supprimer la clé publique sur le serveur, bloquant ainsi toutes futures connexions en cas de problème.

La faille dans cet édifice sécurisé, c’est que les clés sont traditionnellement stockées en clair dans un sous-dossier de votre dossier personnel. Sur macOS, vous les retrouverez dans le dossier ~/.ssh et ce sont par défaut des fichiers texte que n’importe qui peut lire et surtout utiliser s’il a accès à votre Mac1. En les stockant dans 1Password, vous pouvez ajouter une couche de sécurité supplémentaire : le coffre doit être déverrouillé pour utiliser les clés SSH qu’il contient.

Les développeurs qui utilisent des dépôts Git privés pourront aussi utiliser ce mécanisme pour authentifier les appels au serveur Git. Ici, Touch ID est utilisé pour autoriser la connexion sur une commande git pull qui récupère les dernières mises à jour du serveur (image 1Password).

Cette nouvelle fonction nécessite de modifier le fichier de configuration SSH du système (~/.ssh/config) pour y « brancher » le moteur de 1Password. Plusieurs options sont proposées, par exemple pour indiquer explicitement quelle clé SSH utiliser avec quel serveur, puisque toutes les clés stockées sur votre compte sont testées par défaut, jusqu’à trouver la bonne. Il est aussi possible de désactiver entièrement ce mécanisme pour certains serveurs.

Au-delà du stockage des clés SSH, 1Password 8 compte en faire plus pour les développeurs en leur permettant de stocker n’importe quelle information confidentielle et de l’utiliser partout, y compris dans des commandes terminal et dans des scripts. De quoi remplacer, entre autres, les fichiers d’environnement (.env) qui sont souvent utilisés pour stocker des données sensibles, que ce soit une clé privée pour une API, ou parfois même un mot de passe en clair. Les avantages sont similaires aux clés SSH, 1Password conserve ces données dans son coffre sécurisé et leur accès nécessite de s’authentifier avec mot de passe ou biométrie.

Vous trouverez les détails sur la nouvelle ligne de commande fournie par 1Password et qui permet ces nouvelles fonctions à cette adresse. La bêta de la version 8 du gestionnaire de mots de passe est proposée pour macOS sur la page de téléchargements de l’app et rappelons qu’un compte en ligne 1Password est désormais indispensable. Cette mise à jour rendra ainsi l’abonnement obligatoire pour utiliser l’app, ce qui n’était pas le cas auparavant.


  1. Il est toutefois possible d’ajouter une couche de sécurité supplémentaire en les chiffrant, mais cela implique alors de saisir à nouveau un mot de passe à chaque utilisation.  ↩︎

avatar bunam | 

"La faille dans cet édifice sécurisé, c’est que les clés sont traditionnellement stockées en clair dans un sous-dossier de votre dossier personnel. Sur macOS, vous les retrouverez dans le dossier ~/.ssh et ce sont des fichiers texte que n’importe qui peut lire et surtout utiliser s’il a accès à votre Mac."

On se doit d'avoir un mot de passe pour ouvrir la partie privée de la clé SSH...

avatar tupui | 

@bunam

Tout à fait, on peut même utiliser une clé type Yubico.

Aussi la précision sur la possibilité de supprimé les clé publique n’a pas beaucoup de sens. C’est le principe de la clé publique. Elle est publique et on s’en fiche. Comme avec PGP. Ce qui compte c’est de protéger la clé privée.

avatar Sometime | 

@tupui

ils veulent probablement dire la supprimer du serveur (ou plutot des fichiers idoines) pour empecher l’authentication en cas de perte ou de vol.

avatar Nicolas Furno | 

@Sometime

Oui, j'ai cherché à expliquer simplement, mais c'était peut-être trop simple.

avatar Sometime | 

@nicolasf

oh personnellement non ça m’allait, je l’ai compris comme ça en tout cas!

avatar xDave | 

la perte de clé Ssh si on change de Mac ou qu'on se le fait piquer?

avatar valcapri | 

@xDave

Oui, mais la clé privée. Ici, c’est pratique de la stocker dans 1Password car cela évite aussi de la perdre lors de l’utilisation de plusieurs machines.

La clé publique à vocation à être publique. Ici, il s’agit de la supprimer d’un serveur via le fichier authorized_keys ou autres dans un identity provider ( IDP) comme LDAP, Active Directory,... lorsque l’on la perd ou lorsqu’elle a été intercepté/volé.

avatar Nicolas Furno | 

@bunam

C'est vrai que c'est tout à fait possible, et j'aurais pu le rappeler. Je vais ajouter un mot tiens.

avatar Hobbyvores | 

Par contre la gestion de la passphrase semble être déléguée... ailleurs.
Donc le verre n'est qu'à moitié plein.

avatar oomu | 

@Hobbyvores

la passephrase doit être gérée ailleurs. Par exemple via un agent lié à votre ouverture de session sur votre ordinateur de travail.

avatar Nicolas Furno | 

@Hobbyvores

À quoi est-ce qu'elle servirait avec une clé stockée dans 1Password ?

avatar Hobbyvores | 

Je pourrais vous retourner la question en mode pourquoi stocker un pass dans 1Password et faire tout de même de la double authentification ? ^^"
Je comprends bien l'idée d'abandonner les passphrases, pourquoi pas, mais cela me semble tout de même trop fort. Il faut penser que derrière une clé SSH il y a très souvent un système critique, on ne peut pas en négliger cet aspect.
Après est-ce qu'on peut se dire de passer sur des passphrase plus "légères", à retenir, et donc à taper...
J'aimerai bien l'avis d'une personne travaillant dans la sécurité informatique sur ce point.

avatar Nicolas Furno | 

@Hobbyvores

Dans mon esprit, 1Password remplace la sécurité des passphrases et peut même l'améliorer grâce à la biométrie. Je ne comprends pas trop la remarque, mais je ne suis pas un expert non plus donc…

avatar Amaczing | 

@nicolasf

Pas vraiment lié, aimes-tu le réglisse ?

avatar Amaczing | 

So 2010 !

avatar oomu | 

@Amaczing

Tellement 2100. Car SSH c'est _moderne_. c'est tellement hyper moderne, que c'est même futuriste. C'est POST-moderne SSH.

avatar Amaczing | 

@oomu

Ah oui ça doit être de la bonne. Et dès 12h ??!

avatar oomu | 

"La faille dans cet édifice sécurisé, c’est que les clés sont traditionnellement stockées en clair dans un sous-dossier de votre dossier personnel. "

non elles sont traditionnellement (tel que défini dans la Liturgie du Pingouin) stockées chiffrées via une passephrase, géré avec un agent ou une clé de sécurité.

avatar Sometime | 

il me semble en effet que les authentifications par clés publiques privées ne sont plus nécessairement recommendées, et on y prefere:
- smartcard et gpg
- smarcard PIV
- certificat a courte durée de vie (encore que là, la clé peut servir)

avatar Nicolas Furno | 

@Sometime

Il faudrait que je me renseigne sur ces solutions en effet, mais la clé SSH garde l'avantage d'être universelle (y compris sur un iPad par exemple) et facile à transmettre en cas de besoin.

avatar Sometime | 

@nicolasf

en effet les autres sont plus réservées a des usages desktop/laptop. encore que j’imagine que le support usb sur les ipads - si les applications peuvent y accéder - peut peut-être exister.

Il me semble que termius supporte les yubikey par exemple, mais en U2F (peut-être FIDO d’ailleurs?) et avec authentification via PAM cote server.

J’avais regardé ish aussi mais a l’époque cela ne fonctionnait pas. Cela a peut-être changé (ils supportent usb, donc les smartcard ne sont peut-être pas loin)

avatar Nicolas Furno | 

@Sometime

Cela dit, l'argument reste intéressant en effet, car je ne pense pas que 1Password pourra en faire autant sur iPad. Disons que j'aime bien l'idée d'utiliser Touch ID pour déverrouiller une clé SSH chiffrée avec une sécurité importante dans un coffre protégé par un mot de passe vraiment fort, ça me semble suffisamment plus simple que les alternatives aussi sécurisées, et nettement plus sécurisé que le défaut sans chiffrement.

avatar Amaczing | 

@nicolasf

Le gros problème c’est que c’est 1Password.

avatar Amaczing | 

@nicolasf

Ça fait des lustres que 1Password ne propose plus rien d’innovant. Ce qui le serait c’est la licence perpétuelle.

avatar Nicolas Furno | 

@Amaczing

Ah ben oui, parce que ce sont les derniers à proposer les fonctions listées dans cet article ! 🙃

avatar fmaytain | 

@nicolasf

Pas vraiment lié, mais quel thème de iTerm2 utilises-tu ?

avatar Nicolas Furno | 

@fmaytain

Bonne question, on ne peut pas retrouver le nom une fois sélectionné dans la liste, sauf erreur de ma part.

avatar ineedsomebodyhelp | 

Sans lien avec cet article le vrai drame de 1Password est l’abandon des coffres locaux.

avatar jul69 | 

@ineedsomebodyhelp

+1

avatar sdesbure | 

Malheureusement, le passage à 1Password8 fait perdre (pour le moment?) le support des proxy (donc impossibilité de se connecter quand je suis dans mon entreprise…)

Le « pire » c’est que le support du proxy est présent pour les versions Windows :(

J’ai demandé au support mais 0 réponse en 2 semaines (autre que « nous traitons votre demande… » après le mail initial et la relance)…

Un peu déçu sur le coup là

CONNEXION UTILISATEUR