Gorodenkoff - stock.adobe.com

Serveurs : comment intégrer Linux à un domaine Active Directory

Cet article explique comment connecter des systèmes Linux au service d'annuaire Microsoft et comment résoudre les problèmes d'authentification.

L’intégration de machines Linux à Active Directory présente plusieurs avantages, notamment la gestion centralisée des utilisateurs, la cohérence avec les politiques de sécurité et la conformité, ainsi que l’accès simplifié aux ressources.

Bien que cela puisse paraître compliqué, en particulier pour les administrateurs Windows qui passent à la gestion de systèmes Linux, il est essentiel d’apprendre les principales différences entre les modèles d’autorisation, comment travailler avec des configurations basées sur des fichiers et comment utiliser la ligne de commande pour le dépannage. L’intégration des systèmes Linux dans Active Directory (AD) atténue en vérité l’inquiétude des administrateurs Windows quant à ce système qu’ils maîtrisent moins.

Les trois principaux avantages d’intégrer Linux à un domaine Active Directory sont détaillés ci-dessous.

  1. Gestion centralisée des utilisateurs. L’une des principales raisons d’intégrer des machines Linux à Active Directory est la gestion centralisée des utilisateurs. Les entreprises peuvent utiliser les comptes utilisateurs, les groupes et politiques de sécurité existants. Les administrateurs peuvent gérer les autorisations, l’authentification et les politiques des utilisateurs à partir d’un seul point, ce qui rationalise les opérations et minimise les délais de l’administration système.
  2. Une meilleure conformité aux mesures de sécurité. Active Directory offre des fonctionnalités de sécurité de niveau entreprise telles que des politiques de mot de passe, l’authentification multifactorielle, des stratégies de groupe et des seuils de verrouillage de compte.
    L’extension d’Active Directory aux systèmes Linux garantit une application cohérente des mesures de sécurité et une conformité sur les systèmes Windows et Linux, ce qui réduit les vulnérabilités et renforce la sécurité globale.
  3. Une gestion des ressources simplifiée. Les machines Linux jointes à un domaine simplifient la gestion des ressources, permettant aux utilisateurs d’accéder à des ressources partagées telles que des partages de fichiers et des imprimantes sans avoir besoin de plusieurs comptes. Cela peut améliorer la productivité en offrant un accès transparent aux ressources partagées sur toutes les plateformes, favorisant ainsi une expérience utilisateur plus cohérente.

Notez que les machines Linux ne peuvent pas utiliser les stratégies GPO (Group Policy Object) ni les outils de gestion centrés sur Windows, même après avoir été joints à un domaine.

Les difficultés que les administrateurs système Windows doivent connaître

De nombreux administrateurs Windows préfèrent une interface utilisateur graphique (GUI) pour la gestion du système. Cependant, l’administration du système Linux repose largement sur les opérations de l’interface en ligne de commande (CLI). Cette transition peut s’avérer difficile, car de nombreuses tâches simples dans un outil basé sur une interface graphique, tel qu’Active Directory Users and Computers (ADUC), peuvent nécessiter des commandes plus complexes sous Linux.

Linux et Windows utilisent des systèmes de fichiers différents, ce qui peut prêter à confusion. Par exemple, Linux utilise un système de fichiers hiérarchique à partir du répertoire racine (/), tandis que Windows utilise des lettres de lecteur. Les autorisations diffèrent également de manière significative : Linux utilise un modèle d’autorisation utilisateur/groupe/autre, tandis que Windows utilise des listes de contrôle d’accès (ACL) qui permettent des paramètres d’autorisation plus granulaires, mais plus complexes.

Sous Windows, la gestion des utilisateurs et des groupes est souvent assurée par AD, qui fournit un modèle assez simple pour l’attribution des autorisations. En revanche, Linux standard, prêt à l’emploi, utilise un modèle encore plus simple, dans lequel les utilisateurs et les groupes sont définis dans des fichiers. Il est essentiel de comprendre ces différences au niveau conceptuel pour assurer une gestion et un dépannage efficaces.

Vérifications préalables à l’intégration de Linux dans d’Active Directory

Suivez cette liste de contrôle pour vérifier certains éléments avant d’essayer de configurer Linux sur Active Directory. Effectuer ce travail préalable vous aidera à éviter des problèmes fastidieux par la suite.

  • Vérifiez la connectivité : utilisez la commande ping pour vérifier la connectivité de base entre le serveur et les clients Linux. Assurez-vous que les ports requis sont ouverts sur le serveur. Plutôt que de désactiver les firewalls, configurez-les pour autoriser le trafic spécifique des clients Linux vers le serveur.
  • Vérifiez la configuration DNS : assurez-vous que votre client peut effectuer une recherche nslookup sur le nom de domaine complet (FQDN) du serveur Active Directory. Il est essentiel que l’heure soit correctement réglée et synchronisée sur tous les serveurs. Configurez les serveurs pour qu’ils utilisent le même serveur DNS local afin d’éviter des problèmes DNS complexes.
  • Synchronisez l’heure : assurez-vous que l’heure est correctement réglée et synchronisée sur tous les serveurs concernés. Les écarts horaires peuvent entraîner des échecs d’authentification et d’autres problèmes critiques.

Configurer le démon SSSD pour intégrer Linux à Active Directory

Le démon SSSD (System Security Services Daemon) est un composant clé pour connecter les systèmes Linux à Active Directory. SSSD offre une fonctionnalité d’intégration de Linux à plusieurs mécanismes d’authentification back-end, avec une prise en charge particulièrement forte des domaines Active Directory. Cela permet une authentification transparente entre les systèmes Linux et les services d’annuaire d’entreprise.

