Onglet Active Directory

La fonctionnalité Active Directory est assurée par le logiciel Samba 4[1] en mode Active Directory.

Depuis la version 4.4.6 de Samba, la personnalisation du calcul des identifiants pose problème sur un contrôleur de domaine :

https://wiki.samba.org/index.php/Updating_Samba#Failure_To_Access_Shares_on_Domain_Controllers_If_idmap_config_Parameters_Set_in_the_smb.conf_File

À partir de la version 2.6.1 d'EOLE, le module Seth utilise la version 4.5 de Samba.

Cette version de samba permet notamment la prise en compte de plusieurs DNS Forwarders[2] :

https://wiki.samba.org/index.php/Samba_4.5_Features_added/changed#Multiple_DNS_Forwarders_on_the_AD_DC

Ainsi, la liste complète des serveurs DNS renseignés dans l'interface de configuration du module est prise en compte (et plus seulement le premier de la liste).

À partir de la version 2.6.2 d'EOLE, le module Seth utilise la version 4.7 de Samba.

Cette version est la première à supporter officiellement le RODC[3]. Pour un contrôleur de domaine additionnel, l'activation de ce paramètre est accessible en mode expert.

Attention

À partir d'EOLE 2.6.2, l'instance échoue si la version de Samba installée sur le module n'est pas celle attendue.

Les paquets samba doivent impérativement être mis à jour via Maj-Auto avant l'instance.

Rôle du serveur Active Directory

Cette variable permet de choisir le Rôle du serveur :

  • contrôleur de domaine ;
  • serveur membre d'un domaine existant.

Dans le cas où le serveur à mettre en place a le rôle de contrôleur de domaine, il faut définir si celui-ci est le contrôleur de domaine principal ou si il s'agit d'un contrôleur additionnel.

Imposer le SID du domaine AD à son initialisation

Dans le cas d'une migration ou d'une réinstallation d'un contrôleur de domaine principal, il est possible de forcer le SID[4] à utiliser pour le domaine.

À partir de la version 2.6.2, forcer le SID s'effectue en deux temps :

  • en passant la variable Imposer le SID du domaine AD à son initialisation à oui ;
  • en renseignant la variable SID du domaine AD.

Après sauvegarde et instance, ces deux variables sont verrouillées et ne peuvent plus être modifiées.

Attention

La prise en compte du SID forcé est réalisée lors de l'initialisation de l'annuaire Active Directory.

Cette variable n'a plus d'utilité une fois le module instancié.

Attention

Le SID n’est pas validé au moment de la saisie. Il est nécessaire de s’assurer qu’il est correct avant de sauvegarder.

Contrôleur de domaine en lecture seule

Dans le cas d'un contrôleur de domaine additionnel, il est possible de préciser si celui-ci est en lecture seule (RODC[3]) ou non.

Forcer le positionnement dans un site AD à l'initialisation

À partir de la version 2.6.2, il est possible de demander à ce qu'un contrôleur de domaine additionnel soit rattaché à un site Active Directory particulier.

Cette demande s'effectue en deux temps :

  • en passant la variable Forcer le positionnement de ce contrôleur de domaine dans un site existant à oui ;
  • en renseignant la variable Site de destination de ce contrôleur de domaine.

Après sauvegarde et instance, ces deux variables sont verrouillées et ne peuvent plus être modifiées.

Attention

La prise en compte du domaine de rattachement est réalisée lors de l'initialisation de l'annuaire Active Directory.

Cette variable n'a plus d'utilité une fois le module instancié.

Attention

Le site doit impérativement avoir été déclaré au préalable sur le contrôleur de domaine principal.

Truc & astuce

Si le contrôleur de domaine principal est un module Seth, la déclaration d'un site s'effectue facilement grâce à la fonction bash samba_update_site :

1
. /usr/lib/eole/samba4.sh 
2
samba_update_site monsite 10.1.1.0/24

