Dans ce tutoriel, nous décrirons les étapes nécessaires pour configurer l’authentification à deux facteurs (2FA) à l’aide de l’authentificateur Google sur un VPS.

L’authentification en deux étapes permet d’ajouter en plus de votre mot de passe habituel un code généré aléatoirement par une application installée sur votre portable.

Activer l’authentification en deux étapes via SSH.

Connectez-vous à votre serveur via SSH en tant qu’utilisateur Root. Ensuite nous allons mettre a jour les packages installés.

apt-get update && apt-get upgrade

Enfin nous allons installer le Google Authenticator sur notre vps.

apt-get install libpam-google-authenticator

Une fois le package installé, exécutez le programme google-authenticator pour créer une clé pour l’utilisateur avec lequel vous vous connectez.

Le programme peut générer deux types de jetons d’authentification: les jetons basés sur le temps et uniques . Les mots de passe basés sur le temps changent aléatoirement durant un certain temps. Les mots de passe ponctuels sont valides pour une seule authentification.
Dans notre cas, nous utiliserons des mots de passe basés sur le temps. Exécutez le programme pour créer les clés.

google-authenticator

On vous demandera si vous souhaitez que l’authentification soit basée sur le temps.

Do you want authentication tokens to be time-based (y/n) y

Un grand code QR sera généré dans votre terminal. Vous pouvez analyser le code avec l’application d’authentificateur sur votre téléphone ou tablette Android / iOS / Windows ou entrer la clé secrète générée sur l’écran.

Des codes de détresse d’urgence seront également générés. Vous pouvez utiliser ces codes pour l’authentification au cas où vous perdriez votre appareil mobile.

Your emergency scratch codes are:
80463533
68335920
89221348
12489672
11144603

Enregistrez les paramètres d’authentification pour l’utilisateur racine en répondant OUI à la question suivante:

Do you want me to update your "/root/.google_authenticator" file (y/n) y

Ensuite, vous pouvez configurer l’authentificateur pour générer des mots de passe ponctuels. Comme ils durent 30 secondes, tous les mots de passe générés peuvent être utilisés qu’une seule fois.

Do you want to disallow multiple uses of the same authentication
token? This restricts you to one login about every 30s, but it increases
your chances to notice or even prevent man-in-the-middle attacks (y/n) y

Vous pouvez utiliser le prochain paramètre si vous avez des problèmes de synchronisation de l’heure sur vos appareils, nous n’utiliserons pas cette option.

By default, tokens are good for 30 seconds and in order to compensate for
possible time-skew between the client and the server, we allow an extra
token before and after the current time. If you experience problems with poor
time synchronization, you can increase the window from its default
size of 1:30min to about 4min. Do you want to do so (y/n) n

Le prochain paramètre empêche les attaques par brute force. Vous n’aurez que trois chances toutes les 30 secondes pour entrer le mot de passe correct.

If the computer that you are logging into isn't hardened against brute-force
login attempts, you can enable rate-limiting for the authentication module.
By default, this limits attackers to no more than 3 login attempts every 30s.
Do you want to enable rate-limiting (y/n) y

Maintenant que nous avons configuré l’application Google Authenticator, l’étape suivante consiste à configurer les paramètres d’authentification dans openSSH. Pour ce faire, ouvrez le fichier “/etc/pam.d/sshd” et ajoutez la ligne suivante à la fin du fichier:

# vim /etc/pam.d/sshd

auth required pam_google_authenticator.so

Enregistrez les modifications et ouvrez le fichier “/ etc / ssh / sshd_config” et activez l’authentification Response Challenge.

# vim /etc/ssh/sshd_config

ChallengeResponseAuthentication yes

Enregistrez le fichier et redémarrez le serveur SSH pour que les modifications prennent effet.

systemctl restart ssh

Si vous avez suivi de près ce tutoriel, l’authentification à deux facteurs est activée sur votre serveur.À chaque fois que vous vous connecterez via SSH, vous devrez entrer le mot de passe de votre utilisateur et le code de vérification généré par l’application Google Authentication sur votre appareil mobile .

! Attention tester vos modifications en gardant votre session actuel active et en ouvrant une seconde afin de ne pas perdre la main sur votre accès SSH en cas de probléme !

Laisser un commentaire

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.