Comment installer et configurer Freeipa sur Red Hat Linux

Comment installer et configurer Freeipa sur Red Hat Linux

Objectif

Notre objectif est d'installer et de configurer un serveur FreeIPA autonome sur Red Hat Enterprise Linux.

Système d'exploitation et versions logicielles

  • Système opérateur: Red Hat Enterprise Linux 7.5
  • Logiciel: Freeipa 4.5.4-10

Exigences

Accès privilégié au serveur cible, référentiel logiciel disponible.

Difficulté

MOYEN

Conventions

  • # - Exige que les commandes Linux soient exécutées avec des privilèges racine soit directement en tant qu'utilisateur racine, soit par l'utilisation de Sudo commande
  • $ - Étant donné les commandes Linux à exécuter en tant qu'utilisateur non privilégié régulier

Introduction

FreeIPA est principalement un service d'annuaire, où vous pouvez stocker des informations sur vos utilisateurs et leurs droits concernant la connexion, devenir root ou simplement exécuter une commande spécifique en tant que root sur vos systèmes qui sont rejoints votre domaine Freeipa, et bien d'autres. Bien qu'il s'agisse de la principale caractéristique du service, il existe des composants facultatifs qui peuvent être très utiles, comme DNS et PKI - cela fait de Freeipa une partie infrastructurelle essentielle d'un système basé sur Linux. Il a une belle interface graphique basée sur le Web et une interface de ligne de commande puissante.

Dans ce tutoriel, nous verrons comment installer et configurer un serveur FreeIPA autonome sur une entreprise Red Hat Linux 7.5. Notez cependant que dans un système de production, il est conseillé de créer au moins une réplique supplémentaire pour offrir une haute disponibilité. Nous hébergerons le service sur une machine virtuelle avec 2 cœurs CPU et 2 Go de RAM - sur un grand système, vous voudrez peut-être ajouter des ressources supplémentaires. Notre machine de laboratoire fonctionne RHEL 7.5, installation de base. Commençons.

Installer et configurer un serveur FreeIPA est assez facile - le Gotcha est dans la planification. Vous devriez réfléchir aux parties de la pile logicielle que vous souhaitez utiliser et à l'environnement que vous souhaitez exécuter ces services. Comme Freeipa peut gérer DNS, si vous construisez un système à partir de zéro, il pourrait être utile de donner un domaine DNS entier à FreeIPA, où toutes les machines clients appellent les serveurs FreeIPA pour DNS. Ce domaine peut être un sous-domaine de votre infrastructure, vous pouvez même définir un sous-domaine uniquement pour les serveurs Freeipa - mais pensez à ce creux soigneusement, car vous ne pouvez pas changer le domaine plus tard. N'utilisez pas un domaine existant, Freeipa doit penser que c'est le maître du domaine donné (l'installateur vérifiera si le domaine peut être résolu, et s'il a un enregistrement SOA autre alors lui-même).

PKI est une autre question: si vous avez déjà un CA (Autorité de certificat) dans votre système, vous voudrez peut-être configurer Freeipa en tant que CA subordonné. Avec l'aide de certmonger, FreeIPA a la possibilité de renouveler automatiquement les certificats clients (comme le certificat SSL d'un serveur Web), ce qui peut être utile - mais si le système n'a pas de service orienté Internet, vous n'aurez peut-être pas besoin du service PKI de FreeIPA du tout. Tout dépend du cas d'utilisation.

Dans ce tutoriel, la planification est déjà terminée. Nous voulons construire un nouveau laboratoire de test, nous allons donc installer et configurer toutes les fonctionnalités de FreeIPA, y compris DNS et PKI avec un certificat CA auto-signé. FreeIpa peut générer cela pour nous, pas besoin d'en créer un avec des outils comme OpenSSL.



Exigences

