Pages

lundi 20 janvier 2020

COMMENT METTRE EN PLACE UN CONTROLEUR DE DOMAINE AVEC DES PROFILS ITINERANTS SUR UN SYSTEME GNU/LINUX GRACE A SAMBA ET AUX OUTILS RSAT


Bonjour,

Aujourd’hui, je vais vous montrer comment créer un contrôleur de domaine sur un serveur GNU/Linux avec Samba, mais aussi une fois le contrôleur de domaine mis en place, comment y configurer des comptes utilisateurs et aussi des profils itinérants à l’aide notamment des outils RSAT.   

Mais tout d’abord,

Qu’est-ce que Samba ?

Samba est une suite de logiciels libres et open source qui implémente le protocole SMB/CISF (Server Message Block / Common Internet File System) dans les ordinateurs tournant sous le système GNU/Linux, il permet de partager des dossiers, des fichiers, d’accéder aux  ressources d’un ordinateur quelconque, et même aux imprimantes au sein d’un réseau entre plusieurs ordinateurs fonctionnant avec des systèmes d’exploitation Windows, GNU/Linux ou autre. A partir de sa version 4 Samba peut également servir de contrôleur de domaine active directory et fournir des services d’authentification aussi bien à des postes Windows qu’à des postes GNU/Linux.

Maintenant que vous en savez un peu plus sur Samba, nous allons entrer dans le vif du sujet.

Considérons qu’on souhaite mettre en place un contrôleur de domaine tel que le décrit la topologie suivante :


Pour commencer la mise en place de notre contrôleur de domaine, nous nous rendons sur le serveur GNU/Linux :

(Ps: le serveur GNU/Linux que nous utilisons en occurrence ici est un Ubuntu)


Puis, nous installons des mises à jour système sur notre serveur à l’aide de la commande « apt-get update && apt-get upgrade  »
  
Une fois les mises à jour système installées, nous lançons la commande « apt-get install winbind » pour pouvoir installer le paquet winbind qui sert à unifier la gestion des comptes entre Unix et Windows :  

Ensuite, nous installons un ensemble de packages nécessaire pour la suite de la mise en place de notre contrôleur de domaine via la commande « apt-get install attr build-essential libacl1-dev libattr1-dev libgnutls-dev libblkid-dev libreadline-dev acl ntp python-dev libpam0g-dev python-dnspython pkg-config libpopt-dev libldap2-dev gdb dnsutils libbsd-dev krb5-user docbook-xsl libcups2-dev » :

Pendant l’installation des paquets précédemment renseignés, une fenêtre apparaît et nous devons choisir le nom de notre futur domaine, nous entrons JG.BLOG (pour ceux qui se posent la question du choix JG, tout simplement pour Jacques Goueth 😁) .

Ensuite, deux autres fenêtres de renseignement s’en suivent respectivement pour qu’on indique le nom du serveur Kerberos et le nom du serveur d’administration du domaine, dans notre cas comme c’est le même serveur qui joue les deux rôles on indique le même nom (logique non? 😅) :

(Ps : kerberos est un système d’authentification réseau ou protocole d’authentification réseau basé sur le principe d’un mécanisme d’authentification par clés secrètes et sur l’utilisation de tickets, plutôt que sur l’utilisation de mots de passe en clair pour éviter toute interception frauduleuse.)


Une fois l’installation des paquets terminée, on doit modifier le fichier de configuration de l’interface réseau de notre serveur :

Comme suit :


Ensuite, on modifie le fichier resolv.conf qui se trouve dans le répertoire /etc/ de cette manière :


Enfin, on se rend dans les fichiers /etc/hostname et /etc/hosts pour modifier le nom de notre serveur tel qu’indiqué plus haut au niveau des fenêtres de configuration kerberos.  


Après toutes ces modifications, pour qu’elles soient prises en compte, on redémarre le serveur avec la commande « reboot » ou « shutdown –r now » :


De retour sur notre serveur, on peut vérifier si l’adresse IP a été modifié avec la commande « ifconfig ».

Maintenant, nous allons poursuivre avec la mise en place de notre contrôleur de domaine par la synchronisation des horloges entre les futures machines qui vont se connecter dans notre domaine. La synchronisation du temps est nécessaire à l’authentification kerberos ; pour ce faire on entre les commandes suivantes : 

Au lieu de « ntpdate –B 0.asia.pool.ntp.org » on peut aussi utiliser à la place « ntpdate –B 0.uk.pool.ntp.org » par exemple, ou tout autre serveur de temps disponible ; le site web https://ntppool.org donne une liste des différents serveurs de temps fiable à travers le monde dont on peut se servir.

