Comment configurer un client FreeIPA sur Ubuntu 16.04

introduction

FreeIPA est une solution de sécurité open source pour Linux qui fournit une gestion de compte et une authentification centralisée, similaire à Active Directory de Microsoft. FreeIPA est construit sur plusieurs projets open source, notamment le serveur de répertoires 389, MIT Kerberos et SSSD.

FreeIPA a des clients pour CentOS 7, Fedora et Ubuntu 14.04 / 16.04. Ces clients facilitent l’ajout de machines dans votre domaine IPA. D’autres systèmes d’exploitation peuvent s’authentifier auprès de FreeIPA à l’aide de SSSD ou de LDAP.

Dans ce tutoriel, nous allons configurer une machine Ubuntu 16.04 pour s’authentifier sur un serveur FreeIPA existant. Une fois votre client configuré, vous pourrez gérer les utilisateurs et les groupes d’utilisateurs pouvant se connecter à la machine. En outre, vous pourrez définir quels utilisateurs peuvent utiliser + sudo +.

Conditions préalables

Pour suivre ce tutoriel, vous aurez besoin de:

  • Un serveur CentOS 7 sur lequel le logiciel serveur FreeIPA est installé, que vous pouvez configurer en suivant https://www.digitalocean.com/community/tutorials/how-to-set-up-centralized-linux-authentication-with-freeipa- on-centos-7 [ce tutoriel FreeIPA sur CentOS 7].

  • Un serveur Ubuntu 16.04 a été configuré en suivant les ce guide de configuration d’Ubuntu 16.04, y compris un pare-feu. Cependant, comme nous allons utiliser FreeIPA pour gérer les utilisateurs, il n’est pas nécessaire d’ajouter manuellement un utilisateur sudo non root. Vous pouvez simplement suivre ce tutoriel en tant que * racine *.

  • Les enregistrements DNS suivants sont configurés pour votre serveur Ubuntu. Vous pouvez suivre cien tutoriel sur les noms d’hôtes pour savoir comment les ajouter.

  • Un enregistrement A avec votre nom de serveur (par exemple ++) pointant sur l’adresse IPv4 de votre serveur client.

  • Un enregistrement AAAA avec le nom de votre serveur pointant sur l’adresse IPv6 de votre serveur client, si vous souhaitez que votre serveur soit accessible via IPv6.

Tout au long de ce tutoriel, nous utiliserons + ipa-client.example.com + comme exemple de domaine pour votre client Ubuntu IPA et + ipa.example.com + pour votre serveur CentOS IPA (pour correspondre au didacticiel requis). .

Étape 1 - Préparation du client IPA

Avant de commencer à installer quoi que ce soit, nous devons faire quelques choses pour nous assurer que votre serveur Ubuntu est prêt à exécuter le client FreeIPA. Plus précisément, nous allons définir le nom d’hôte du serveur, mettre à jour les packages système et vérifier que les enregistrements DNS des conditions préalables ont été propagés.

Pour commencer, le nom d’hôte de votre serveur Ubuntu devra correspondre à votre nom de domaine complet (FQDN) pour que le client FreeIPA fonctionne correctement. Nous utiliserons ++ comme nom de domaine complet tout au long de ce didacticiel.

S’il s’agit d’un nouveau serveur, vous pouvez définir le nom d’hôte lorsque vous créez le serveur.

Si vous avez déjà un serveur, vous pouvez utiliser la commande + hostname +, comme ci-dessous. Notez que vous devez être * root * pour changer le nom d’hôte d’un système existant car ce dernier est un paramètre système et ne peut pas être modifié par les utilisateurs habituels.

hostname

Si vous modifiez le nom d’hôte de votre serveur à l’aide de la commande + hostname +, il est judicieux de le modifier également manuellement dans le fichier + / etc / hostname +.

nano /etc/hostname

Le fichier ne doit contenir qu’une seule ligne avec le nom d’hôte original de votre serveur:

/ etc / hosts

Remplacez-le par le nom de domaine complet de votre client.

/ etc / hosts

Puis enregistrez et fermez le fichier.

Une fois le nom d’hôte de votre serveur défini correctement, mettez à jour les référentiels de packages.

apt-get update

Enfin, nous devons vérifier que les noms DNS sont résolus correctement. Nous pouvons utiliser la commande + dig + pour cela. Dig est installé sur Ubuntu par défaut.

