Comment puis-je sécuriser davantage mon système en utilisant l'authentification à 2 facteurs?

16

Le titre le dit à peu près. J'ai entendu plus d'informations sur l'authentification à 2 facteurs, les mots de passe à usage unique, les jetons durs et d'autres fonctionnalités de sécurité améliorées. Avec la diminution de la sécurité de l'utilisation d'un simple mot de passe, je veux savoir comment améliorer ma sécurité sur Ubuntu. J'utilise 14.04 LTS avec Unity.


la source

Réponses:

30

Vous pouvez utiliser le module d'authentification enfichable open source (PAM) créé par Google, connu sous le nom de Google Authenticator . Ce module est disponible dans les référentiels standard, ainsi que dans GitHub afin que vous puissiez construire à partir des sources. Associé à l'application Android, iOS ou Blackberry du même nom, il crée des codes temporels et sensibles au temps pour l'authentification avec votre mot de passe. Puisqu'il s'agit d'un module PAM, il peut être déposé à peu près n'importe où . Commençons!

L'installation

Pour commencer, vous pouvez installer le PAM avec les éléments suivants:

sudo apt-get install libpam-google-authenticator

Facile!

Mise en place:

Une fois installé, vous souhaiterez également installer l'application mobile correspondante pour Android, iOS ou Blackberry (en fonction de votre plate-forme mobile). Chacun est inutile sans l'autre. Une fois que vous avez l'application dont vous avez besoin pour votre appareil mobile, exécutez ce qui suit dans un terminal:

google-authenticator

Cela commencera par vous poser quelques questions. La première est la seule à laquelle vous devez répondre «Oui» et vous demande si vous voulez que les codes soient basés sur le temps. Après cela, lisez chaque question et faites le choix qui vous convient le mieux.

Une fois la configuration initiale terminée, vous verrez un très gros code QR dans votre terminal, ainsi que d'autres informations. La ligne qui dit "Votre nouvelle clé secrète est:" est une ligne indispensable si vous ne voulez pas utiliser le code QR pour coupler votre appareil, alors ne fermez pas cette fenêtre avant d'avoir configuré! Les «codes à gratter» que cela vous donne sont également importants, car ils sont ce que vous utiliserez pour vous connecter si vous perdez votre appareil mobile. Notez-les et conservez-les dans un endroit sûr.

Maintenant, sur votre appareil mobile, ouvrez votre application Google Authenticator et sélectionnez "Configurer un compte". Vous pouvez soit scanner le code QR qui a été généré, soit sélectionner «Utiliser la clé fournie». Si vous scannez le code QR, tout sera automatiquement enregistré sous un compte nommé "your_user @ your_host". Cependant, si vous sélectionnez "Utiliser la clé fournie", vous devrez saisir manuellement un nom, une clé et un type de jeton. Le nom peut être tout ce que vous souhaitez. La clé serait la clé secrète générée précédemment. Le type serait basé sur le temps par défaut. Après l'avoir configuré, vous verrez le compte dans le volet principal de l'application Google Authenticator, ainsi qu'un minuteur en forme de cercle à côté. Ce minuteur s'épuise toutes les 30 secondes et un nouveau code est généré.

L'activer!

Voici la magie. Puisqu'il s'agit d'un module PAM, il peut être utilisé dans une variété d'endroits. Je vais parcourir l'ajout de l'authentification aux sudodemandes, les connexions SSH et la connexion à lightdm. Cependant, après avoir lu ce tutoriel, vous pourrez l'activer ailleurs sur la base des mêmes techniques.

SSH

Je fais celui-ci en premier car il y a une étape supplémentaire. La première chose que vous devez faire est de modifier votre fichier de configuration SSH:

gksudo gedit /etc/ssh/sshd_config

Recherchez la ligne qui dit:

ChallengeResponseAuthentication no

et changez le «non» en «oui».

Maintenant, vous devez éditer le module PAM pour ssh:

gksudo gedit /etc/pam.d/sshd

À la toute fin de ce fichier, ajoutez la ligne suivante:

auth required pam_google_authenticator.so nullok

L'argument "nullok" indique au système de ne pas demander de code de vérification si un utilisateur n'a pas configuré l'authentification à deux facteurs. Après cette modification, continuez et redémarrez votre service ssh:

sudo service ssh restart

sudo Demandes

Modifiez le fichier PAM pour sudo:

gksudo gedit /etc/pam.d/sudo

Ajoutez la ligne suivante à la toute fin:

auth required pam_google_authenticator.so nullok

Désormais, chaque sudodemande demandera un code de vérification ainsi qu'un mot de passe.

LightDM (connexion à l'interface graphique)

Modifiez le fichier PAM pour LightDM:

gksudo gedit /etc/pam.d/lightdm

Ajoutez la ligne suivante à la toute fin:

auth required pam_google_authenticator.so nullok

C'est ça! Chaque fois que vous vous connectez via l'interface graphique, il vous demandera un code de vérification après votre mot de passe.

Connexion à l'échelle du système et TTY

Même si vous activez les méthodes ci-dessus, il ne demandera toujours pas de code de vérification si vous passez à un ATS avec CTRL+ ALT+ F#. Pour résoudre ce problème, modifiez le common-authfichier PAM:

gksudo gedit /etc/pam.d/common-auth

et ajoutez la ligne suivante à la fin:

auth required pam_google_authenticator.so nullok

Remarque: Étant donné que ce fichier d'authentification commune est inclus dans tous les autres fichiers de type d'authentification, vous devez supprimer les lignes d'authentification requises des autres fichiers. Sinon, il vous demandera le code de vérification deux fois et ne vous permettra pas de vous connecter après.

Emballer

Comme vous pouvez le voir, il était assez facile d'ajouter cette authentification. Si vous utilisez un gestionnaire d'affichage autre que LightDM, vous pouvez facilement modifier la ligne lightdm ci-dessus en conséquence. Étant donné que votre appareil mobile et votre système partagent déjà cette clé secrète, ils doivent toujours être synchronisés. Il n'y a aucune interaction avec les serveurs Google ou toute autre ressource Internet pour cette configuration. Même si les deux appareils étaient complètement hors ligne, les codes de vérification qui s'affichent dans votre application seront corrects. Chaque fois que vous devez vous connecter via l'une des méthodes que vous avez activées, assurez-vous simplement d'ouvrir votre application mobile et de saisir le code de vérification actuel.

S'amuser!!

Justin
la source
Commentant pour des notes ultérieures. Bien écrit! +1 =)
Terrance
+1 - c'est à la fois vraiment cool et bien écrit.
Nathan Osman
1
Et puis votre téléphone décide qu'il n'a plus de puissance et veut s'arrêter. :) +1
Rinzwind
C'est à cela que servent les codes à gratter, @Rinzwind: D
Ajouté dans les instructions pour activer deux facteurs sur TTY.
1

FreeOTP est une alternative open source à l'application Android Google Authenticator sur Google Play (dont le code actuel n'est pas open source). FreeOTP est disponible sur F-Droid (et Google Play ).

Mihai Capotă
la source