GNU/Linux >> Tutoriels Linux >  >> Linux

Comment configurer votre appareil OTP avec privacyIDEA


par Nemo @ pixabay

Dans ce guide, nous allons configurer un système qui peut agir comme votre propre appareil OTP personnel, gérant tous les dispositifs d'authentification de votre réseau. Vous pouvez ensuite configurer vos services pour vous authentifier auprès de cette machine. C'est une bonne idée d'utiliser un mécanisme de virtualisation. Si vous avez du vieux matériel, c'est tout aussi bon.

Nous allons installer privacyIDEA sur un système Ubuntu 14.04 LTS, que vous avez peut-être déjà vu ici ou ici. Mais cette fois, nous le ferons encore plus lisse et plus élégant !

Installation de base

Avis de non-responsabilité : Je suppose que vous êtes l'utilisateur root dans ce scénario. Sinon, vous devez ajouter "sudo" devant chaque commande.

Donc, nous installons d'abord un serveur Ubuntu simple 14.04 LTS sans rien dessus. Veuillez ne pas installer de base de données ou de serveur Web. Vous ne devez sélectionner que openssh pour qu'il s'exécute en tant que service sur cette machine.

Installer privacyIDEA

privacyIDEA 1.3.3 est livré avec un tas de nouveaux paquets debian dans un référentiel de tableau de bord, ce qui facilite encore plus la configuration.

Nous devons d'abord ajouter le référentiel au système :

apt-get install software-properties-common
add-apt-repository ppa:privacyidea/privacyidea
apt-get update

Maintenant que nous avons ajouté le référentiel privacyidea, vous pouvez jeter un œil à ce qui est disponible :

[email protected] :~# apt-cache search privacyidea
privacyidea - système d'authentification à deux facteurs, par ex. pour les appareils OTP
privacyideaadm - client d'administration pour privacyIDEA
privacyidea-radius - module FreeRADIUS pour privacyIDEA, authentification OTP
privacyidea-all - système d'authentification à deux facteurs. Ceci est un métapaquet pour tout installer.
privacyidea-otrs - Module OTRS pour privacyIDEA, authentification OTP
privacyidea-nginx - système d'authentification à deux facteurs. Il s'agit d'un méta-paquet pour installer privacyidea avec nginx
privacyidea-appliance - système d'authentification à deux facteurs. Il s'agit d'un outil de configuration pour une configuration facile du système.

Il existe différents (méta)-packages pour différents scénarios. Comme mentionné, nous aimerions installer une sorte "d'appareil". Alors allons-y :

apt-get install privacyidea-appliance privacyidea-radius

Cela installera le serveur Web Nginx, la base de données MySQL, le serveur FreeRADIUS et privacyIDEA avec toutes les dépendances python.

Il vous sera demandé d'entrer un mot de passe root MySQL. Choisissez-en un bon - nous n'en avons pas besoin plus tard!;-)

Après l'installation, vous êtes prêt à configurer votre appareil.

Configurer votre appareil

Il existe un outil pour configurer tous les moyens nécessaires de votre appareil. Démarrez-le en ligne de commande en tant qu'utilisateur root.

privacyidea-setup-tui


Il s'agit d'un outil d'interface utilisateur texte basé sur une boîte de dialogue, qui vous permet d'effectuer toutes les tâches pertinentes au niveau du système d'exploitation, telles que la gestion de vos administrateurs de jetons, la définition des niveaux de journalisation, la régénération des clés de chiffrement et de signature, la définition du bon service Web et du service RADIUS et la gestion de vos clients RADIUS.

Au moins, nous devons effectuer les tâches suivantes :

  • créer au moins un administrateur de jetons
  • créer la base de données MySQL
  • créer un client RADIUS
Parcourez l'outil pour vous familiariser avec ce qui peut être fait.

L'outil est basé sur une logique d'analyseur pour les fichiers client FreeRADIUS, les fichiers ini privacyIDEA et le fichier nginx. Ainsi, vous pouvez également modifier les fichiers en ligne de commande, les modifications seront conservées.

Remarque : L'outil de configuration ne conservera aucun commentaire dans les fichiers si vous modifiez ces fichiers manuellement !

Créez votre administrateur de jetons

Pour gérer vos administrateurs de jetons, accédez à privacyidea ? gérer les administrateurs .