Les lignes suivantes expliquent comment installer et configurer SSSD sur une machine virtuelle Ubuntu, afin qu’elle interagisse avec le contrôleur Active Directory d’un domaine Windows 2019.

Commencez par installer les paquets suivants : sssd-ad, sssd-tools, realmd et adcli. Vous pouvez les installer à l’aide du gestionnaire de paquets Ubuntu.

sudo apt update
sudo apt install -y sssd-ad sssd-tools realmd adcli cifs-utils

La commande realm permet de découvrir et vérifier le domaine Active Directory. Elle dépend du bon fonctionnement des protocoles DNS et Kerberos.

sudo realm -v discover Active Directory.tttest.local

En cas de succès, le système Linux trouvera et recueillera des informations sur le domaine Active Directory.

Utilisez la commande Linux realm pour rechercher et collecter des informations sur le domaine Active Directory.
Utilisez la commande Linux realm pour rechercher et collecter des informations sur le domaine Active Directory.

Ensuite, vérifiez toutes les dépendances. Si des erreurs apparaissent, il s’agit très probablement d’un problème DNS. Les problèmes liés à la résolution DNS sont à l’origine d’une grande partie des erreurs de connexion. Vérifiez également le décalage horaire. Enfin, assurez-vous que le nom d’hôte et le nom de domaine complet sont corrects et partagent le même nom de domaine réseau et le même serveur de noms.

Puis, rejoignez le domaine Active Directory, avec la commande suivante :

sudo realm join --user=administrator yourdomain.com

Remplacez administrator par un compte qui autorise les machines à rejoindre le domaine. Pour cet article, nous utilisons le compte administrateur du domaine. Pour vérifier l’intégration au domaine, utilisez la commande :

sudo realm list

La sortie affichera tous les domaines Active Directory auxquels le système est connecté s’il est correctement intégré. Pour le vérifier, penchez-vous sur l’outil ADUC fourni avec Windows Server. Le système Linux devrait apparaître dans le conteneur Ordinateurs.

À ce stade, vous pouvez vous connecter au système Linux à l’aide des informations d’identification Active Directory. Cependant, les utilisateurs doivent utiliser le nom de connexion complet, tel que [email protected], plutôt que simplement le nom d’utilisateur bob.

Lors de la configuration du domaine, la commande realm effectuera les modifications nécessaires pour activer l’authentification Active Directory de base. Ce même processus peut être utilisé sur Ubuntu Desktop avec l’option Use Active Directory (Utiliser Active Directory) pendant l’installation.

Attention au fichier sssd.conf. Après avoir rejoint le domaine, sachez que le fichier de configuration SSSD (sssd.conf) existe. Vous pouvez le personnaliser davantage pour optimiser l’authentification. Bien que la jonction de domaine de base utilise les paramètres par défaut, vous devrez peut-être ajuster ce fichier pour répondre à des exigences d’authentification spécifiques.

Configurez la résolution d’hôte et CIFS. Pour utiliser le partage de fichiers Windows, vous devez configurer le protocole de partage de fichiers réseau CIFS (Common Internet File System). Nous avons déjà installé le paquet requis pour démarrer la configuration CIFS.

Modifiez le fichier /etc/fstab pour ajouter des entrées correspondantes à vos partages de fichiers Windows, de sorte que ceux-ci se montent automatiquement au démarrage.

//server/share /mnt/mountpoint cifs credentials=/path/to/credentials,uid=1000,gid=1000 0 0

Pour tester le montage sans redémarrer, exécutez la commande suivante :

sudo mount -a

L’absence d’erreurs signifie que l’opération a réussi. Si des erreurs surviennent, elles sont généralement dues à des problèmes de formatage.

Soyez conscient de certains aspects plus nuancés de la sécurité CIFS. Vous pouvez appliquer les autorisations du système de fichiers Linux aux partages de fichiers Windows montés. Linux utilise des valeurs numériques pour définir les autorisations, comme 0755 pour propriétaire/accès complet. Ces autorisations s’appliquent uniquement au niveau du montage du partage, et non aux fichiers individuels du système Windows.

Les autorisations Linux agissent comme un filtre supplémentaire en plus des ACL Windows, ce qui signifie qu’un fichier ne sera pas accessible si l’autorisation Linux en restreint l’accès, même si l’utilisateur y a accès via l’ACL Windows. Les administrateurs Windows doivent apprendre à s’adapter à cette configuration hybride, qui peut poser des problèmes, car deux systèmes d’autorisation sont en vigueur simultanément.

Comment résoudre les problèmes d’intégration de Linux à Active Directory

Interprétez les journaux système Linux. L’un des meilleurs moyens de dépannage sous Linux est de consulter les journaux système, généralement situés dans le répertoire /var/log. Les journaux clés à examiner pour détecter les problèmes sont les suivants :

  • /var/log/secure : journaux d’authentification qui capturent les événements SSSD.
  • /var/log/messages : messages système généraux.
  • /var/log/syslog : messages complets sur le système et les services.

Utilisez la commande tail pour afficher les journaux en temps réel :

    tail -f /var/log/secure

    Si un utilisateur ne parvient pas à se connecter, utilisez les outils de diagnostic suivants :

    • id "username" : vérifie si le système reconnaît un utilisateur.
    • getent passwd "username" : affiche les informations du compte utilisateur à partir d’Active Directory.
    • sssctl : outil en ligne de commande pour SSSD qui affiche des informations sur les utilisateurs, les groupes et l’état du cache.

    Pour approfondir sur Administration de systèmes