Si vous trouvez que l'authentification basée sur un mot de passe et à deux facteurs n'est pas fiable, envisagez de configurer une authentification basée sur le matériel sous Linux à l'aide de YubiKey.

Vous n'êtes pas seul si vous vous inquiétez de la menace croissante du piratage. Alors que les invites d'authentification et 2FA sont suffisantes pour éloigner la plupart des pirates potentiels, des milliers de violations réussissent encore chaque jour.

L'une des solutions les plus souvent vantées au problème d'authentification est YubiKey. 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 différents, y compris les mots de passe, l'authentification par SMS et même 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 périphérique enfichable pour envoyer un jeton d'authentification lorsque vous y êtes invité.

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écurisés et sont presque impossibles à compromettre sans accès à la YubiKey physique elle-même.

Premiers pas avec Yubikey

Vous pouvez commencer avec YubiKey en quelques étapes simples. Dans un premier temps, vous devez utiliser le quiz réalisé par Yubico pour acheter la meilleure YubiKey pour les spécifications de votre appareil. Une fois que vous avez votre YubiKey à portée de 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 vous expliquerons tout ce que vous devez savoir pour choisir une YubiKey compatible sudo/SSH et la configurer pour l'authentification.

Crédit d'image: Tony Webster/Flickr

Choisir la bonne YubiKey pour votre système

Si vous souhaitez utiliser votre YubiKey pour l'authentification sur votre ordinateur Linux, il existe 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 avec 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 USB-C et Lightning.

Il est important de noter que la série YubiHSM n'est pas compatible avec l'authentification sudo. Les clés YubiKey héritées 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 YubiKey PPA. Ouvrir la borne et entrez les commandes suivantes pour mettre à jour vos packages et installer YubiKey Authenticator et YubiKey Manager :

sudo add-apt-repository ppa: yubico/stable
sudo apt-obtenir la mise à jour
sudo apt installer yubikey-manager libpam-yubico libpam-u2f

Ensuite, vous devrez vérifier que votre système est prêt à fonctionner avec votre YubiKey. Exécutez la commande suivante dans le terminal pour vérifier votre version d'udev :

sudo udevadm --version

Le terminal renverra un nombre. Si le nombre est 244 ou supérieur, votre système est compatible avec YubiKey. Vous pouvez ignorer l'étape suivante dans ce cas.

Sinon, 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 installer libu2f-udev

Ensuite, vérifiez si l'interface U2F de votre YubiKey est déverrouillée. Si vous avez une YubiKey NEO ou une YubiKey NEO-n, insérez votre YubiKey, ouvrez le YubiKey Manager et accédez à Interfaces. Activez le Interface U2F et appuyez sur Sauvegarder.

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, il offre un niveau d'accès impressionnant suffisant pour effectuer la plupart des travaux. Entre de mauvaises mains, l'accès au niveau racine fourni par sudo 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 les séries 5 FIP, Key Series, 4 FIP Series, Bio Series, 5 Series et 4 Series.

Selon Yubico, la première étape à suivre pour configurer l'authentification sudo consiste à créer un fichier de règles. Si votre version udev est 188 ou supérieure, installez les nouvelles règles U2F à partir de GitHub et copiez le 70-u2f.règles fichier à /etc/udev/rules.d.

Si votre version d'udev est inférieure à 188, installez les anciennes règles U2F à partir de GitHub et copiez le 70-old-u2f.rules fichier à /etc/udev/rules.d.

Si votre version d'udev est 244 ou supérieure 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 de votre YubiKey commence à clignoter. Appuyez sur le bouton de votre YubiKey pour confirmer le lien de l'appareil.

Si vous avez une autre YubiKey sous la main, vous devez l'ajouter comme périphérique de secours en saisissant la commande suivante et en effectuant le même processus :

pamu2fcfg -n >> ~/.config/Yubico/u2f_keys

Enfin, vous devrez configurer la commande sudo pour exiger l'authentification YubiKey. Vous devez commencer par saisir 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 du @include common-auth ligne pour configurer sudo pour exiger l'authentification YubiKey :

authentification requise pam_u2f.so

Enregistrez et quittez le fichier en appuyant sur S'échapper, en tapant :wq, et en appuyant sur Entrer, mais gardez le terminal ouvert. Vous ne pourrez pas annuler les modifications que vous avez apportées à l'authentification sudo si le terminal se ferme.

Ouvrez un deuxième terminal et lancez la commande suivante avec votre YubiKey débranchée, puis entrez votre mot de passe :

test d'écho sudo

Le processus d'authentification échouera. Insérez votre YubiKey et retapez la commande et votre mot de passe. Lorsque le voyant YubiKey commence à clignoter, appuyez sur le bouton de votre YubiKey. Il doit authentifier la commande. Si c'est le cas, votre YubiKey est entièrement configurée pour l'authentification sudo.

Crédit image: Håkan Dahlström/Flickr

Comment configurer YubiKey pour l'authentification SSH

Vous pouvez également utiliser votre YubiKey pour l'authentification SSH! Plusieurs séries YubiKey sont compatibles avec SSH, y compris la série 5 FIPS, la série 5, la série 4 FIPS et la série 4. Utiliser YubiKey pour authentifier vos connexions vous permettra de rendre chaque connexion SSH beaucoup plus sécurisée.

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'une YubiKey avec le 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
mise à jour sudo apt et mise à niveau sudo apt

Ensuite, vous devrez configurer SSH pour accepter votre YubiKey. Entrez la commande suivante pour ouvrez l'éditeur vi et modifiez 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 [email protected], [email protected]

Enregistrez et quittez le fichier en appuyant sur S'échapper, en tapant :wq, et frapper Entrer. Enfin, redémarrez le service SSH avec la commande suivante afin que votre nouvelle configuration devienne active :

redémarrage ssh du service sudo

Enfin, vous êtes prêt à créer la paire de clés que vous utiliserez pour l'authentification SSH. Accédez au répertoire SSH et créez votre nouvelle clé SSH avec les commandes suivantes :

cd home/nom d'utilisateur/.ssh
ssh-keygen-t ed25519-sk

Deux fichiers seront créés dans le ~/.ssh/ annuaire. 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'inscription de la clé a échoué.

Ensuite, vous devrez ajouter la clé publique à votre serveur avec 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 autorisations après avoir désactivé la connexion 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 lit racine TOUT=(TOUT: TOUT) TOUT, ajoutez la ligne suivante :

nom d'utilisateur ALL=(ALL: ALL) ALL

Ouvrez le /etc/ssh/ssd_config fichier et ajoutez les lignes suivantes pour désactiver la connexion root et la connexion par mot de passe :

ChallengeResponseAuthentication nonPermitRootLogin non

Enfin, entrez la commande suivante pour charger votre clé dans votre agent SSH pendant 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. Avec cette nouvelle méthode d'authentification, l'accès SSH à votre serveur distant sera nettement plus sécurisé.

Autres utilisations potentielles de YubiKey

Il n'y a pas vraiment de limite à la façon dont vous pouvez utiliser YubiKey sur votre système Linux. Si vous souhaitez renforcer la sécurité de votre PC, envisagez d'utiliser votre YubiKey pour un cryptage de disque ou sans mot de passe. Vous pouvez même l'utiliser pour signer des e-mails et des fichiers si vous le souhaitez.

Sécurisez votre système Linux avec YubiKey

Vous n'avez 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 commencer avec YubiKey 2FA est un processus simple.