Là, vous pouvez choisir Ajouter un nouvel administrateur .

Il vous sera demandé :

  • Un nom d'utilisateur, où je choisis admin et
  • le mot de passe (deux fois !) qui ne s'affiche pas à l'écran.
Après cela, vous verrez le nouvel administrateur de jeton dans la liste. Vous pouvez répéter cette étape aussi souvent que vous le souhaitez. Vous pouvez supprimer un administrateur ou modifier le mot de passe en choisissant l'administrateur dans la liste.


Maintenant que vous avez créé votre administrateur (ou vos administrateurs), vous pouvez cliquer sur annuler et annuler et revenir au menu principal.

Créer la base de données MySQL

Vous pouvez également sauter cette étape. privacyIDEA s'exécuterait alors avec la base de données SQLite à /var/lib/privacyidea/. Mais nous choisissons d'utiliser une base de données MySQL dans ce scénario.

Allez donc sur privacyIDEA ? base de données ...


Là, vous pouvez choisir réinitialiser localement , qui créera la base de données MySQL, créera un utilisateur et configurera les tables de la base de données.


Oui!


Enfin, vous voyez la nouvelle configuration, utilisant la base de données MySQL.

Créez vos clients RADIUS


Dans le menu principal, choisissez FreeRADIUS ? configuration client pour gérer vos clients RADIUS. Le fichier /etc/freeradius/clients.conf par défaut est livré avec un client localhost, c'est pourquoi vous voyez déjà un client dans la liste.

Remarque : Vous ne pouvez pas supprimer le dernier client, nous créons donc de nouveaux clients !

Nous allons créer un réseau client pour gérer tous les clients possibles de votre réseau et le client localhost, pour exécuter des tests sur le système. J'ai donc choisi ces valeurs - vous devez adapter le réseau en conséquence :

  1. monréseau
      nom :monréseau
      ip :172.16.200.0
      masque de réseau :24
      secret :topSecret4All
      nom court :vide
  2. localhost
      nom :localhost
      ip :127.0.0.1
      masque réseau :32
      secret :topSecretOnce
      nom court :vide

Nous choisissons Ajouter un nouveau client pour créer le nouveau client "mynetwork" et les boîtes de dialogue nous demanderont les valeurs ci-dessus. Ainsi tous les clients du réseau 172.16.200.0/24 pourront émettre une requête RADIUS avec le secret RADIUS "topSecret4All".


Le nom de la configuration client


L'adresse IP


Le masque de réseau


Le secret partagé


Le nom abrégé peut être laissé vide

Vous pouvez sélectionner le client "localhost" et le supprimer. Après cela, vous pouvez créer un nouveau client "localhost" selon les paramètres ci-dessus.

Configuration terminée

Vous avez maintenant terminé la configuration du système de base. L'outil de configuration doit comprendre que vous modifiez des données importantes et redémarrez les services. Mais juste pour être sûr que vous pouvez le faire manuellement :

redémarrage du service uwsgi
redémarrage du service freeradius

Inscrivez votre Token

Vous pouvez maintenant inscrire vos appareils d'authentification, ce qui se fait à l'aide de l'interface utilisateur Web de gestion. Pointez votre navigateur sur https://votre-serveur, acceptez l'avertissement de certificat du certificat auto-signé et vous obtiendrez l'écran de connexion :

Sur cet écran de connexion, vous pouvez vous connecter en tant qu'administrateur de jeton. Tous les administrateurs de jetons que vous avez créés doivent ajouter "@admin" à leur nom, pour indiquer qu'ils sont administrateurs.

L'interface utilisateur Web vous donne une vue des jetons, des utilisateurs, des politiques, des machines et du journal d'audit.

Se connecter à la source d'utilisateurs

Comme privacyIDEA ne gère pas les utilisateurs lui-même, nous devons lire les utilisateurs à partir d'une source. Nous utiliserons le fichier /etc/passwd.

Cliquez sur configuration de privacyIDEA ? résolveurs userid , cliquez sur le bouton Nouveau et sélectionnez Flatfile .

Cliquez sur enregistrer pour enregistrer la définition du résolveur sous le nom "local".

Remarque : À tout moment, vous pouvez cliquer sur le point d'interrogation blanc dans le cercle vert qui vous amènera à l'aide en ligne contextuelle dans une autre fenêtre du navigateur. En fait, ce serait peut-être une bonne idée de lire quelque chose sur les résolveurs et les royaumes;-).