Ce qui devrait être configuré en premier est une source NTP fiable pour le serveur (FreeIPA agira également comme un serveur NTP, mais a besoin d'une source naturellement), et une entrée dans le serveur / etc / hôtes Fichier pointant vers lui-même:

# chat / etc / hôte 127.0.0.1 localhost localhost.LocalDomain localhost4 localhost4.LocalDomain4 :: 1 localhost localhost.LocalDomain localhost6 localhost6.LocalDomain6 192.168.122.147 RHEL7.IPA.linuxconfig.org rhel7 
Copie

Et le nom d'hôte fourni dans le fichier hosts doit être le FQDN de la machine.

# hostname rhel7.IPA.linuxconfig.org 
Copie

C'est une étape importante, ne le manque pas. Le même nom d'hôte nécessaire dans le fichier réseau:

# grep hostname / etc / sysconfig / réseau hostname = rhel7.IPA.linuxconfig.org 
Copie

Installation de packages

Le logiciel nécessaire est inclus dans l'image ISO ou le canal d'abonnement Red Hat Enterprise Server Server, pas de référentiels supplémentaires nécessaires. Dans cette démo, il existe un ensemble de référentiel local qui ont le contenu de l'image ISO. La pile logicielle est regroupée, donc une seule commande yum fera l'affaire:

# yum installer ipa-server ipa-server-dns 
Copie

Sur une installation de base, Yum fournira une longue liste de dépendances, notamment Apache Tomcat, Apache Httpd, 389-DS (le serveur LDAP), etc. Une fois Yum terminé, ouvrez les ports nécessaires sur le pare-feu:

# Firewall-CMD --Add-Service = FreeIpa-LDAP Succès # Firewall-CMD --Add-Service = FreeIpa-LDAP - Permanent Succès 
Copie

Installation

Maintenant, configurons notre nouveau serveur Freeipa. Cela prendra du temps, mais vous n'aviez besoin que de la première partie, lorsque l'installateur demande des paramètres. La plupart des paramètres peuvent être passés comme arguments au programme d'installation, mais nous ne donnerons aucune, de cette façon, nous pouvons bénéficier des paramètres précédents.

# ipa-server-stal.log =============================================================== ============================= Ce programme configurera le serveur IPA. Cela inclut: * Configurer un CA autonome (dogtag) pour la gestion des certificats * Configurer le démon de temps de réseau (NTPD) * Créer et configurer une instance du serveur de répertoire * Créer et configurer un centre de distribution de clés Kerberos (KDC) * Configurer Apache ( httpd) * Configurez le KDC pour permettre à Pkinit d'accepter la valeur par défaut indiquée entre parenthèses, appuyez sur la touche Entrée. AVERTISSEMENT: le service de synchronisation de l'heure et de la date contradictoire «Chronyd» sera désactivé en faveur de NTPD ## Nous utiliserons le serveur DNS intégré Voulez-vous configurer le DNS intégré (Bind)? [Non]: Oui, entrez le nom de domaine entièrement qualifié de l'ordinateur sur lequel vous configurez le logiciel de serveur. En utilisant le formulaire . Exemple: maître.exemple.com. ## En appuyant sur «Entrée» signifie que nous acceptons la valeur par défaut dans les bracelets ## C'est la raison pour laquelle nous avons configuré le FDQN approprié pour l'hôte Nom d'hôte du serveur [RHEL7.IPA.linuxconfig.org]: Avertissement: sauter la résolution DNS de l'hôte RHEL7.IPA.linuxconfig.org Le nom de domaine a été déterminé en fonction du nom d'hôte. ## Maintenant, nous n'avons pas à taper / coller le nom de domaine ## et l'installateur n'a pas besoin d'essayer de définir le nom de l'hôte Veuillez confirmer le nom de domaine [IPA.linuxconfig.org]: le protocole Kerberos nécessite un nom de royaume pour être défini. Il s'agit généralement du nom de domaine converti en majuscules. ## Le royaume de Kerberos est cartographié à partir du nom de domaine Veuillez fournir un nom de royaume [IPA.Linuxconfig.Org]: Certaines opérations de serveur d'annuaire nécessitent un utilisateur administratif. Cet utilisateur est appelé gestionnaire d'annuaire et a un accès complet au répertoire des tâches de gestion du système et sera ajouté à l'instance du serveur de répertoires créé pour IPA. Le mot de passe doit comporter au moins 8 caractères. ## L'utilisateur du gestionnaire d'annuaire est destiné aux opérations de bas niveau, comme la création de répliques Mot de passe du gestionnaire d'annuaire: ## Utilisez un mot de passe très fort dans un environnement de production! Mot de passe (confirm): le serveur IPA nécessite un utilisateur administratif, nommé 'Admin'. Cet utilisateur est un compte système régulier utilisé pour l'administration du serveur IPA. ## L'administrateur est la "racine" du système Freeipa - mais pas le répertoire LDAP Mot de passe d'administration IPA: Mot de passe (Confirmer): Vérification du domaine DNS IPA.linuxconfig.org., S'il vous plaît, attendez… ## Nous pourrions configurer les transitaires, mais cela peut également être défini plus tard Voulez-vous configurer les transitaires DNS? [Oui]: Non Non Sans transit? [Oui]: Non, le serveur maître IPA sera configuré avec: nom d'hôte: RHEL7.IPA.linuxconfig.Adresse IP de l'Org (ES): 192.168.122.147 Nom de domaine: IPA.linuxconfig.Nom du royaume de l'org: IPA.Linuxconfig.Le serveur DNS Bind Org sera configuré pour servir le domaine IPA avec: transitaires: pas de transit? [non Oui ## À ce stade, l'installateur fonctionnera seul, ## et terminera le processus en quelques minutes. Le moment idéal pour le café. Les opérations suivantes peuvent prendre quelques minutes pour terminer. Veuillez vous attendre à ce que l'invite soit retournée. Configuration du démon NTP (NTPD) [1/4]: Arrêt NTPD… 

La sortie du programme d'installation est assez longue, vous pouvez voir comme tous les composants configurés, redémarrés et vérifiés. À la fin de la sortie, il y a quelques étapes nécessaires à la pleine fonctionnalité, mais pas pour le processus d'installation lui-même.

… La commande IPA-Client-Instal a réussi ====================================================== ===================================== Configuration Compléter les étapes suivantes: 1. Vous devez vous assurer que ces ports réseau sont ouverts: Ports TCP: * 80, 443: HTTP / HTTPS * 389, 636: LDAP / LDAPS * 88, 464: Kerberos * 53: Bind UDP Ports: * 88, 464: Kerberos * 53: : lier * 123: ntp 2. Vous pouvez maintenant obtenir un billet Kerberos en utilisant la commande: «Kinit Admin» Ce billet vous permettra d'utiliser les outils IPA (E.g., IPA User-ADD) et l'interface utilisateur Web. Assurez-vous de sauvegarder les certificats CA stockés dans / root / cacert.P12 Ces fichiers sont nécessaires pour créer des répliques. Le mot de passe de ces fichiers est le mot de passe du directeur de répertoire 

Comme le souligne l'installateur, assurez-vous de sauvegarder le certificat CA et d'ouvrir les ports supplémentaires nécessaires sur le pare-feu.

Maintenant, activons la création du répertoire domestique sur la connexion:

# Authconfig --enablemkhomedir - Update 


Vérification

Nous pouvons commencer à tester si nous avons une pile de services de travail. Testons si nous pouvons obtenir un billet Kerberos pour l'utilisateur de l'administrateur (avec le mot de passe donné à l'utilisateur de l'administrateur pendant l'installation):

# mot de passe administrateur kinit pour admin @ ipa.Linuxconfig.Org: # KLIST TICKET CACHE: Keyring: Persistent: 0: 0 Principal par défaut: Admin @ IPA.Linuxconfig.Le démarrage valide de l'org expire le principal du service 2018-06-24 21.44.30 2018-06-25 21.44.28 krbtgt / ipa.Linuxconfig.Org @ ipa.Linuxconfig.Org 

La machine hôte est inscrite à notre nouveau domaine, et les règles par défaut accordent l'accès à l'utilisateur d'administration créé par-dessus à tous les hôtes inscrits. Testons si ces règles fonctionnent comme prévu en ouvrant la connexion SSH à LocalHost:

# ssh admin @ Mot de passe localhost: Création du répertoire domestique pour l'administrateur. Dernière connexion: dimanche 24 juin 21:41:57 2018 de LocalHost $ pwd / home / admin $ exit 

Vérifions l'état de toute la pile logicielle:

# Service de répertoire d'état IPACTL: exécution du service KRB5KDC: exécution du service KADMIN: exécution du service nommé: exécution du service HTTPD: exécution du service IPA-Custodia: exécution du service NTPD: exécution du service PKI-TOMCATD: exécution du service IPA-OTPD: exécution IPA-DNSKEySyncd Service: Exécution de l'IPA: Info: La commande IPACTL a réussi 
Copie

Et - avec le billet Kerberos acquis plus tôt - demandez des informations sur l'utilisateur de l'administrateur à l'aide de l'outil CLI:

# IPA User-Find Admin -------------- 1 Utilisateur Matted -------------- Connexion de l'utilisateur: Admin Nom: Administrateur Home Directory: / Home / Admin Login Shell: / bin / bash Alias ​​Principal: admin @ ipa.Linuxconfig.Org UID: 630200000 GID: 630200000 Compte désactivé: False ---------------------------- Nombre d'entrées renvoyées 1 ---------------------------- 
Copie

Et enfin, connectez-vous à la page de gestion basée sur le Web à l'aide des informations d'identification de l'utilisateur administrateur (la machine exécutant le navigateur doit être en mesure de résoudre le nom du serveur FreeIPA). Utilisez HTTPS, le serveur redirigera si un http simple est utilisé. Alors que nous installions un certificat racine auto-signé, le navigateur nous avertira.

Page de connexion du freeipa wui

La page par défaut après la connexion affiche la liste de nos utilisateurs, où maintenant seul l'utilisateur d'administration apparaît.

La page par défaut après la connexion est la liste d'utilisateurs dans FreeIpa Wui

Avec cela, nous avons atteint notre objectif, nous avons un serveur FreeIPA en cours d'exécution prêt à être rempli d'utilisateurs, d'hôtes, de certificats et de diverses règles.

Tutoriels Linux connexes:

  • Choses à installer sur Ubuntu 20.04
  • Choses à faire après l'installation d'Ubuntu 20.04 Focal Fossa Linux
  • Une introduction à l'automatisation Linux, des outils et des techniques
  • Téléchargement Linux
  • Fichiers de configuration Linux: 30 premiers
  • Linux peut-il obtenir des virus? Exploration de la vulnérabilité de Linux…
  • Choses à installer sur Ubuntu 22.04
  • Choses à faire après l'installation d'Ubuntu 22.04 Jammy Jellyfish…
  • Meilleure distribution Linux pour les développeurs
  • Mint 20: Mieux que Ubuntu et Microsoft Windows?