Premièrement, utilisez + dig + pour vérifier l’enregistrement A.

dig +short  A

Cela devrait retourner ++.

Si vous avez activé IPv6, vous pouvez tester l’enregistrement AAAA de la même manière.

dig +short  AAAA

Cela devrait retourner ++.

Nous pouvons également tester la recherche inversée. Ceci teste si nous pouvons résoudre le nom d’hôte à partir de l’adresse IP.

dig +short -x
dig +short -x

Ceux-ci devraient tous deux retourner +. +

Maintenant que le serveur est préparé, nous pouvons installer et configurer le package client FreeIPA.

Étape 2 - Installation du client FreeIPA

Dans Ubuntu 16.04, le client FreeIPA est inclus dans les référentiels par défaut.

apt-get install freeipa-client

Lors de l’exécution du programme d’installation, il peut vous inviter à indiquer le royaume Kerberos et les serveurs Kerberos sur un écran intitulé * Configuration de l’authentification Kerberos *. Le programme d’installation FreeIPA remplacera ces paramètres, mais il est préférable de les saisir correctement ici également.

Le domaine Kerberos a été configuré lors de l’installation du serveur. Généralement, ce sera + ipa. + Le serveur Kerberos et le serveur administratif doivent être l’adresse de votre serveur IPA. Si vous avez suivi le tutoriel sur les serveurs prérequis, ce sera également + ipa. +. Après ces invites, le package + ipa-client + sera installé.

Ensuite, lancez la commande d’installation de FreeIPA. Ceci exécutera un script qui vous guidera dans la configuration de FreeIPA pour s’authentifier sur votre serveur CentOS FreeIPA.

ipa-client-install --mkhomedir

L’indicateur + - mkhomedir + indique à FreeIPA de créer des répertoires de base pour les utilisateurs IPA lorsqu’ils se connectent à la machine pour la première fois. Si vous ne souhaitez pas ce comportement, vous pouvez omettre cet indicateur.

Le programme d’installation vous demandera d’abord de saisir le domaine IPA. Il est défini lorsque vous configurez le serveur.

Invite de script d’installation

Provide the domain name of your IPA server (ex: example.com):

Ensuite, vous devrez entrer le nom de domaine du serveur IPA. Cela devrait être identique à l’URL que vous utilisez pour accéder à l’interface utilisateur Web de l’IPA. Si vous avez suivi le didacticiel du serveur dans les conditions préalables, il sera identique au domaine IPA.

Invite de script d’installation

Provide your IPA server name (ex: ipa.example.com):

Avec un seul serveur, le basculement ne fonctionnera pas. FreeIPA vous en avertit et vous devez entrer * oui * pour continuer.

Invite de script d’installation

Autodiscovery of servers for failover cannot work with this configuration.
If you proceed with the installation, services will be configured to always access the discovered server for all operations and will not fail over to other servers in case of failure.
Proceed with fixed values and no DNS discovery? [no]:

Confirmez que toutes les options sont correctes et continuez.

Invite de script d’installation

Continue to configure the system with these values? [no]:

Ensuite, entrez un nom d’utilisateur admin. Ici, nous allons simplement utiliser l’administrateur IPA par défaut créé lors de l’installation du serveur.

Invite de script d’installation

User authorized to enroll computers: admin

Enfin, entrez le mot de passe de votre administrateur IPA. Ceci a été défini lors de la configuration du serveur FreeIPA.

Après avoir entré le mot de passe, le client FreeIPA configurera le système. La dernière ligne de sortie sera + Configuration du client terminée. + Ceci indique une installation réussie.

Maintenant, nous devons vérifier que notre système apparaît dans l’interface Web IPA.

Étape 3 - Vérification de l’authentification

Accédez à votre interface utilisateur Web IPA, qui est + https: // +. Connectez-vous à l’interface Web avec le compte administrateur IPA que vous avez utilisé précédemment. Vous verrez l’écran suivant:

image: https: //assets.digitalocean.com/articles/freeipa-client/aqxSqYs.jpg [ipa login]

Accédez à l’onglet * Hosts *. Votre serveur IPA devrait apparaître dans la liste, ainsi que le client que vous venez de configurer. Cliquez sur l’entrée pour votre client IPA. Cela vous mènera à un aperçu de l’hôte.

Dans cet écran, vous pouvez entrer des informations sur la machine cliente ainsi que la gestion des groupes et des rôles pour la machine.

