Outils pour utilisateurs

Outils du site


mfa:mfasshotp

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
mfa:mfasshotp [2024/04/10 15:12]
techer.charles_educ-valadon-limoges.fr
mfa:mfasshotp [2024/04/10 16:49] (Version actuelle)
techer.charles_educ-valadon-limoges.fr
Ligne 27: Ligne 27:
 </code> </code>
  
-  * Véréfiez que la connexion SSH entre votre ordinateur et le serveur Debian est pleinement opérationnel avec mot de passe.+  * Vérifiez que la connexion SSH entre votre ordinateur et le serveur Debian est pleinement opérationnel avec mot de passe.
  
 <code> <code>
Ligne 42: Ligne 42:
 Last login: Wed Jan  3 19:34:10 2024 from 192.168.1.85 Last login: Wed Jan  3 19:34:10 2024 from 192.168.1.85
 etudiant@serveur:~$ etudiant@serveur:~$
 +</code>
  
 ===== Configuration du serveur ===== ===== Configuration du serveur =====
Ligne 78: Ligne 79:
 </WRAP> </WRAP>
  
-Nous allons maintenant configurer PAM (Pluggable Authentication Modules), le service qui contrôle les authentifications sur le serveur Debian.+===== Génération du QRCode =====
  
 +Il faut récupérer le secret en base 32 pour générer un QR code pour l'application Android.
 +
 +<code>
 +root@serveur:~# cat /etc/security/users.oath
 +HOTP/T30/6 etudiant – 65f43c705ce51c9c058ec8bb4b7f64b656681866
 +root@serveur:~# oathtool -v -d 6 65f43c705ce51c9c058ec8bb4b7f64b656681866
 +Hex secret: 65f43c705ce51c9c058ec8bb4b7f64b656681866
 +Base32 secret: MX2DY4C44UOJYBMOZC5UW73EWZLGQGDG
 +Digits: 6
 +Window size: 0
 +Start counter: 0x0 (0)
 +</code>
 +
 +<WRAP center round important>
 +Attention ! Pour que la partie TOTP soit pleinement fonctionnelle, vous devez vous assurer que les horloges des différentes machines sont synchronisées et à l’heure.
 +
 +</WRAP>
 +
 +==== Générer le QR Code ====
 +
 +
 +<code>
 +root@serveur:~# qrencode -o etudiant.png 'otpauth://totp/etudiant@192.168.1.90?secret=MX2DY4C44UOJYBMOZC5UW73EWZLGQGDG'
 +
 +root@serveur:~# ls -l
 +
 +-rw-r--r-- 1 etudiant etudiant        471  3 janv. 23:08  etudiant.png
 +</code>
 +
 +Récupérez l'image etudiant.png sur votre poste Windows pour permette de configurer l'application OPT de votre smartphone.
 +
 +
 +
 +
 +===== Configuration du service d'authentification PAM =====
 +
 +Il faut maintenant configurer **PAM** (Pluggable Authentication Modules), le service qui contrôle les authentifications sur le serveur Debian.
 +<code>
 root@serveur:~# nano /etc/pam.d/sshd root@serveur:~# nano /etc/pam.d/sshd
  
Ligne 89: Ligne 128:
 auth required pam_unix.so nullok_secure auth required pam_unix.so nullok_secure
 auth required pam_oath.so usersfile=/etc/security/users.oath window=20 digits=6 auth required pam_oath.so usersfile=/etc/security/users.oath window=20 digits=6
 +</code>
 +<WRAP center round info>
 +**Explications : **
 +  * la ligne @include common-auth est commenté car elle empêche l’authentification OTP même en cas de connexion avec le bon mot de passe.
 +  * La ligne suivante impose l’authentification par mot de passe stocké en local sur le système et interdit les mots de passe vides.
 +  * La dernière impose une fois l’authentification par mot de passe réussie, une deuxième authentification par OTP. Nous faisons référence au fichier contenant le (ou les) nom d’utilisateur concerné ainsi que le secret servant à générer des mots de passe à usage unique. Ce mot de passe disposera de 6 chiffres et il sera possible de générer 20 codes à usage unique valides.
  
-Nous commentons la ligne @include common-auth car elle empêche l’authentification OTP même en cas de connexion avec le bon mot de passe. +</WRAP>
- +
-La ligne suivante impose l’authentification par mot de passe stocké en local sur le système et interdit les mots de passe vides. +
- +
-La dernière impose une fois l’authentification par mot de passe réussie, une deuxième authentification par OTP. Nous faisons référence au fichier contenant le (ou les) nom d’utilisateur concerné ainsi que le secret servant à générer des mots de passe à usage unique. Ce mot de passe disposera de 6 chiffres et il sera possible de générer 20 codes à usage unique valides.+
  
-Il nous reste maintenant à éditer le fichier de configuration du service SSH afin de définir l’usage de l’authentification 2FA.+===== Configuration du service SSH =====
  
 +Il faut éditer le fichier de configuration du service SSH afin de définir l’usage de l’authentification 2FA.
 +<code>
 root@serveur:~# nano /etc/ssh/sshd_config root@serveur:~# nano /etc/ssh/sshd_config
  
