[FreeIPA] Installation du serveur et premiers pas

 

Installation du serveur et premiers pas sur FreeIPA
Article original Publié le : 31 octobre 2020
Mise a jour le :

Pour permettre l’authentification des utilisateurs et l’enregistrement des machines a la manière d”un Active Directory et de son service dns

 

 

Pour les besoins du tuto

1 vm Centos 7 pour le serveur (1 cpu/2go ram)
IP 192.168.3.225
domaine izero.lan
hostname freeipa.izero.lan

1 vm Centos 7 pour le client (1 cpu/1go ram)
IP 192.168.3.224
domaine izero.lan
hostname centos.izero.lan

 

  • Préparation de l’environnement
  • Ajout des règles sur firewalld
  • Installation et configuration du serveur FreeIPA
  • Zones DNS
  • Installation du client
  • Quelques commandes
  • Utilisateurs et groupes
  • Droits des utilisateurs et groupes
  • Gestion des mots de passe
  • Tips
  • Référentiel et doc

 

 

I. Préparation de l’environnement

  • Mise a jour du système

  • Installation des paquets nécessaires

  • Installation de paquet utile

  • Configurer le nom d’hôte -> machine.domaine.tld

  • Ajouter l’entrée ip/hostname  dans le fichier /etc/hosts

  • Redémarrer le système

 

 

II. Ajout des règles sur firewalld

Si utilisé, prévoir l’ouverture des ports 80/443/389/636/88/464/53/88/464/53/123 puis recharger la conf

 

 

III. Installation et configuration du serveur FreeIPA

Tout ce fait de manière interactive, pressez entrer si les valeurs par défaut sont corrects sinon les personnaliser

 

Entrer le nom complet si différent

 

Confirmer le nom de domaine

 

Confirmer le real name

 

Configurer le gestionnaire d’annuaire

 

Créer le mot de passe du compte admin

 

Configuration du reverse dns

Confirmer pour configurer un second dns

Ajouter le serveur dns alternatif ou faire entrer pour quitter

 

Finaliser la configuration, et procéder a l’installation

 

L’installation est terminé
Permettre la création automatique du répertoire de base de l’utilisateur a la premiere connexion

 

Penser a demarrer et activer au demarrage automatique le service rngd

 

Vérification  des services FreeIPA

 

/!\ Comme tous les annuaires, il est important d’avoir un serveur de temps configuré pour les clients et serveurs, ntpd ou chronyd

 

C’est opérationnel on peut se connecter avec l’url https://fqdn/ipa/ui

 

 

IV. Zones DNS

Il faut s’assurer d’avoir la ou les zones dns crées ainsi que leur zone de recherche inversée (PTR)

Cela se trouve dans Service réseau / DNS / Zones DNS

On retrouve le domaine crée par défaut mais il n’a pas créer la zone de recherche inversée
Cliquer sur Ajouter puis ajouter le CIDR correspondant au nom du domaine

 

Une petite correction a faire sur chaque domaine, éditer la zone puis dans paramètres cocher
Mise a jour dynamique
Autoriser la synchronisation PTR

 

 

V. Installation du client

Installation du client ipa sur la vm secondaire
elle doit avoir le dns du serveur FreeIPA en primaire et hostname complet

Puis enroller la machine

 

Le nouvel hote est bien enregistré dans FreeIPA

 

 

VI. Quelques commandes

Il y a plusieurs commandes et sous commandes

 

Récupérer le jeton Kerberos avec la commande kinit, cela ne doit rien renvoyer

 

Exemple pour vérifier l’état d’un compte

 

/!\ Voir cet article pour changer les attributs shell et mail par défaut

 

 

VII. Utilisateurs et groupes

Pour le test, je crée 2 comptes, 1 groupe et 2 politiques pour chacun

  • Un compte admin IT et un compte non admin pour un DEV par exemple
  • Un groupe non admin, le groupe admin éxistant déjà
  • Une politique HBAC pour les groupes d’utilisateurs, machines et services
  • Une politique sudo pour les commandes sudo

 

Avant toute opération il faut récupérer un ticket Kerberos

 

Pour les bonnes pratiques, il est préférable de désactiver la règle d’accès global allow_all qui autorise tous les utilisateurs à accéder à n’importe quel hôte.
Plus loin on créera les règles nécessaires.

 

Création des comptes utilisateurs

 

 

Ajouter une clé ssh

 

Coté interface graphique on retrouve bien les utilisateurs et le compte admin par défaut

 

Lister les groupes sur le serveur

 

Par défaut tous les utilisateurs héritent du groupe ipausers
Pour ajouter l’utilisateur user_admin dans le groupe admin déjà éxistant

En interface graphique c’est dans groupes d’utilisateurs

 