Méthode de calcul des uid-gid

Dans le cas d'un serveur membre d'un domaine existant, il est possible de personnaliser la méthode de calcul des UID / GID (IDMAP[5]) en passant la variable Utiliser la méthode par défaut de calcul des uid-gid à non.

Plusieurs domaines cibles avec des limites haute et basse d'adresse IP et des méthodes de calcul différentes (rid, autorid, ad, ldpa, tdb, nss) peuvent être déclarés.

Remarque

Depuis la version 4.4.6 de Samba, la personnalisation du calcul des identifiants pose problème sur un contrôleur de domaine.

https://wiki.samba.org/index.php/Updating_Samba#Failure_To_Access_Shares_on_Domain_Controllers_If_idmap_config_Parameters_Set_in_the_smb.conf_File

Mise en œuvre du service DNS

Sur les contrôleurs de domaine, un service DNS[6] est obligatoirement mis en place.

Le service DNS peut être assuré par un composant interne de Samba (par défaut) ou délégué à Bind9[7].

Le choix du composant à utiliser s'effectue à l'aide de la variable : Utiliser le service DNS interne de Samba.

En laissant à oui, le choix par défaut, le service DNS est assuré par le composant interne de Samba. En passant à non, Bind9 est activé et la configuration mise en place pour le lien entre Samba et Bind9.

Le comportement des deux services est similaire. L’utilisation de Bind9 ne change pas la manière d’ajouter les machines à la base de données DNS de Samba qui en garde la gestion. Bind9 interroge cette base via un greffon.

Attention

Dans une infrastructure mettant en œuvre plusieurs contrôleurs de domaine et la synchronisation des données de l’AD, il est impératif de mettre en œuvre le même type de service DNS pour tous les contrôleurs de domaine.

Dans le cas contraire, la réplication avec la commande samba-tool drs provoquera une erreur.

Environnement réseau

Adresse des contrôleurs du même domaine

Si plusieurs contrôleurs de domaine doivent être mis en place, il est impératif qu'ils se connaissent les uns les autres.

La variable Adresse IP des contrôleurs de domaine faisant partie du même domaine Active Directory permet de déclarer les adresses IP des autres contrôleurs du domaine.

Truc & astuce

Sur EOLE 2.6.2, cette variable est intitulée : Adresse IP des contrôleurs de domaine en relation avec ce contrôleur de domaine Active Directory.

Contrôleur de référence pour le volume SYSVOL

Dans le cas de la mise en œuvre d'un contrôleur de domaine additionnel, il est recommandé de déclarer le contrôleur de domaine principal en tant référence pour le volume SYSVOL.

Remarque

Dans le monde Microsoft, les contrôleurs de domaine sont habituellement tous au même niveau. Ceci est possible grâce à la réplication de l'annuaire Active Directory et à l'utilisation d'un système de fichiers distribué (DFS[8]).

À l'heure actuelle, la réplication du partage SYSVOL[9] n'est pas supportée par Samba. De ce fait, la mise en œuvre d'une architecture multi-DC[10] avec le module Seth nécessite de définir un contrôleur de domaine principal qui héberge les fichiers SYSVOL de référence et des contrôleurs de domaine additionnels sur lesquels ces fichiers sont synchronisés à intervalle régulier via rsync[11].

Restrictions d'accès réseau

Le bon fonctionnement d’une infrastructure basée sur un serveur Active Directory nécessite un certain nombre d’interactions avec d’autres serveurs et les postes clients.

Les ports suivants sont concernés par ces interactions :

  • 53 (DNS)

  • 5353 (broadcast DNS)

  • 123 (NTP)

  • 88 (Kerberos)

  • 445 (SMB CIFS)

  • 135 (MSRPC)

  • 3268 (Global Catalog)

  • 3269 (Global Catalog)

  • 464 (kpasswd)

  • 389 (ldap)

  • 636 (ldaps)

