GNU/Linux >> Tutoriels Linux >  >> Linux

Comment enregistrer et utiliser une Yubikey avec privacyIDEA

Obtenir privacyIDEA

Nous utilisons la dernière version 0.9.1 de privacyIDEA.

Obtenez le serveur privacyidea, soit via pip, soit depuis github :

$ git clone https://github.com/privacyidea/privacyidea.git

Dans le répertoire principal, vous pouvez simplement démarrer le serveur en utilisant la commande paster :

$ python setup.py build
$ paster serve config/privacyidea.ini.example
Serveur de démarrage dans le PID 29608.
servant sur la vue 0.0.0.0:5001 sur http://127.0.0.1 :5001

privacyIDEA utilise une authentification intégrée pour les utilisateurs administratifs. Les comptes admin sont situés dans config/admin-users.

Dans le référentiel git, il y a un admin (password:test) et un admin2 (password:secret). Vous devez supprimer ce fichier et créer un nouvel administrateur :

$ tools/privacyidea-create-pwidresolver-user -u admin -p yourPassword -i 1000> config/admin-users

Vous pouvez maintenant vous connecter à l'interface utilisateur de gestion à l'adresse http://localhost:5001 avec l'utilisateur "[email protected]" et le mot de passe "yourPassword".

Inscrire une Yubikey

Obtenez le client d'administration privacyidea. Pour inscrire le Yubikey, vous avez besoin des modules pyusb et python-yubico.

$ git clone https://github.com/privacyidea/privacyidea.git

Vous pouvez maintenant appeler la commande pour inscrire la yubikey. Le client va constituer une clé secrète, la stocker sur la yubikey et envoyer la clé secrète au serveur pour la création du nouveau token :

$ ./privacyideaadm -U http://localhost:5001 [email protected] -C yubikey_mass_enroll --yubislot=1
Veuillez saisir le mot de passe pour '[email protected]' :
Veuillez insérer la prochaine yubikey.
Yubikey trouvé avec le numéro de série '00508326'

{ u'status' :vrai, u'value' :vrai}

Veuillez insérer la yubikey suivante.^C

Dans la gestion Web, vous verrez maintenant un jeton avec le numéro de série UBOM..., ce qui signifie "Yubikey, Oath Mode". Appuyez sur le bouton Yubikey pour émettre une valeur OTP à 6 chiffres. Essayez-le !

Où sont mes utilisateurs ?

Faites pointer votre navigateur vers la gestion de privacyIDEA http://localhost:5001. Vous verrez un formulaire de connexion. Ce login est utilisé par les utilisateurs normaux pour accéder au portail libre-service mais également par les administrateurs pour accéder à l'interface de gestion des jetons.

Connectez-vous avec le compte administrateur que vous avez créé. N'oubliez pas d'ajouter un @admin, donc si vous avez créé un superruth d'utilisations, vous devez vous connecter en tant que [email protected]

Vous créez maintenant votre premier résolveur, qui est en fait une sorte de pointeur vers l'emplacement où se trouvent vos utilisateurs.

Allez dans privacyIDEA Config -> useridresolvers choisissez "nouveau" et créez un résolveur "fichier plat" à partir de votre /etc/passwd

Maintenant, vous placez le résolveur dans un domaine. Accédez à privacyIDEA config -> realms, créez un nouveau domaine, entrez un nom de domaine et sélectionnez le résolveur que vous venez de créer.

Vous pourrez voir les utilisateurs dans l'onglet "vue utilisateur".

Sélectionnez l'utilisateur et sélectionnez le jeton. Cliquez sur le bouton "attribuer" sur le côté gauche. Le jeton appartient maintenant à l'utilisateur, vous pouvez entrer un code PIN supplémentaire comme "test".

Vérifiez !

Comme le jeton appartient désormais à l'utilisateur, l'utilisateur peut désormais s'authentifier avec ce jeton.

Réinsérez la yubikey.

Nous utiliserons l'API Web pour tester l'authentification. Dans votre navigateur, vous pouvez appeler :

http://localhost:5001/validate/check?user=bin&pass=test......

qui vous donnera le résultat suivant :

{

    "version": "privacyIDEA 0.9",
    "jsonrpc": "2.0",
    "result": {
        "status": true,
        "value": true
    },
    "id": 0

}

"value":"true" signifie que l'authentification a réussi.

Étant un fork de LinOTP, privacyIDEA utilise désormais la même API avec la même réponse que LinOTP. C'est à dire. vous pouvez utiliser des modules/plugins d'authentification qui peuvent également être utilisés pour LinOTP.

Si tout va mal, vous devriez jeter un œil à l'onglet audit.

Production

Pour une utilisation productive, vous devez utiliser une base de données telle que MySQL ou PostgreSQL et le serveur Web Apache ou nginx au lieu de paster. Cela fera partie d'un prochain howto.


Linux
  1. Comment utiliser les commandes 'cat' et 'tac' avec des exemples sous Linux

  2. Comment utiliser les canaux et les canaux nommés sous Linux (avec exemples)

  3. Couper avec Lvm et Dm-crypt ?

  4. Comment utiliser la redirection de sortie en combinaison avec Here-documents et Cat ?

  5. Utiliser la commande Grep et localiser ?

Comment ajouter une authentification à deux facteurs à OTRS avec privacyIDEA

Comment configurer votre appareil OTP avec privacyIDEA

Comment installer et utiliser Alpine avec Gmail IMAP sous Linux

Comment installer et utiliser la commande Ack sous Linux avec des exemples

Utilisez votre Chromecast depuis Linux et MacOS avec mkchromecast

Installer et utiliser Docker Compose avec Docker sur Ubuntu 22.04