Ensuite, nous allons installer quelques paquets supplémentaires toujours nécessaires pour la suite de notre configuration :

Puis, par précaution, on fait la sauvegarde du fichier /etc/samba/smb.conf,  

Avant de poursuivre avec la commande « samba-tool domain provision –use-rfc2307 –interactive » pour paramétrer la création de notre domaine, cette commande nous invite à renseigner également des informations comme  le mot de passe du compte administrateur du domaine et on peut aussi renseigner l’adresse DNS qu’on souhaite transférer à travers notre serveur, dans notre cas, on va entrer 8.8.8.8 l’une des adresses IP de Google.

(Ps : le mot de passe de l’administrateur du domaine doit respecter certaines règles de complexité, comme : le mot de passe doit avoir au moins une majuscule, au moins un chiffre et doit faire au moins huit caractères de long.)

Une fois toutes les informations renseignées, l’initialisation du paramétrage de notre domaine se termine.

On peut se rassurer que le paramétrage a bien été fait en vérifiant qu’un nouveau fichier smb.conf a été créé.

A présent, on va supprimer l’adresse IP 8.8.8.8 et la ligne nameserver 8.8.8.8 qu’on a  renseigné plus haut respectivement dans les fichiers /etc/network/interfaces et /etc/resolv.conf :


Puis on redémarre à nouveau notre serveur.

Maintenant, on redémarre le service smbd avec la commande « service smbd restart » et aussi,  on doit supprimer les processus supplémentaires en cours d’exécution via la commande « kill » suivi du numéro de l’identifiant du processus à arrêter :

Ensuite, nous entrons les commandes suivantes «host –t SRV _ldap._tcp.jg.blog», «host –t SRV _kerberos._udp.jg.blog» et «host –t A controleur.jg.blog» pour vérifier si notre service DNS est bien configuré et fonctionnel :

On créé en suite un lien symbolique (après avoir effectué éventuellement une sauvegarde du fichier d’origine de kerberos) pour que si par la suite, on effectue des modifications concernant kerberos ça puisse se répliquer directement sur son fichier de configuration. 

Il ne nous reste plus qu’à redémarrer notre serveur une dernière fois pour terminer notre configuration (pour ceux qui ont compté c’est le troisième redémarrage 😊) ;

Nous allons à présent nous rassurer que notre contrôleur de domaine est bien en place, déjà avec la commande « smbclient –L controleur.jg.blog –U% » pour voir le nom du domaine, les dossiers de partage, et même le nom du serveur qui fait office de contrôleur de domaine.  

Puis, on teste l’effectivité de la connexion à un dossier de partage Samba par exemple sur le dossier netlogon :

A présent, on va créer un compte utilisateur (du nom de jacques.goueth) qui pourra rejoindre notre domaine JG.BLOG avec la commande  « smbpasswd –a jacques.goueth » ;  

Avec la commande « pdbedit –L » on peut obtenir les informations des différents comptes  utilisateurs présents dans notre domaine.

Maintenant nous nous rendons sur un ordinateur Windows par exemple, et on va essayer de nous connecter à notre domaine nouvellement créé. 

Pour ce faire, on se rend tout d’abord au niveau de l’option de Paramètres Réseau et Internet

Puis, on sélectionne l’option Modifier les options d’adaptateur,

Ensuite, on sélectionne la carte réseau qui est connecté à notre réseau local (où se trouve notre contrôleur de domaine) et après un clic droit, on se rend au niveau de l’option Propriétés ;
Et on doit sélectionner Protocole Internet version 4 (TCP/IPv4) :

Pour indiquer l’adresse IP de notre contrôleur de domaine comme DNS principal à utiliser au niveau de notre ordinateur sur lequel on va se connecter à un compte utilisateur du domaine.
Une fois qu’on a validé l’adresse DNS, on se rend cette fois-ci au niveau du Panneau de configuration et on choisi l’option Système :

Puis, on choisi Modifier les paramètres ; 

Ensuite, nous cliquons sur le bouton Modifier

Et on renseigne le nom de notre domaine avant de cliquer sur OK ;


Pour rejoindre le domaine, on a besoin de renseigner le nom et le mot de passe d’un compte utilisateur déjà présent dans le domaine, dans notre cas, on va entrer les identifiants du compte administrateur puis cliquer sur OK

Si les identifiants correspondent avec les informations d’un compte utilisateur autorisé, on rejoint sans problème le domaine JG.BLOG :

Enfin, on doit redémarrer l’ordinateur après avoir éventuellement fermé toutes les fenêtres pour finaliser l’opération.  



Et l’ordinateur redémarre, 