Les ports suivants peuvent être ouverts si nécessaires mais concernent un protocole obsolète :

  • 137 (NetBIOS)

  • 138 (NetBIOS)

  • 139 (NetBIOS)

Restriction d'accès

En mode expert, il est possible de restreindre l'accès réseau sur les services Samba et LDAP à des sources spécifiques.

Remarque

Sur un module Seth, l'accès aux services Samba et LDAP est ouvert à toutes les sources par défaut.

Restriction d’accès en 2.6.1

En 2.6.1, la restriction d'accès n'est effective que si les différentes variables d'autorisations d'accès sont saisies.

Ces différentes variables supplémentaires donnent la possibilité de restreindre les accès à des ensembles de machines potentiellement différentes pour des ensembles de services.

Les clients et serveurs du domaine doivent accéder aux services de samba-ad. D'autres machines peuvent avoir besoin d'accéder à l'annuaire Active Directory (LDAP).

Restriction d’accès en 2.6.2

À partir d'EOLE 2.6.2, ne subsiste qu’une liste unique pour les sources pouvant accéder à tous les services.

La liste pour les sources ne nécessitant uniquement un accès au service LDAP est conservée.

Ports NetBIOS

En mode expert, il est possible d'autoriser ou non l'accès au serveur via les ports NetBIOS.

Remarque

Sur un module Seth, les services historiques NetBIOS[12] (ports 137 à 139) sont désactivés par défaut.

Personnalisation des ports RPC

À partir d'EOLE 2.6.2, les ports de communication RPC[13] sont personnalisables.

Si ils ne sont pas configurés, le comportement antérieur est conservé par Samba : le premier port libre dans la plage 1024-5000 est utilisée.

Partage de fichiers

Activation du module de prise en charge des corbeilles

Par défaut lorsque l'on supprime un fichier depuis un partage Samba, il est directement supprimé.

L'option Charger le module recycle pour la prise en charge des corbeilles paramètre Samba afin que les fichiers supprimés soient déplacés dans un répertoire tampon avant la suppression définitive.

Le nom proposé par défaut, .corbeille, définit un répertoire qui sera masqué pour les utilisateurs.

Il est possible de rendre ce répertoire accessible en supprimant le . dans le nom du répertoire.

La durée de conservation des fichiers supprimés est paramétrable.

Remarque

Les fichiers déplacés dans la corbeille sont inclus dans le calcul de l'espace disque occupé par l'utilisateur. Pour limiter les dépassements de quota disque, il est conseillé de paramétrer une durée de conservation assez courte.

Attention

L'activation du module Samba recycle, n'active pas automatiquement la corbeille sur les répertoires partagés.

Pour activer la corbeille sur les répertoires personnels des utilisateurs, il faut passer la variable Activer la corbeille pour le partage "homes" à oui.

Il est également possible de l'activer sur les répertoires partagés, mais cela s'effectue au cas par cas.

Partages utilisateur

Les partages utilisateur et les autres répertoires partagés peuvent être locaux et/ou hébergés sur d'autres serveurs Active Directory.

Sur le serveur local, il est possible d'activer ou non l'hébergement des partages « homes » et « profiles » des utilisateurs.

Dans le cas où l'on ne souhaite pas héberger ces répertoires localement, il est possible d'indiquer le nom d'hôte d'une machine du domaine (un serveur membre par exemple) sur lesquels ils seront stockés.

En mode expert, si les partages et/ou les profils sont gérés localement, il est possible de personnaliser le répertoire dans lequel ils seront stockés sur le serveur.

Si le module recycle est activé, il est également possible d'activer la corbeille Samba pour les répertoires personnels des utilisateurs

Répertoires partagés

Passer la variable Configurer des répertoires partagés à oui permet de déclarer un ou plusieurs partages additionnels. Pour ajouter un ou plusieurs partages il faut cliquer sur le bouton + Nom du répertoire partagé.

