Vous n’êtes pas le seul à vous inquiéter de la menace croissante du piratage informatique. Bien que les invites d’authentification et le 2FA suffisent à repousser la plupart des pirates en puissance, des milliers de brèches se produisent encore chaque jour.
YubiKey est l’une des solutions au problème d’authentification les plus souvent évoquées. Mais qu’est-ce que YubiKey et comment fonctionne l’authentification matérielle ? Pouvez-vous sécuriser votre PC Linux avec YubiKey ?
Pourquoi utiliser YubiKey pour l’authentification matérielle ?
Il existe de nombreux types d’authentification, notamment les mots de passe, l’authentification par SMS et même les applications d’authentification que vous pouvez utiliser avec votre téléphone. Un type moins courant est l’authentification matérielle, qui implique l’utilisation d’un petit dispositif enfichable pour envoyer un jeton d’authentification lorsque l’on vous le demande.
Les YubiKeys et autres dispositifs d’authentification matérielle présentent quelques avantages par rapport aux autres authentificateurs. Ils sont plus faciles à utiliser, beaucoup plus sûrs et il est pratiquement impossible de les compromettre sans avoir accès à la YubiKey elle-même.
Démarrer avec Yubikey
Vous pouvez commencer à utiliser YubiKey en quelques étapes simples. Dans un premier temps, vous devriez utiliser le quiz proposé par Yubico pour choisir la YubiKey la mieux adaptée aux caractéristiques de votre appareil. Une fois que vous avez votre YubiKey en main, vous pouvez l’utiliser comme dispositif d’authentification pour les sites web et les applications.
Vous pouvez même l’utiliser pour authentifier sudo et SSH sur votre ordinateur Linux. Nous allons vous expliquer tout ce que vous devez savoir pour choisir une YubiKey compatible sudo/SSH et la configurer pour l’authentification.
Choisir la bonne YubiKey pour votre système
Si vous souhaitez utiliser votre YubiKey pour l’authentification sur votre ordinateur Linux, il y a quelques YubiKeys qui se distinguent comme des options supérieures. La YubiKey 5 et la YubiKey 5 NFC sont deux classiques qui fonctionnent bien avec les systèmes dotés d’un port USB-A et USB-C, respectivement.
Si vous souhaitez utiliser votre YubiKey avec votre ordinateur Linux et votre téléphone Android, vous devriez envisager une YubiKey 5c NFC. Si vous avez un ordinateur Linux et un iPhone, vous devriez envisager une YubiKey 5ci car elle prend en charge l’USB-C et le Lightning.
Il est important de noter que la série YubiHSM n’est pas compatible avec l’authentification sudo. Les anciens YubiKeys peuvent ou non être compatibles avec l’authentification sudo/SSH en fonction de leurs caractéristiques spécifiques.
Avant de commencer avec l’authentification sudo ou SSH, vous devez installer le PPA YubiKey. Ouvrez le terminal et entrez les commandes suivantes pour mettre à jour vos paquets et installer YubiKey Authenticator et YubiKey Manager :
sudo add-apt-repository ppa:yubico/stable
sudo apt-get update
sudo apt install yubikey-manager libpam-yubico libpam-u2f
Ensuite, vous devez vérifier que votre système est prêt à fonctionner avec votre YubiKey. Exécutez la commande suivante dans le terminal pour vérifier la version de votre udev :
sudo udevadm --version
Le terminal retourne un nombre. Si le numéro est 244 ou plus, votre système est compatible avec YubiKey. Dans ce cas, vous pouvez passer à l’étape suivante.
Dans le cas contraire, vous devrez configurer votre système. Vous devez utiliser les commandes suivantes pour vérifier si udev est installé sur votre ordinateur et pour l’installer si ce n’est pas le cas :
dpkg -s libu2f-udev
sudo apt install libu2f-udev
Ensuite, vérifiez si l’interface U2F de votre YubiKey est déverrouillée. Si vous avez une YubiKey NEO ou YubiKey NEO-n, insérez votre YubiKey, ouvrez le YubiKey Manager et naviguez jusqu’à Interfaces. Activer les Interface U2F et appuyez sur Enregistrer.
Configurer YubiKey pour l’authentification sudo sous Linux
sudo est l’une des commandes les plus dangereuses de l’environnement Linux. Entre de bonnes mains, elle fournit un niveau d’accès impressionnant qui est suffisant pour accomplir la plupart des tâches. Dans de mauvaises mains, l’accès au niveau racine que sudo fournit peut permettre à des utilisateurs malveillants d’exploiter ou de détruire un système.
Les YubiKeys sont excellentes pour l’authentification sudo car leur authentification est presque impossible à répliquer sans accès à la YubiKey elle-même. La plupart des YubiKeys sont compatibles avec l’authentification sudo, y compris la série 5 FIPs, la série Key, la série 4 FIPs, la série Bio, la série 5 et la série 4.
Selon Yubico, la première étape à suivre pour configurer l’authentification sudo est de créer un fichier de règles. Si votre version de udev est 188 ou plus, installez les nouvelles règles U2F depuis GitHub et copiez le fichier 70-u2f.rules fichier vers /etc/udev/rules.d.
Si votre version udev est inférieure à 188, installez les anciennes règles U2F depuis GitHub et copiez le fichier 70-old-u2f.rules fichier vers /etc/udev/rules.d.
Si votre version de udev est 244 ou plus, ou si vous avez créé les fichiers de règles nécessaires, vous êtes prêt à lier votre YubiKey à votre compte.
Insérez la YubiKey dans votre ordinateur, ouvrez le terminal et entrez les commandes suivantes pour lier votre YubiKey à votre compte :
mkdir -p ~/.config/Yubicopamu2fcfg > ~/.config/Yubico/u2f_keys
Attendez quelques instants jusqu’à ce que le voyant lumineux de votre YubiKey commence à clignoter. Touchez le bouton de votre YubiKey pour confirmer la liaison du dispositif.
Si vous disposez d’une autre YubiKey, vous pouvez l’ajouter en tant que dispositif de secours en entrant la commande suivante et en suivant le même processus :
pamu2fcfg -n >> ~/.config/Yubico/u2f_keys
Enfin, vous devrez configurer la commande sudo pour qu’elle nécessite l’authentification par YubiKey. Commencez par entrer la commande suivante pour ouvrir le fichier de configuration sudo :
sudo vi /etc/pam.d/sudo
Une fois le fichier de configuration ouvert, collez la ligne suivante juste en dessous de la section @include common-auth pour configurer sudo afin qu’il nécessite l’authentification YubiKey :
auth required pam_u2f.so
Sauvegardez et quittez le fichier en appuyant sur Echap, tapant :wqet en appuyant sur Entréemais laissez le terminal ouvert. Vous ne pourrez pas annuler les modifications apportées à l’authentification sudo si le terminal se ferme.
Ouvrez un second terminal et exécutez la commande suivante avec votre YubiKey débranchée, puis entrez votre mot de passe :
sudo echo testing
Le processus d’authentification échoue. Insérez votre YubiKey et entrez à nouveau la commande et votre mot de passe. Lorsque le voyant lumineux du YubiKey commence à clignoter, touchez le bouton de votre YubiKey. La commande doit être authentifiée. Si c’est le cas, votre YubiKey est entièrement configurée pour l’authentification sudo.
Comment configurer YubiKey pour l’authentification SSH
Vous pouvez également utiliser votre YubiKey pour l’authentification SSH ! Plusieurs séries de YubiKey sont compatibles avec SSH, notamment la série 5 FIPS, la série 5, la série 4 FIPS et la série 4. L’utilisation de YubiKey pour authentifier vos connexions vous permettra de rendre chaque connexion SSH beaucoup plus sûre.
La meilleure méthode pour configurer YubiKey a été décrite par un utilisateur expérimenté sur GitHub. Vous aurez besoin de SSH 8.2 ou plus récent et d’un YubiKey avec un firmware 5.2.3 ou plus récent. Vous pouvez vérifier votre version d’OpenSSH – et la mettre à jour si nécessaire – avec les commandes suivantes :
ssh -V
sudo apt update && sudo apt upgrade
Ensuite, vous devrez configurer SSH pour qu’il accepte votre YubiKey. Entrez la commande suivante pour ouvrir l’éditeur vi et modifier le fichier de configuration :
sudo vi /etc/ssh/sshd_config
Ajoutez la ligne suivante au fichier de configuration pour que votre YubiKey soit acceptée :
PubkeyAcceptedKeyTypes sk-ecdsa-sha2-nistp256@openssh.com,sk-ssh-ed25519-cert-v01@openssh.com
Sauvegardez et quittez le fichier en appuyant sur Echap, tapant :wqet en frappant Entrer. Enfin, redémarrez le service SSH avec la commande suivante pour que votre nouvelle configuration soit active :
sudo service ssh restart
Enfin, vous êtes prêt à créer la paire de clés que vous utiliserez pour l’authentification SSH. Naviguez jusqu’au répertoire SSH et créez votre nouvelle clé SSH à l’aide des commandes suivantes :
cd home/username/.ssh
ssh-keygen -t ed25519-sk
Deux fichiers seront créés dans le répertoire ~/.ssh/ . Notez que vous devrez peut-être utiliser ecdsa-sk au lieu de ed25519-sk si votre système est incompatible et que le terminal indique que l’enregistrement de la clé a échoué.
Ensuite, vous devez ajouter la clé publique à votre serveur à l’aide de la commande suivante :
ssh-copy-id -i ~/.ssh/id_ed25519_sk.pub username@server
Vous devez également vous ajouter au fichier sudoers afin de conserver les permissions après avoir désactivé le login root. Accédez au fichier et ouvrez-le avec visudo.
N’ouvrez pas le fichier sudoers avec un éditeur de texte normal.
Sous la ligne qui dit root ALL=(ALL:ALL) ALLajoutez la ligne suivante :
username ALL=(ALL:ALL) ALL
Ouvrez le /etc/ssh/ssd_config et ajoutez les lignes suivantes pour désactiver l’accès à la racine et l’accès par mot de passe :
ChallengeResponseAuthentication noPermitRootLogin no
Enfin, entrez la commande suivante pour charger votre clé dans votre agent SSH pour la durée de la session :
ssh-add ~/.ssh/id_ed25519_sk
Vous pouvez maintenant utiliser votre YubiKey pour l’authentification SSH. Vous devrez insérer votre YubiKey dans votre ordinateur lorsque vous y serez invité et appuyer sur le bouton lorsque l’indicateur clignote. Grâce à cette nouvelle méthode d’authentification, l’accès SSH à votre serveur distant sera nettement plus sûr.
Autres utilisations potentielles de YubiKey
Il n’y a pas de limite réelle à l’utilisation de YubiKey sur votre système Linux. Si vous souhaitez renforcer la sécurité de votre PC, envisagez d’utiliser votre YubiKey pour le cryptage de disque ou le cryptage sans mot de passe. Vous pouvez même l’utiliser pour signer des courriels et des fichiers si vous le souhaitez.
Sécurisez votre système Linux avec YubiKey
Vous ne devez pas vous contenter d’utiliser votre YubiKey pour l’authentification SSH et sudo. Vous pouvez également utiliser votre YubiKey pour authentifier l’accès à plusieurs de vos comptes sur le web. La meilleure partie est que le démarrage avec YubiKey 2FA est un processus simple.