Une fois que l’ordinateur a redémarré, nous nous connectons à notre compte jacques.goueth sur le domaine JG.BLOG :


Au bout d’un certain laps de temps, on arrive donc sur notre session de compte utilisateur ;

Et en nous rendant au niveau du partage réseau, on a accès à notre serveur et on peut y voir les deux dossiers de partages présents pour le moment dessus.

On se rend justement sur notre serveur et on va y ajouter quelques dossiers supplémentaires, 

Et aussi comme on n’aura pas besoin des dossiers netlogon et sysvol pour la suite, on va les rendre inaccessibles (du moins pas directement ;) ) en ajoutant au niveau des sections qui concerne les deux répertoires la variable browseable = No dans notre fichier smb.conf qui est le fichier de configuration du service de partage Samba, c’est au niveau de ce même fichier que nous allons ajouter les informations pour les dossiers Dossier1 et Dossier2 que l’on souhaite ajouter au partage, ceci se fait avec les variables path pour indiquer le chemin de destination du répertoire concerné, browseable avec le choix Yes si on veut que le dossier soit visible et No pour le contraire, on a aussi recours à la variable read only pour choisir si les utilisateurs qui ont accès à ce dossier puissent y apporter des modifications (si la variable est égal à No) ou non (si la variable est égale à Yes  ; oui je sais, en gros un Non pour dire Oui et un Oui pour dire Non 😶) et enfin la variable valid users pour définir les autorisations d’accès au dossier à un utilisateur en particulier ou groupe d’utilisateur seulement. 
   
En se rendant à nouveau sur notre ordinateur qui est connecté au domaine, on aperçoit cette fois-ci nos deux dossiers tels que définit dans le fichier de configuration smb.conf.

Et comme on l’a spécifié précédemment dans notre fichier de configuration, l’utilisateur jacques.goueth avec lequel on est connecté en ce moment à l’autorisation d’accès au répertoire Dossier1, et peut tout aussi toujours dans le Dossier1 créer des fichiers, des sous-répertoires, copier des éléments, et y apporter toutes autres formes de modifications possibles,   

Mais par contre l’utilisateur jacques.goueth n’a pas l’autorisation pour accéder au répertoire Dossier2, raison pour laquelle si on fait un essai dessus, on reçoit un message de la sorte :

A présent, on va s’intéresser à la configuration de profils itinérants ; pour ceux qui se posent la question :

Qu’est-ce qu’un profil itinérant ?

Un profil itinérant c’est un compte utilisateur qui conserve ses informations quelque soit l’ordinateur sur lequel il est ouvert sur le réseau, ce type de compte se charge depuis le serveur ou contrôleur de domaine, l’avantage de ce type de compte c’est qu’il n’est pas fonction de l’ordinateur local sur lequel il est ouvert mais plutôt du serveur sur lequel il se charge, d’où le gros avantage que toutes les informations renseignées sur ce compte sont sauvegardées sur le serveur et pourront être restituer à n’importe quel moment sur le réseau et quelque soit l’ordinateur sur lequel on va ouvrir la session du profil en question ; donc le propriétaire d’un profil itinérant même s’il arrive que par malheur, il vient à égarer son ordinateur 😭, il pourra toujours retrouver ses informations depuis le contrôleur de domaine 😃.

Pour configurer des profils itinérants, on va commencer par ajouter deux autres dossiers supplémentaires Profils (qui va sauvegarder les dernières activités telles que le background, les fichiers, les dossiers, et autres tâches effectuées sur le profil) et Datas (qui va sauvegarder le contenu du disque dur réseau associé au profil en question) au niveau de notre serveur, mais aussi apporté quelques modifications à notre fichier de configuration smb.conf :


(Ps : le symbole ‘ $ ’ juste après Profils et Datas est en quelque sorte un équivalent de la variable browseable = No, c’est juste pour indiquer à Samba que nos répertoires restent cachés.)

Puis, on va se connecter sur notre ordinateur Windows avec le compte administrateur cette fois-ci :


Le deuxième élément dont on aura besoin pour mener à bien la configuration de nos profils itinérants est un ensemble d’outils appelés RSAT. 

Qu’est-ce qu’on appel des outils RSAT ?

RSAT pour Remote Server Administration Tools, est une collection complète d’outils fournie par Microsoft qui permet aux administrateurs systèmes de gérer à distance les rôles et les fonctionnalités d’un serveur Active Directory depuis une station cliente de Windows et généralement aussi ces outils permettent la délégation de l’administration depuis un poste client sans passer par le serveur d’administration.

(Ps : il est important de souligner aussi que les outils RSAT peuvent être installés uniquement sur les éditions professionnelles ou entreprises de Windows.)