Créer un nouveau groupe pour le user_noadmin

 

Ajouter l’utilisateur au groupe

 

/!\ Plus d’info sur la gestion des utilisateurs et groupes dans cet article.

 

 

VIII. Droits des utilisateurs et groupes

Il est préferable de travailler sur des groupes, plus facile d’administrer une politique global des utilisateurs s’appliquant au groupe.

Il convient de crée des politiques pour des besoins differents qui varie d’un pôle a un autre
Pour l’exemple, création de 2 politiques

  • allow_admin et rule_admin
  • allow_noadmin et rule_noadmin

 

Il y a aussi une commande nécessaire a tous

Dans Politique / Sudo / Commandes sudo

Créer la commande /bin/bash

 

Pour l’utilisateur admin

L’admin ne devrait pas avoir de restriction concernant les accès
Créer les règles suivantes

Dans Politique / Host-Based Access Control / Règles HBAC

Créer la règle allow_admin, éditer et modifier les champs d’autorisation

 

Puis dans Politique / Sudo / Règles sudo

Créer la règle rule_admin, éditer la et modifier les champs d’autorisation

 

 

Pour l’utilisateur non admin

On affecte un utilisateur ou un groupe d’utilisateurs et de machine
Puis on autorise les services nécessaires ftp, ssh …
Créer les règles suivantes

Dans Politique / Host-Based Access Control / Règles HBAC

Créer la règle allow_noadmin, éditer et modifier les champs d’autorisation

 

Dans Politique / Sudo / Commandes sudo

Créer les commandes /bin/ls, /usr/bin/tail, /usr/bin/less

 

Dans Politique / Sudo / Règles sudo

Créer la règle rule_noadmin, éditer la et modifier les champs d’autorisation
On autorise un groupe d’utilisateur, un groupe de machine et des commandes

On autorise les commandes basic comme tail ou less car certains fichiers ne sont pas accessibles a l’utilisateur
Cela pourrait également être /etc/init.d ou systemctl pour redémarrer les services

 

 

IX. Gestion des mots de passe

Par défaut les utilisateurs héritent de la politique global_policy qui se trouve dans PolitiquePolitiques de mot de passe

 

Il convient de modifier la policy, par exemple la durée de vie minimale à 30 jours, l’historique de mot de passe à 3, la longueur minimal à 12 caractères au lieu de 8 et la classe de caractère pour qui la valeur par défaut passe de 0 à 3

/!\ Pour la classe de caractère il y a 6 classes différentes qui définissent la complexité (voir Table 11.1. Password Policy Settings)
La valeur 3 est la combinaison des 3 premières classes

  1. Caractères majuscules
  2. Caractères minuscules
  3. Chiffres
  4. Caractères spéciaux
  5. Caractères 8 bits
  6. Nombre de caractères répétés

La politique s’appliquera au nouveau utilisateur et sera appliqué lors du renouvellement de mot de passe pour les utilisateurs déjà présent

 

Il est possible de créer d’autre policy, par exemple pour les comptes de service, elle s’applique bien sur a un groupe d’utilisateur
Pour l’exemple cette policy aurait pour intérêt la durée de vie du mot de passe qui passerait de 90 à 365 jours si on veut en changer chaque année ou 9999999 si on fixe un crédential dans une appli.

 

 

/!\ Juste garder en mémoire, quand on crée ou renouvelle un mot de passe il faut se connecter sur l’interface web et changer ce mot de passe qui est considéré comme temporaire.

 

 

X. Tips

Des p’tits tips

 

Pour connaitre la fin de validité d’un mot de passe pour un utilisateur

 

 

Pour l’option NOPASSWD il faut ajouter a la règle “rule_admin” l’option !authenticate

En cli ca donne ça

 

Valable aussi pour la rule_noadmin on liste bien les restrictions de commandes et les hôtes autorisés

 

 

XI. Référentiel et doc

Pour aller plus loin ..

https://www.freeipa.org/page/Quick_Start_Guide

https://www.freeipa.org/images/f/f7/Administration_Guide.pdf

https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/linux_domain_identity_authentication_and_policy_guide/user-groups-add-member

https://www.freeipa.org/page/V2/Group_Password_Policy

https://docs.fedoraproject.org/en-US/Fedora/15/html/FreeIPA_Guide/user-pwdpolicy.html

https://linuxgurublog.wordpress.com/2017/11/25/modify-freeipa-password-policy-part-8/

https://access.redhat.com/solutions/1605213

https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/8/html/configuring_and_managing_identity_management/viewing-starting-and-stopping-the-ipa-server_configuring-and-managing-idm

 

 

Rating: 5.0/5. From 6 votes.
Please wait...
Voting is currently disabled, data maintenance in progress.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.