Nous avons 3 utilisateurs, Jhon, Doe, Mike. Supposons que vous soyez au service informatique d'une société de logiciels. Vous devez gérer l'identité de ces 3 utilisateurs. Facile non ? Vous pouvez facilement gérer leur accès à l'identité. Mais que diriez-vous que 3 utilisateurs deviennent 300 ou 3000 ? Comment pouvez-vous les gérer ?
Eh bien, les choses deviennent assez difficiles, je suppose, que diriez-vous si nous pouvions avoir un système qui a une information d'identité centrale, ce serait peut-être plus facile de résoudre notre problème énoncé. Pas de soucis, FreeIPA est là pour vous aider à résoudre le problème.
Dans cet article, nous apprendrons quelques notions de base sur FreeIPA et passerons en revue quelques travaux pratiques !
Commençons.
IPA est synonyme d'identité, de politique et d'audit. FreeIPA vise à fournir ces 3 de manière centralisée. Il s'agit d'une solution intégrée de gestion des informations de sécurité combinant Linux (Fedora), 389 Directory Server, MIT Kerberos, NTP, DNS, Dogtag (Certificate System). Il se compose d'une interface Web et d'outils d'administration en ligne de commande.
Je suppose que j'ai fini de parler avec le jargon de base, mettons-nous au travail.
Exigences
J'avais besoin des éléments suivants pour effectuer le travail d'installation et de configuration :
- Machine Cantos 8 fraîchement installée
- 4 Go de RAM.
- Processeur à 4 cœurs.
- 50 Go d'espace libre.
- 1 adresse IP statique.
Avant de commencer
Installation des machines
J'ai installé une machine centos8 sur la boîte virtuelle avec l'IP 192.168.0.101 et l'IPA de l'utilisateur. Nous ferons le reste du travail avec le nom d'utilisateur IPA. L'utilisateur IPA dispose d'un accès administratif à la machine. Il n'est pas recommandé d'utiliser root à des fins d'installation.
Définir le nom d'hôte
Nous allons définir le nom d'hôte comme ipamaster.unixcop.local. Évidemment, vous pouvez définir vous-même
hostnamectl set-hostname ipamaster.unixcop.local
SELinux permissif
Nous devons définir le mode SELinux en mode permissif/désactivé
Nous pouvons le rendre permanent ou temporaire en modifiant la configuration située dans /etc/selinux Annuaire
J'ai rendu le changement permanent comme ci-dessous. Vous devez redémarrer le système après avoir effectué ces modifications.
Entrée dans le fichier hosts
Nous devons ajouter l'adresse IP et le nom d'hôte au fichier /etc/hosts. Dans mon cas, l'IP est 192.168.0.101
La sortie de mon fichier hosts est la suivante
Assurez-vous que ces ports ne sont pas utilisés par quelqu'un d'autre !
- 80, 443, 8080 :HTTP/HTTPS
- 389 636 :LDAP/LDAPS
- 88 464 :Kerberos
- 123 :NTP
Dans le cas où vous ne savez pas comment vérifier le port ouvert/utilisé dans le système Linux
Exécutez cette commande suivante pour montrer comment vérifier les ports d'écoute de votre système
netstat -tulpn
Installation et configuration
Mise à jour du système
Nous devons d'abord mettre à jour notre système, juste pour nous assurer que tous les packages/logiciels sont mis à jour.
Exécutez la commande sudo dnf update -y
Ayez de la patience s'il vous plait ! cela peut prendre un certain temps (sur une nouvelle machine en fonction de votre connexion Internet)
Installer les packages requis
Almalinux/Centos 8 est livré avec la fonctionnalité de référentiel de modularité qui vous permet d'installer des versions supplémentaires de logiciels sur des cycles de vie indépendants via le flux d'application, également appelé AppStream. Cela vous permet de maintenir votre système d'exploitation à jour tout en disposant de la bonne version d'une application adaptée à votre cas d'utilisation.
Les packages serveur et client FreeIPA sont distribués via le référentiel AppStream dans Alma Linux/Centos 8. Tu veux essayer ? exécutez la commande suivante
sudo dnf module list idm
D'après la sortie, nous voyons que nous avons des modules DL1 et client
Pour plus d'informations sur le module DL1, exécutez la commande suivante
sudo dnf module info idm:DL1
Ici, vous obtiendrez les informations détaillées sur le module.
Puisque nous installons un serveur ici, nous devons d'abord installer le module DL1. De plus, DL1 contient un client ipa car un maître est un client de lui-même.
Exécutez la commande suivante pour installer le module
sudo dnf install @idm:DL1 -y
Si vous souhaitez installer freeIPA sans DNS, exécutez uniquement la commande suivante
sudo dnf install freeipa-server --setup-dns
Si vous souhaitez inclure le DNS, exécutez la commande suivante
sudo dnf install ipa-server-dns bind-dyndb-ldap
Attendez que le package soit téléchargé et installé, cela peut prendre un certain temps en fonction de votre connexion Internet.
Ajouter au pare-feu
Nous devons ajouter les services suivants au pare-feu
http.https, dns, ntp, freeipa-ldap, freeipa-ldaps
Commande :
sudo firewall-cmd --add-service={http,https,dns,ntp,freeipa-ldap,freeipa-ldaps} --permanent
Ensuite, nous devons recharger le pare-feu pour effectuer les modifications.
sudo firewall-cmd --reload
Installer le serveur freeIPA
Nous allons installer le serveur freeIPA incluant le DNS
Allez avec la commande suivante
sudo ipa-server-install --setup-dns
le travail d'installation fera ce qui suit pendant l'installation
* Configurer une autorité de certification autonome (dogtag) pour la gestion des certificats
Configurez ensuite le client NTP (chronyd)
* Créer et configurer une instance de Directory Server
* Créer et configurer un centre de distribution de clés Kerberos (KDC)
* Configurer Apache (httpd)
* Configurer DNS (liaison) et configurer le KDC pour activer PKINIT
- Il vous demandera le nom d'hôte. Nous avons déjà défini le nom d'hôte plus tôt. Tapez-le à nouveau ou appuyez simplement sur Entrée, si vous êtes paresseux comme moi 😉
- Ensuite, il vous demandera la confirmation du nom de domaine. Dans ce cas, le nom doit être unixcop.local. Saisissez le type de résultat pour l'étape suivante.
- Suivant, vous trouverez les étapes suivantes :
(Je partage ce que j'ai fait avec la convention de nommage. La vôtre pourrait être différente)
Nom de domaine :UNIXCOP.LOCAL
- Mot de passe du gestionnaire d'annuaire :(choisissez un mot de passe de 8 caractères)
- Confirmer le mot de passe
- IPA a un utilisateur administratif nommé "admin". Nous devons définir le mot de passe pour cet utilisateur et confirmer le mot de passe.
- Nous voulons configurer ces serveurs en tant que redirecteurs DNS, appuyez sur Entrée pour des serveurs DNS supplémentaires, ajoutez une adresse IP, pour l'instant nous n'en avons pas besoin.
- Ensuite, il ajoutera la zone inversée DNS et configurera le NTP. Nous devons taper Oui chaque fois qu'il veut configurer chrony avec des serveurs NTP.
- Après avoir terminé tout cela, l'invite s'affichera avec un résumé de l'installation. Nous devons taper Oui à l'invite en disant Continuer pour configurer le système avec ces valeurs.
- Ensuite, l'IPA commencera à configurer le système et obtiendra la sortie suivante.
Après un certain temps, après que tout le processus d'installation soit terminé, nous obtiendrons la sortie comme suit
Vérifier l'administrateur
Pour utiliser la commande ipa, vous devez d'abord obtenir un ticket Kerberos. Il s'agit d'un certificat délivré par un serveur d'authentification, chiffré à l'aide de la clé du serveur.
Exécutez la commande suivante et vous obtiendrez la sortie comme celle-ci
kinit admin
Nous pouvons vérifier les informations détaillées à l'aide de la commande klist
klist
De plus, l'option de recherche d'utilisateur de la commande IPA peut être utilisée pour vérifier l'utilisateur
ipa user-find admin
Accéder à l'interface graphique FreeIPA
Après tout, nous sommes maintenant prêts à accéder à l'interface graphique
Ouvrez votre navigateur préféré et saisissez ce qui suit
https://ipamaster.unixcop.local/
Vous trouverez la page d'accueil comme suit
Connectez-vous à la page en utilisant "admin" comme nom d'utilisateur et le mot de passe que vous avez donné lors de l'installation.
La connexion réussie s'affichera avec cette page.
Ajouter quelques utilisations
Nous allons ajouter notre premier utilisateur John en utilisant la commande ipa user-add
La commande complète ressemblera à ceci. Son nom d'utilisateur est user1
ipa user-add user1 --first=john --last=doe [email protected] --shell=/bin/sh --password
Lors de la première connexion, l'utilisateur1 sera obligé de changer le mot de passe
Et une autre chose, il semble que son répertoire personnel n'ait pas été créé. Il utilise le répertoire personnel de l'utilisateur de notre nœud maître.
Nous devons changer cette chose. Nous devons nous assurer que l'utilisateur1 atterrira sur son propre répertoire personnel.
En utilisant la commande authconfig, nous mettrons à jour le répertoire personnel de l'utilisateur1
sudo authconfig --enablemkhomedir --update
Effectivement, cela crée le répertoire personnel de l'utilisateur1.
Désinstaller
Si vous souhaitez désinstaller le freeIPA, appuyez sur la commande suivante
sudo ipa-server-install --uninstall
Eh bien, c'est tout pour le moment. Si vous avez des questions/requêtes/préoccupations, s'il vous plaît laissez-moi savoir dans la section des commentaires. Si vous le trouvez utile, n'oubliez pas de le partager avec vos amis !