Ligne 104: Ligne 147:
 #La ligne ci-dessous est normalement déjà décommentée #La ligne ci-dessous est normalement déjà décommentée
 UsePAM yes UsePAM yes
 +</code>
  
-Nous nous assurons de commenter la ligne KdbInteractiveAuthentication et d’avoir les deux autres lignes activées avec la valeur yes. Nous pouvons ensuite redémarrer le service SSH. +  * commentez la ligne KdbInteractiveAuthentication 
 +  * activez les deux autres lignes avec la valeur yes. 
 +Redémarrer le service SSH. 
 +<code>
 root@serveur:~# systemctl restart ssh root@serveur:~# systemctl restart ssh
- +</code>
-Enfin, il nous reste à récupérer le secret en base 32 qui nous permettra ensuite de générer sur le poste client un QR code pour notre application Android. +
- +
-root@serveur:~# cat /etc/security/users.oath +
-HOTP/T30/6 etudiant – 65f43c705ce51c9c058ec8bb4b7f64b656681866 +
-root@serveur:~# oathtool -v -d 6 65f43c705ce51c9c058ec8bb4b7f64b656681866 +
-Hex secret: 65f43c705ce51c9c058ec8bb4b7f64b656681866 +
-Base32 secret: MX2DY4C44UOJYBMOZC5UW73EWZLGQGDG +
-Digits: 6 +
-Window size: 0 +
-Start counter: 0x0 (0) +
- +
-• Attention ! Pour que la partie TOTP soit pleinement fonctionnelle, vous devez vous assurer que les horloges des différentes machines sont synchronisées et à l’heure.+
  
 Configuration du client et de l’application Android FreeOTP+ Configuration du client et de l’application Android FreeOTP+
  
-Il s’agit maintenant de paramétrer correctement la machine cliente et l’application Android FreeOTP+ afin de rendre opérationnel l’authentification SSH 2FA.+Il s’agit maintenant de paramétrer correctement la machine cliente et l’application OTP afin de rendre opérationnel l’authentification SSH 2FA.
  
-Nous allons d’abord générer sur le poste client (Ubuntu ou Kali) un fichier png contenant un QR code que nous soumettrons à l’application FreeOTP+. +Ouvrez le fichier PNG sur le poste Windows puis ouvrez l’application OTP sur le smartphone.
- +
-etudiant@client:~$ qrencode -o etudiant.png 'otpauth://totp/etudiant@192.168.1.90?secret=MX2DY4C44UOJYBMOZC5UW73EWZLGQGDG' +
- +
-etudiant@client:~$ ls -l +
-… +
--rw-r--r-- 1 etudiant etudiant        471  3 janv. 23:08  etudiant.png +
- +
-Nous pouvons ouvrir ce fichier PNG sur le poste client puis ouvrir l’application FreeOTP+ sur le smartphone.+
  
 Sélectionner l’icône « Appareil photo » en bas à droite. Puis prenez en photo le QR code présent sur l’écran du client. Une nouvelle configuration pour votre utilisateur et votre serveur est automatiquement créée. Sélectionner l’icône « Appareil photo » en bas à droite. Puis prenez en photo le QR code présent sur l’écran du client. Une nouvelle configuration pour votre utilisateur et votre serveur est automatiquement créée.
Ligne 140: Ligne 166:
 Nous pouvons ensuite supprimer le fichier PNG contenant le QR code, car il contient le secret à ne pas compromettre. Nous pouvons ensuite supprimer le fichier PNG contenant le QR code, car il contient le secret à ne pas compromettre.
  
-Sur le client, nous pouvons lancer une connexion SSH vers le serveur avec le compte etudiant. Après avoir entré votre mot de passe, un OTP vous est demandé. Dans l’application FreeOTP+, sélectionnez la nouvelle configuration. Celle-ci vous fournit un code de 6 chiffres valable 30 secondes. +Sur le client Windowsvous pouvez lancer une connexion SSH vers le serveur avec le compte etudiant. Après avoir entré votre mot de passe, un OTP vous est demandé. Dans l’application OTP, sélectionnez la nouvelle configuration. Celle-ci vous fournit un code de 6 chiffres valable 30 secondes. 
- +<code> 
-etudiant@client:~$ ssh etudiant@192.168.1.90               +etudiant@client:ssh etudiant@192.168.1.90               
 (etudiant@192.168.1.90) Password: (etudiant@192.168.1.90) Password:
 (etudiant@192.168.1.90) One-time password (OATH) for `etudiant': (etudiant@192.168.1.90) One-time password (OATH) for `etudiant':
Ligne 155: Ligne 181:
 Last login: Wed Jan  3 22:17:13 2024 from 192.168.1.85 Last login: Wed Jan  3 22:17:13 2024 from 192.168.1.85
 etudiant@serveur:~$ etudiant@serveur:~$
- +</code>
-Q11. Expliquer quel est le type d’authentification utilisé ici. +
- +
  
 ====== Retour Accueil Authentification multifacteur ====== ====== Retour Accueil Authentification multifacteur ======
mfa/mfasshotp.1712754729.txt.gz · Dernière modification: 2024/04/10 15:12 de techer.charles_educ-valadon-limoges.fr