La boîte à Tutoriels de Christopher PECAUD

Configurer une connexion à deux facteurs sur Raspberry Pi pour sécuriser une session SSH

Laisser un commentaire

SOMMAIRE


I INTRODUCTION
II Prérequis
III Configuration
IV Conclusion

I Introduction

Nous allons voir dans ce document comment sécuriser l’accès à la console SSH d’un Raspberry Pi en mettant en place une solution de connexion à double facteur. Cette solution permet en plus de la connexion par mot de passe de rajouter une couche de sécurité supplémentaire en utilisant un autre moyen d’authentification. Nous utiliserons l’authentification par téléphone portable.

II Prérequis

Avant de commencer il faut mettre à jour le système comme on le fait habituellement avec les commandes suivantes :

$sudo apt update

$sudo apt full-upgrade

III Configuration

Vous devez ensuite activer et démarrer SSH pour configurer l’accès à distance en ligne de commandes pour ce faire vous devez lancer les deux commandes suivantes :

$sudo systemctl enable ssh
$sudo systemctl start ssh 

Ceci peut être fait également avec l’outil en ligne de commandes ou au moment de la configuration de votre microSD par exemple dans les paramètres supplémentaires.

Il faut ensuite configurer la fonctionnalité challenge-response, pour ce faire il faut éditer le fichier de configuration de ssh :

$sudo nano /etc/ssh/sshd_config

Descendez un peu plus vers le bas dans le fichier jusqu’à voir apparaître l’option ChallengeReponseAuthentication et changez la valeur associée de no à yes :

description image

Sauvegardez le fichier pour prendre en compte la modification.

Redémarrez ensuite le service SSH :

$sudo systemctl restart ssh

A partir de maintenant on va pouvoir configurer la fonctionnalité. Téléchargez dans un premier temps Google Authenticator sur votre téléphone portable. Il faut ensuite installer le module libpam-google-authenticator :

$sudo apt install libpam-google-authenticator

Il ne reste plus qu’à configurer le compte Google Authenticator sur votre téléphone en scannant le QR Code généré en lançant cette commande :

$google-authenticator
description image

Scannez le QR Code avec l’application Google Authenticator de votre téléphone

Une fois scanné le compte associé au nom de votre Raspberry Pi est créé dans Authenticator et commence à générer des codes à 6 chiffres.

Et entrer un code à 6 chiffres généré par l’application. Vous devriez voir appararaître le message : Code confirmed pour vous notifier que l’authentification est réussie.

Vous devez ensuite mettre à jour le fichier de configuration .google-authenticator en tapant la touche y.

Il vous est demandé si vous souhaiter ensuite désactiver l’usage multiiple d’un même token. Pour plus de sécurité tapez sur « y » pour approuver :

description image

La question qui vient ensuite vous demande si vous voulez allouer un temps supplémentaire au cas où les 30 secondes requises se sont écoulés avant la validation de votre code et la génération d’un autre code.

description image

Appuyez sur la touche « y ». Ensuite appuyez encore sur la touche y pour valider cette question :

description image

Le processus de création du token est maintenant terminé.

Il faut maintenant ajouter cette fonctionnalité au fichier de configuration de ssh. Editez le fichier ssh du module d’authentification enfichable (PAM) :

$sudo nano /etc/pam.d/sshd

Dans le haut du fichier ajouter ces deux lignes :

# 2FA
auth required pam_google_authenticator.so

Pour obtenir ce résultat :

description image

Sauvegardez votre fichier. Redémarrez ensuite le service ssh :

$sudo systemctl restart ssh

Ensuite il ne reste plus qu’à tester la configuration en initiant une nouvelle demande de connexion SSH vers votre serveur depuis un client.

IV Conclusion

Nous avons vu dans ce tutoriel qu’il était assez simple de mettre en place une solution permettant de sécuriser l’accès SSH à un ordinateur Raspberry Pi à distance par l’intermédiaire d’une authentification en deux étapes.

blog comments powered by Disqus
RapidWeaver Icon

Réalisé avec Rapidweaver