Lorsque vous fermez la fenêtre du résolveur, vous serez automatiquement redirigé vers la fenêtre du domaine ou vous pourrez cliquer sur privacyIDEA Config ? royaumes pour créer un nouveau royaume. Dans cette boîte de dialogue, vous devez cliquer sur Nouveau .

Entrez le nom du domaine ("realm1") et sélectionnez le résolveur ("local") et cliquez sur Enregistrer .

Ensuite, vous verrez le nouveau royaume dans votre liste de royaumes.

Vous pouvez fermer la fenêtre et cliquer sur l'onglet Vue utilisateur .

Inscrire un jeton à l'utilisateur

En bas, vous pouvez rechercher un utilisateur en saisissant "r*" et en cliquant sur rechercher bouton. Vous verrez l'utilisateur root. Sélectionnez l'utilisateur en cliquant dessus. L'utilisateur sera mentionné dans la barre latérale gauche en tant qu'utilisateur sélectionné. Vous pouvez maintenant cliquer sur le bouton inscrire dans la barre latérale gauche.

Ensuite, la boîte de dialogue d'inscription s'ouvrira. Choisissez le type de jeton "HMAC eventbased" et sélectionnez générer la clé HMAC .

Cliquez sur le bouton S'inscrire . Le serveur créera une clé secrète et affichera un code QR pouvant être scanné avec l'application Google Authenticator. Cette application Google Authenticator fonctionnera désormais comme un dispositif d'authentification.

Après avoir scanné le code QR, vous pouvez cliquer sur OK et enfin définissez un code PIN - un mot de passe que vous seul connaissez - pour ce même jeton.

Vous avez maintenant deux facteurs pour vous authentifier :le code PIN et la valeur OTP générée par votre dispositif d'authentification.

Testez votre système

Nous pouvons maintenant vérifier le système en envoyant une requête RADIUS à cette appliance. Je le ferai à partir du système lui-même en étant connecté en tant que root via ssh avec une commande comme :

echo "Nom d'utilisateur=racine, Mot de passe=PIN+OTP" | radclient -s 127.0.0.1 auth topSecretOnce

Le Mot de passe étant concaténé à partir du code PIN et de la valeur OTP et "topSecretOnce" étant le secret partagé pour l'hôte local.

[email protected] :~# echo "Nom d'utilisateur=racine, Mot de passe=test570391" | radclient -s 127.0.0.1 auth topSecretOnce
ID de réponse reçu 209, code 3, longueur =55
Reply-Message ="accès refusé au serveur privacyIDEA !"

Total des autorisations approuvées :0
Total d'authentifications refusées :1
Total d'authentifications perdues :0

[email protected] :~# echo "User-Name=root, Password=test137634" | radclient -s 127.0.0.1 auth topSecretOnce
ID de réponse reçu 180, code 2, longueur =48
Reply-Message ="accès privé IDEA accordé"

Total des autorisations approuvées :1
Total d'authentifications refusées :0
Total d'authentifications perdues :0

Remarque : En raison d'un compteur de démarrage différent dans l'application et sur le serveur, la première authentification échouera.

Vous pouvez maintenant prendre toutes vos applications compatibles RADIUS (pare-feu, OpenVPN) et les configurer pour s'authentifier auprès de privacyIDEA en utilisant le secret partagé précédemment défini.

Bonne authentification !


Linux
  1. Sécurisez vos conteneurs avec SELinux

  2. Dépannez votre réseau avec tcpdump

  3. Comment installer et configurer Bind pour configurer votre serveur DNS ?

  4. Comment installer Nextcloud avec Docker sur votre serveur Linux

  5. Comment installer et configurer MERN Stack avec Nginx sur Ubuntu 20.04

Q4OS Linux fait revivre votre ancien ordinateur portable avec l'apparence de Windows

Comment installer Fedora dans une configuration à double démarrage avec Windows

Comment configurer le pare-feu avec UFW sous Linux

Comment configurer le pare-feu avec Gufw sur le bureau Linux

Lisez vos bandes dessinées avec OpenComic sur Ubuntu 20.04

Configurer le serveur de streaming audio personnel avec Koel sur Ubuntu 20.04