Serveur d'impression

Joindre un serveur Debian Linux à un domaine Active Directory – Bien choisir son serveur d impression

Le 30 décembre 2021 - 5 minutes de lecture

[bzkshopping keyword= »Minecraft » count= »8″ template= »grid »]

Découvrez comment lier un serveur basé sur Debian Linux à un domaine Active Directory (AD) sans acheter de logiciel tiers.

Derniers articles de Timothy Warner (voir tout)

Imaginons que vous gériez une flotte de serveurs Debian Linux dans votre environnement Active Directory Domain Services (AD DS). Votre objectif est de joindre les systèmes Linux au domaine pour permettre une gestion véritablement centralisée des utilisateurs, des groupes, des appareils et des ressources.

En effectuant des recherches préliminaires, vous découvrez Centrify Authentication Service, un produit de vente au détail qui permet en effet une intégration Linux approfondie avec AD, y compris la gestion des stratégies de groupe multiplateformes. Le problème? Vous ne pouvez pas vous permettre le coût de la licence, naturellement.

Aujourd'hui, je vais vous apprendre à joindre des machines Linux Debian à AD en utilisant uniquement des outils natifs. L'avantage de cette procédure est qu'elle est gratuite ; l'inconvénient est que vous devez effectuer manuellement toutes les tâches d'entretien et de configuration de la gestion.

Préparer le réseau ^

L'adhésion à un domaine AD DS implique plusieurs flux de données Ethernet qui utilisent divers protocoles TCP/IP et ID de port. Voici la « galerie des voyous » du trafic que vous devrez autoriser sur les pare-feu de votre hôte et les périphériques de contrôle du trafic réseau pour permettre la jonction de domaine :

  • UDP/TCP 135: Intercommunication contrôleur de domaine
  • UDP 138 ; TCP 139: Service de réplication de fichiers (FRS)
  • UDP/TCP 389: protocole léger d'accès aux répertoires (LDAP)
  • UDP/TCP 445: FRS
  • UDP/TCP 464: changement de mot de passe Kerberos
  • TCP 3268,3269: Catalogue global (GC)
  • UDP/TCP 53: Système de noms de domaine (DNS)

Comme je n'ai pas pu faire en sorte que mes hôtes Linux Debian enregistrent leurs enregistrements DNS de manière dynamique, j'ai créé les enregistrements d'hôte (A) manuellement sur l'un de mes contrôleurs de domaine AD.

J'ai également ajouté les adresses IP de mes contrôleurs de domaine au fichier /etc/hosts sur les serveurs Linux pour m'assurer qu'ils pouvaient résoudre leurs noms.

Préparer le serveur Linux ^

J'ai choisi de limiter la discussion d'aujourd'hui à Debian Linux car le processus de jointure AD varie un peu d'une distribution Linux à une autre. Sur votre hôte Linux candidat, lancez une session de terminal et exécutez la commande suivante pour installer le royaume système:

sudo apt-get install realmd -y

le royaume Le système fournit une interface agréable pour découvrir et interagir avec les domaines d'identité (en particulier les domaines Kerberos) tels que AD.

On utilise alors le Royaume commande en tant qu'utilitaire « Couteau suisse » ; nous allons commencer par utiliser la commande pour découvrir notre domaine AD. Dans mon environnement de laboratoire, mon nom de domaine AD est timw.info.

[email protected]:~$ sudo realm découvrez timw.info
timw.info
  type : kerberos
  nom de domaine : TIMW.INFO
  nom de domaine : timw.info
  configuré : non
  logiciel-serveur : répertoire actif
  logiciel client : sssd
  paquet-requis : outils-sssd
  paquet-requis : sssd
  paquet-requis : libnss-sss
  paquet-requis : libpam-sss
  paquet-requis : adcli
  paquet-requis : samba-common-bin

Aha—nous avons quelques dépendances logicielles manquantes. Vous devrez ensuite installer chacun d'eux à tour de rôle en utilisant ce modèle :

sudo apt-get install  -y

Parmi ces packages dépendants, le démon des services de sécurité système (SSSD) occupe une place centrale car il fournit le cadre d'authentification et d'autorisation sous-jacent pour les interactions Linux avec AD.

Rejoignez le domaine AD ^

D'accord, allons-y ! Exécutez la commande suivante, en remplaçant votre propre nom de domaine AD et votre propre compte d'utilisateur de domaine (remarque : pas un compte local Linux !)

sudo realm join timw.info -U 'pat' --install=/' --verbose

Le paramètre -U spécifie le compte d'utilisateur dans le contexte de sécurité duquel la jointure de domaine se produit. J'ai trouvé qu'à moins d'ajouter la clause "–install=", le Royaume commande bombardée, se plaignant que j'avais des packages de dépendance manquants que je savais avoir été installés avec succès. Ah, Linux…

Si vous avez d'autres erreurs (j'en ai eu une qui disait « Serveur introuvable dans la base de données Kerberos »), vous devez ajouter les données suivantes à /etc/krb5.conf :

[libdefaults]



rdns = faux

La capture d'écran suivante montre le résultat que Debian m'a donné lors d'une jointure de domaine réussie :

Mon serveur Linux appartient maintenant à mon domaine AD

Ensuite, nous allons courir Royaume encore une fois, cette fois pour permettre à tous les utilisateurs AD de se connecter à la machine Linux :

permis de domaine sudo --realm timw.info --all

Enfin, nous devrons activer l'authentification Kerberos sur Secure Shell (SSH) en définissant les options suivantes dans /etc/ssh/sshd_config :

#Options Kerberos
KerberosAuthentification oui
KerberosOrLocalPasswd oui
KerberosTicketCleanup oui
KerberosGetAFSToken oui
KerberosUseKuserok oui

# options GSSAPI
GSSAPIAuthentification oui
GSSAPICleanupCredentials oui

Vérification de la jointure de domaine ^

Comme vous pouvez le voir dans la figure suivante, mon serveur Linux a un compte d'ordinateur dans mon domaine AD.

Serveur Linux dans un domaine AD

Serveur Linux dans un domaine AD

À ce stade, vous pouvez tester la connexion au serveur Linux en utilisant un compte d'utilisateur AD. Si la connexion réussit, Debian doit créer un répertoire personnel pour le compte utilisateur. Assurez-vous d'utiliser le paramètre -l (login) pour pouvoir transmettre le format de nom d'utilisateur principal (UPN) de l'utilisateur AD :

Abonnez-vous à la newsletter 4sysops !

ssh -l '[email protected]' linux1.timw.info

Conclure ^

Comme je l'ai mentionné au début de ce tutoriel, en l'absence d'une solution tout-en-un comme Centrify ou JumpCloud, vous devrez sans aucun doute faire vos devoirs et effectuer une bonne quantité de configuration manuelle et de dépannage.