image: https: //assets.digitalocean.com/articles/freeipa-client/WMAcK07.jpg [vue client]

Vous pouvez également essayer de vous connecter à la machine avec un utilisateur IPA de votre terminal local.

ssh admin@

Vous vous connecterez à votre ordinateur en tant qu’utilisateur IPA. Vous pouvez sortir de cette connexion une fois que celle-ci est réussie.

Les utilisateurs IPA auront un accès de base, mais sudo est désactivé. Dans l’étape suivante, nous activerons sudo.

Étape 4 - Activation et vérification des règles sudo (facultatif)

Il n’est pas nécessaire de modifier les fichiers de configuration du client pour obtenir un accès sudo actif; Toutefois, si vous le souhaitez, vous devez configurer les règles sudo dans l’interface utilisateur Web IPA pour autoriser l’accès.

FreeIPA vous permet de spécifier quels utilisateurs et quels groupes d’utilisateurs peuvent exécuter des commandes sudo sur quelles machines. Il est également possible de limiter les commandes qu’un utilisateur peut exécuter avec sudo et quels utilisateurs ils peuvent imiter.

Dans ce tutoriel, nous allons couvrir l’ajout d’une règle simple permettant au groupe d’administrateurs d’accéder à tous les ordinateurs au complet. Notez que le groupe admin, avec les autres groupes affichés ci-dessous, existe par défaut dans FreeIPA.

  1. Dans l’interface utilisateur Web IPA, cliquez sur * Services *, puis sur * sudo *. Un menu déroulant devrait apparaître.

  2. Dans le menu déroulant, cliquez sur * sudo rules *, puis sur * add * et entrez un nom pour la règle dans le champ * Nom de la règle *. Ici, nous utiliserons * admin * car nous autorisons sudo pour le groupe d’administrateurs.

  3. Ensuite, cliquez sur * add and edit *. Cela fera apparaître l’ensemble complet des options pour la règle.

  4. Sous * Qui * et * Groupes d’utilisateurs *, cliquez sur * + ajouter *. Sélectionnez le groupe d’administrateurs et cliquez sur la flèche pour le déplacer de * Disponible * à * Prospective *. Puis cliquez sur * Ajouter *.

  5. Sous * Accéder à cet hôte *, sélectionnez * Tout hôte *. Sous * Exécuter les commandes *, sélectionnez * Toute commande *. Sous * As Whom *, sélectionnez * Anyone * et * Any Group *. C’est ici que vous pouvez restreindre l’utilisation de sudo, les commandes pouvant être exécutées avec sudo et les utilisateurs pouvant être empruntés.

  6. Enfin, faites défiler vers le haut de la page et cliquez sur * Enregistrer *.

Votre règle devrait maintenant être active; Cependant, la propagation peut prendre un peu de temps et vous devrez peut-être redémarrer le service + sshd pour que les règles sudo prennent effet. Pour ce faire, vous pouvez exécuter + systemctl restart sshd.service sur le client IPA.

Ceci fait, vérifions que nous avons un accès sudo sur la machine cliente. À partir de votre ordinateur local, essayez de vous connecter au client avec l’utilisateur administrateur IPA. Cet utilisateur est par défaut dans le groupe des administrateurs.

ssh admin@

Une fois que vous êtes connecté, essayez de lancer une invite interactive sudo.

sudo -i

L’invite devrait maintenant passer à + ​​root @ ipa-client +. Vous pouvez simplement taper + exit + pour revenir à l’invite habituelle.

Si l’accès à sudo vous est refusé, vous pouvez redémarrer l’ordinateur et vous assurer que votre règle sudo est correctement configurée.

Conclusion

Lorsque votre machine est configurée pour s’authentifier auprès de FreeIPA, vous pouvez configurer l’accès des utilisateurs et des groupes à votre système à partir de l’interface utilisateur Web IPA ou de son interface de ligne de commande. FreeIPA dispose de fonctionnalités avancées, mais pour des configurations plus simples, vous pouvez simplement ajouter des utilisateurs et des hôtes en fournissant un système d’authentification centralisé simple.

FreeIPA est un outil d’authentification extrêmement polyvalent, et ce que vous devrez faire ensuite dépend en grande partie de la façon dont vous avez l’intention de l’utiliser. Pour plus d’informations, le site Web FreeIPA contient une liste de ressources documentaires.

Related