C’est donc à l’aide de ces outils que nous allons générer des profils itinérants sur notre serveur. 

Nous allons tout d’abord les installer, pour ce faire, on se rend sur le navigateur internet de notre ordinateur client : 

Puis, on clic sur le lien pour lancer le téléchargement, 

On précise la version que l’on souhaite installer ;

Et il ne nous reste plus qu’à appuyer sur le bouton OK pour démarrer le téléchargement.

Une fois le téléchargement terminé, nous procédons à l’installation du logiciel (c’est un logiciel Windows, donc pas trop de difficulté pour l’installation faut juste cliquer sur « suivant » 😜)

Une fois l’installation terminée, on se rend dans le menu des Programmes et fonctionnalités puis on choisi l’option Activer ou désactiver des fonctionnalités Windows 

Ensuite, nous sélectionnons la fonctionnalité qui est en rapport avec les services Active Directory, 

Puis, il ne nous reste qu’à démarrer la fenêtre des outils RSAT qui nous intéresse. Commençons avec la commande dsa.msc par exemple : 

Depuis cette fenêtre, nous pouvons voir les informations sur les différents comptes utilisateurs disponibles sur notre domaine JG.BLOG (pour ceux qui sont habitués à travailler sur du Windows Server, avec ces outils ils ne seront pas trop dépaysés même comme l’AD cette fois-ci est plutôt sur un serveur GNU/Linux 😎)

On peut tout faire (ou presque tout faire) comme sur notre serveur, nous pouvons par exemple créer un nouvel utilisateur : 



Pour créer un profil itinérant, nous sélectionnons juste un compte utilisateur déjà existant puis au niveau des propriétés du compte en question, il faut se rendre sur l’onglet Profil et définir le chemin du profil (en fait le dossier où seront sauvegardées les informations relatives au profil) ainsi que le dossier de base du profil (qui n’est rien d’autre que le disque de stockage réseau lié au profil).

Pour vérifier que le profil est bien itinérant, il suffit de se rendre dans profil des utilisateurs et vérifier que nous apercevons bien la mention « Itinérant » dans les onglets Type et Statut qui se trouvent à proximité de notre compte concerné. 

Et enfin, en ce qui concerne le disque dur réseau associé au compte en question, il suffit juste d’aller vérifier au niveau des Emplacements réseau :

Et voilà, notre compte utilisateur est bel et bien maintenant un profil itinérant.

On peut tout aussi à l’aide des outils RSAT, créer un groupe d’utilisateur, modifier des informations, supprimer des comptes et autres, créer une unité d’organisation, … 

Nous pouvons même aller encore plus loin en créant par exemple une stratégie de groupe GPO (Group Policy Object) pour l’ensemble de nos comptes utilisateur du domaine JG.BLOG.

Pour ce faire, cette fois-ci, on va ouvrir une nouvelle fenêtre avec la commande mmc :

Ensuite, sélectionner Ajouter/Supprimer un composant logiciel enfichable ,

Puis, nous choisissons Editeur de gestion de stratégie de groupe ; 

Nous devons sélectionner l’objet de stratégie de groupe associé à notre domaine JG.BLOG :



Une fois que c’est fait, nous cliquons sur le bouton Terminer, puis Ajouter et enfin OK.


Bien, a présent supposons par exemple qu’on souhaite mettre en place une stratégie de groupe qui interdit systématiquement l’utilisation de stockages amovibles (clés USB, disques durs externes, cartes mémoires et autres) sur l’ensemble de notre réseau pour que nos différents comptes clients ne puissent s’échanger des informations (fichiers, documents, …) qu’à travers les dossiers de partage de notre contrôleur de domaine.

Pour ce faire, on sélectionne tour à tour : Stratégie Default Domain Policy > Configuration Utilisateur > Stratégies > Modèles d’administration > Système > Accès au stockage amovible > Toutes les classes de stockage amovible.

Puis, on sélectionne l’option Activé et OK pour appliquer la stratégie de groupe.

Ainsi, pour tous les ordinateurs connectés au sein du domaine, les ports USB sont en quelques sortes « désactivés ». Si les utilisateurs souhaitent partager leurs documents et tous autres fichiers, ils savent quoi faire 😁.

À présent, vous savez comment installer, configurer et mettre en place un contrôleur de domaine sur un système GNU/Linux grâce notamment à Samba, mais aussi comment y configurer des comptes utilisateurs classiques, et même itinérants, et enfin comment y définir une stratégie de groupe GPO via les outils RSAT. 

Merci d’avoir suivi le tutoriel jusqu’à la fin.

À très bientôt !!! 

Aucun commentaire :

Enregistrer un commentaire