Les options à renseigner pour chaque partage supplémentaire sont :

  • le Nom du répertoire partagé ;
  • le Chemin du partage : le chemin Unix du répertoire à partager ;
  • la Description du partage ;
  • Le partage peut être écrit : le partage peut être défini en lecture/écriture ou en lecture seule (option writeable) ;
  • Le partage peut être parcouru : le partage est visible dans le voisinage réseau ou non (option browseable) ;
  • le Masque de permissions pour les fichiers (optionnel) : masque par défaut des fichiers créés (option create mask) ;
  • le Masque de permissions pour les répertoires (optionnel) : masque par défaut des répertoires créés (option directory mask) ;
  • la possibilité d'Activer la corbeille pour le partage (proposé uniquement si le module recycle est activé).
Remarque

Les répertoires déclarés sont pris en compte et créés sur le disque lors de l'instanciation ou la reconfiguration du module.

Truc & astucePartages manuels

Le fichier de configuration /etc/samba/smb.conf est re-généré à chaque reconfiguration du serveur (commande reconfigure).

Il est possible de déclarer des partages supplémentaires manuellement en plaçant un fichier (possédant l'extension .conf) décrivant le partage dans le répertoire /etc/samba/conf.d/ .

Sa prise en compte nécessite un reconfigure.

Archivage et sauvegarde des données

Un problème de corruption de la base Active Directory peut nécessiter de restaurer une sauvegarde sur le contrôleur de domaine principal et de relancer la synchronisation de tous les autres contrôleurs.

Attention

Il est primordial de disposer d'une archive ou d'une sauvegarde récente des données du serveur Active Directory.

Archivage local

La variable Archiver les données du DC permet d'activer l'exécution quotidienne d'un script d'archivage local et de choisir la destination de stockage de l'archive.

Les données du serveur Active Directory sont ainsi régulièrement sauvegardée (par défaut 1 fois par jour) dans le répertoire spécifié dans Destination de la sauvegarde.

Les éléments concernés par cette archive sont les suivants :

  • la configuration de Samba (/etc/samba) ;
  • le répertoire SYSVOL[9] (/home/sysvol) ;
  • les bases TDB[14] de Samba (/var/lib/samba/private).
Remarque

Le script utilisé pour l'archivage des données est inspiré d'un script mis à disposition par les développeurs du logiciel Samba : https://wiki.samba.org/index.php/Back_up_and_Restoring_a_Samba_AD_DC.

En mode expert, il est possible de spécifier la périodicité et la durée de rétention[15] de la sauvegarde locale.

Sauvegarde locale ou distante

Il est possible de mettre œuvre un système de sauvegarde complet en installant le logiciel Bareos[16] sur le serveur.

La mise en place de cet outil s'effectue manuellement à l'aide de la commande suivante :

# apt-eole install eole-bareos

Après installation des paquets, la configuration du service de sauvegarde se fait dans l'interface de configuration du module à plusieurs endroits.

L'archivage du DC soit activé dans l'onglet : Archiver les données du DC doit être à oui.

Par défaut la sauvegarde Bareos est activée (Activer la sauvegarde du serveur à oui dans l'onglet Services) et la tâche de sauvegarde des données du serveur Active Directory est prise en compte (Sauvegarder les archives avec Bareos à oui dans l'onglet Active Directory).

Dans cette configuration, les éléments suivants sont directement sauvegardés par Bareos avec le support des ACL :

  • la configuration de Samba (/etc/samba) ;
  • le répertoire SYSVOL[9] (/home/sysvol).

L'export des bases TDB est quant à lui géré par eole-schedule[17] avant l'exécution des sauvegardes.

Lorsque la sauvegarde des archives avec Bareos est activée la durée de rétention configurable en mode expert ne concerne que le script d'export des bases TDB de Samba.

La configuration à proprement parler des sauvegardes (distante, locale, durée de rétention, taux de compression…) se fait dans les onglets Directeur bareos et Stockage bareos.