L’installation d’un serveur Samba-AD sur CentOS 7 est une excellente solution pour gérer les identités et les politiques au sein d’un réseau, en simulant ainsi les fonctionnalités d’un Active Directory de Microsoft. Ce guide détaillé vous accompagnera étape par étape, depuis la préparation initiale du système avec CentOS 7 jusqu’à la finalisation de l’installation de Samba-AD. Vous apprendrez comment configurer les interfaces réseau pour une connectivité optimale, désactiver SELinux pour éviter les conflits de permissions, et ajuster les paramètres de votre pare-feu pour sécuriser votre serveur. En suivant ce tutoriel, vous serez en mesure de mettre en place un domaine fonctionnel et sécurisé, prêt à intégrer des clients Windows et à gérer efficacement les utilisateurs et les ressources réseau.
1.Préparation de CentOS7
Configuration:
- Nom de domaine : dc1.domaine.lan
- Administrateur CentOS : root
- Administrateur Samba : administrator
Configuration réseau:
- CentOS:
- eth0: NAT, DHCP (accès internet)
- eth1: 192.168.64.1/24 (interne)
- Windows7:
- eth0: 192.168.64.10/24 (interne)
1.1 Changement du nom d’hôte :
- Modifiez le fichier /etc/hostname pour changer le nom d’hôte :
vim /etc/hostname
- Vérifiez la modification :
cat /etc/hostname
1.2 Modification du fichier /etc/hosts,
Modifiez le fichier /etc/hosts pour y ajouter les informations nécessaires, tout en veillant à ne pas modifier les lignes contenant localhost :
vim /etc/hosts
1.3 Configuration de l’adresse IP statique
Dans cette configuration, nous allons utiliser DHCP pour l’interface eth0 (ou ens32 i vous utilisez VMware) afin d’accéder à Internet.
Modifiez le fichier de configuration réseau pour l’interface eth0 (ou ens32 pour VMware) :
nano /etc/sysconfig/network-scripts
Pour l’interface eth1 (ou ens33 si vous utilisez VMware), nous allons configurer une adresse IP statique (192.168.64.1/24).
nano /etc/sysconfig/network-scripts
Aucune configuration de proxy n’est nécessaire !
Vous pouvez également utiliser l’outil nmtui pour configurer le réseau de manière interactive.
Une fois la configuration terminée, vérifiez les paramètres réseau avec la commande suivante
ip a
1.4 Désactivation de SELinux
Pour éviter les conflits de permissions, assurez-vous que SELinux est désactivé. SELinux (Security-Enhanced Linux) est un module de sécurité intégré dans le noyau Linux qui fournit un mécanisme de contrôle d’accès basé sur des politiques de sécurité. Il renforce la sécurité du système en appliquant des politiques strictes qui contrôlent quelles actions chaque programme et utilisateur peuvent effectuer sur le système.
Dans certains cas, SELinux peut restreindre des opérations légitimes, en particulier lors de configurations de réseau ou de services, ce qui peut entraîner des conflits de permissions. C’est pourquoi il est souvent recommandé de désactiver SELinux lors de configurations spécifiques pour éviter ces problèmes.
Ouvrez le fichier de configuration de SELinux :
vim /etc/selinux/config
Assurez-vous que la ligne suivante est bien présente et configurée comme suit :
selinux=disabled
Redémarrage et vérification de SELinux
reboot
Une fois le système redémarré, vérifiez le statut de SELinux avec la commande suivante :
sestatus
Activer le mode routeur et le NAT
Activer temporairement le mode routeur
Nous allons configurer le NAT (Network Address Translation) en utilisant firewalld. firewalld est un outil de gestion des pare-feux sous Linux, qui permet de configurer et de gérer les règles de pare-feu de manière dynamique, sans avoir à redémarrer le service. Il utilise des zones pour définir le niveau de confiance des connexions réseau et offre une interface simple pour appliquer des politiques de sécurité réseau.
Pour activer le transfert IP temporairement, utilisez la commande suivante :
sysctl -w net.ipv4.ip_forward=1
Activer le mode routeur de manière permanente
Pour rendre ce changement permanent, ajoutez la ligne suivante dans le fichier de configuration :
Ouvrez le fichier /etc/sysctl.conf :
vim /etc/sysctl.conf
Ajoutez ou modifiez la ligne suivante :
net.ipv4.ip_forward = 1
Enregistrez et fermez le fichier.
Appliquer les changements
Pour appliquer les changements immédiatement, exécutez la commande suivante :
/sbin/sysctl -p
ou
Redémarrez le système avec :
reboot
Activer le NAT
Le nœud interne doit maintenant pouvoir accéder à l’Internet public via le serveur de passerelle.
Pour cela, l’IP masquerading doit être activé avec iptables. Assurez-vous d’utiliser la bonne adresse IP et l’interface réseau appropriée.
Activez le NAT en exécutant la commande suivante :
firewall-cmd --permanent --direct --passthrough ipv4 -t nat -I POSTROUTING -o eth0 -j MASQUERADE -s 192.168.64.0/24 firewall-cmd --reload
Rechargez la configuration du pare-feu pour appliquer les changements :
firewall-cmd --reload
Vérification
Après avoir installé Windows et joint une machine au domaine, vous pouvez vérifier la connectivité à Internet en utilisant la commande suivante :
ping 8.8.8.8
Installation de Samba-AD sur CentOS 7
Configurer les règles de pare-feu
Commencez par configurer les règles de pare-feu nécessaires pour le bon fonctionnement de Samba-AD :
systemctl start firewalld systemctl enable firewalld
Ajoutez les ports nécessaires pour Samba-AD :
firewall-cmd --zone=public --add-port=53/tcp --add-port=53/udp --permanent firewall-cmd --zone=public --add-port=88/tcp --add-port=88/udp --permanent firewall-cmd --zone=public --add-port=135/tcp --permanent firewall-cmd --zone=public --add-port=389/tcp --add-port=389/udp --permanent firewall-cmd --zone=public --add-port=445/tcp --permanent firewall-cmd --zone=public --add-port=464/tcp --add-port=464/udp --permanent firewall-cmd --zone=public --add-port=636/tcp --permanent firewall-cmd --zone=public --add-port=3268/tcp --permanent firewall-cmd --zone=public --add-port=3269/tcp --permanent firewall-cmd --zone=public --add-port=50000-51000/tcp --permanent firewall-cmd --zone=public --add-port=49152-65535/tcp --permanent
Redémarrez le pare-feu pour appliquer les changements :
systemctl restart firewalld
Pour vérifier que les règles ont été correctement appliquées, utilisez la commande suivante :
firewall-cmd --list-ports
Désactivation d’Avahi-daemon
Désactivez le service avahi-daemon (protocole mDNS / bonjour) pour éviter les interférences :
systemctl stop avahi-daemon.service avahi-daemon.socket systemctl disable avahi-daemon.service avahi-daemon.socket
Ajouter le dépôt EPEL
yum update -y yum install -y epel-release yum install -y wget sudo screen nmap telnet tcpdump rsync net-tools bind-utils htop
Récupérer les paquets nécessaires pour Samba-AD
Téléchargez et installez la clé de signature RPM et configurez le dépôt YUM :
wget -O /etc/pki/rpm-gpg/RPM-GPG-KEY-TISSAMBA-7 http://samba.tranquil.it/RPM-GPG-KEY-TISSAMBA-7 rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-TISSAMBA-7
Créez un nouveau fichier de dépôt YUM :
echo "[tis-samba] name=tis-samba baseurl=http://samba.tranquil.it/centos7/samba-4.11/ gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-TISSAMBA-7" > /etc/yum.repos.d/tissamba.repo
Vérifiez l’empreinte de la clé avec sha256sum :
sha256sum /etc/pki/rpm-gpg/RPM-GPG-KEY-TISSAMBA-7 b3cd8395e3d211a8760e95b9bc239513e9384d6c954d17515ae29c18d32a4a11 /var/www/samba/RPM-GPG-KEY-TISSAMBA-7
Installez les paquets Samba-AD :
yum install -y samba samba-winbind samba-winbind-clients krb5-workstation ldb-tools bind chrony bind-utils samba-client python3-crypto
Instancier le domaine Active Directory Samba
Configurer Kerberos
Modifiez le fichier /etc/krb5.conf et remplacez son contenu par les lignes suivantes en précisant le domaine Active Directory de votre organisation (dans cet exemple, dc1.domaine.lan) :
[libdefaults] default_realm = DOMAINE.LAN dns_lookup_kdc = false dns_lookup_realm = false [realms] DOMAINE.LAN = { kdc = 127.0.0.1 }
Configurer Samba
Supprimez le fichier /etc/samba/smb.conf s’il existe déjà, car il sera régénéré par la commande d’instanciation :
rm -f /etc/samba/smb.conf
Configurez Samba avec le rôle de contrôleur de domaine en utilisant la commande suivante. Remplacez le nom du royaume Kerberos et le nom court du domaine (nom NetBIOS) par les valeurs appropriées :
samba-tool domain provision --realm=MYDOMAINE.LAN --domain MYDOMAINE --server-role=dc
Réinitialisez le mot de passe de l’utilisateur administrator :
samba-tool user setpassword administrator
Vérifiez la ligne dns forwarder = xxx.xxx.xxx.xxx dans votre fichier /etc/samba/smb.conf :
vim /etc/samba/smb.conf
Elle doit pointer vers un serveur DNS valide, par exemple :
dns forwarder = 1.1.1.1
Reconfigurer la résolution DNS pour la machine locale
Pour assurer que la machine locale utilise le serveur DNS Samba-AD, vous devez reconfigurer la résolution DNS.
Ouvrez le fichier de configuration de l’interface réseau concernée, par exemple /etc/sysconfig/network-scripts/ifcfg-xxxx, où xxxx représente le nom de l’interface réseau.
Remplacez ou ajoutez la ligne suivante pour définir le serveur DNS local :
DNS1=127.0.0.1
Relancer NetworkManager pour prendre en compte les changements
systemctl restart NetworkManager
Configurer Kerberos avec Samba
Pour assurer que Kerberos utilise la configuration correcte, supprimez le fichier krb5.conf de Samba et remplacez-le par un lien symbolique vers le fichier /etc/krb5.conf :
rm -f /var/lib/samba/private/krb5.conf ln -s /etc/krb5.conf /var/lib/samba/private/krb5.conf
Activer Samba pour le démarrage automatique
Pour que Samba démarre automatiquement au prochain reboot, activez le service et démarrez-le immédiatement :
systemctl enable samba systemctl start samba
Redémarrer la machine
Redémarrez la machine pour que toutes les configurations soient prises en compte :
reboot
Tester Kerberos
Pour vérifier que Kerberos est correctement configuré, utilisez les commandes suivantes :
Connectez-vous avec le compte administrator que vous avez configuré précédemment en utilisant samba-tool pour définir le mot de passe. Si aucune erreur ne s’affiche ou si vous recevez un message concernant l’expiration du mot de passe, la configuration est correcte :
kinit administrator
Vérifiez le ticket Kerberos avec :
klist
Tester les DNS
Une fois votre configuration terminée, il est important de vérifier que votre serveur DNS fonctionne correctement. Pour ce faire, utilisez les commandes dig suivantes :
Pour tester la résolution DNS de Google via votre serveur local :
dig @localhost google.com
Pour vérifier la résolution DNS de votre domaine Active Directory :
dig @localhost srvads.domaine.lan
Pour tester l’enregistrement SRV de votre service LDAP sur le domaine :
dig -t SRV @localhost _ldap._tcp.domaine.lan
Ces tests vous permettront de confirmer que votre serveur DNS Samba-AD est correctement configuré et résout les requêtes comme prévu.
Joindre une machine au domaine et installer RSAT
Installation de Windows 7
- Installez Windows 7 sur la machine client.
- Configurez le réseau avec une adresse IP statique dans la même plage que votre serveur CentOS 7, par exemple : 192.168.64.10/24.
Joindre Windows au domaine
- Accédez aux paramètres système de Windows et sélectionnez l’option pour modifier le nom de l’ordinateur et rejoindre un domaine.
- Entrez le nom du domaine que vous avez configuré avec Samba-AD.
- Lorsque vous y êtes invité, entrez les identifiants de l’administrateur Samba (utilisateur administrator et le mot de passe configuré précédemment)
4.Redémarrez la machine Windows.
Connexion au domaine
Après le redémarrage, vous pouvez vous connecter au domaine en tant qu’administrateur Samba :
- Sélectionnez “Autre utilisateur” à l’écran de connexion.
- Entrez administrator comme nom d’utilisateur et utilisez le mot de passe configuré pour Samba.
Installation de RSAT
Pour gérer votre nouveau domaine Samba-AD, il est recommandé d’installer les outils d’administration à distance (RSAT) sur un poste Windows. Bien que la ligne de commande Samba soit efficace pour de nombreuses tâches d’administration, les interfaces graphiques RSAT offrent un complément pratique.
Étapes d’installation:
- Télécharger RSAT : Télécharger le pack d’outils RSAT depuis le site officiel de Microsoft.
- Installer RSAT : Une fois le téléchargement terminé, procédez à l’installation en suivant les instructions fournies par Microsoft.
- Activer les fonctionnalités Windows : Après l’installation, accédez au Panneau de configuration -> Programmes -> Programmes et Fonctionnalités. Cliquez sur le lien Activer ou désactiver des fonctionnalités Windows dans le menu de gauche. Dans la liste, sélectionnez les outils RSAT que vous souhaitez utiliser.
Vérification finale
Une fois RSAT installé, vous pourrez accéder à la console de gestion MMC pour effectuer les actions suivantes :
- Gestion DNS : Créer et supprimer des enregistrements DNS directement depuis la console DNS d’Active Directory.
- Gestion des utilisateurs et ordinateurs : Créer et supprimer des comptes utilisateurs ainsi que des comptes machine via la console Utilisateurs et Ordinateurs d’Active Directory.
- Gestion des GPO : Créer et gérer de nouvelles politiques de groupe (GPO) pour votre domaine.
Félicitations ! Si vous êtes parvenu jusqu’à cette étape, cela signifie que votre nouveau domaine Samba Active Directory est désormais opérationnel. Vous avez mis en place une infrastructure prête à gérer des utilisateurs, des ressources réseau, et des politiques de sécurité.
Bonne chance!
Mes sources d’inspiration:
How to Install and Configure Samba on CentOS 7
Installer et configurer Samba-AD sur CentOS7
How to Configure CentOS 7 Network Settings – Serverlab
Article suivant Installer les outils d’administration (RSAT) sous Windows 7.
Installer Samba 4 – Active Directory sous Linux – Ubuntu Debian – Jj World
Samba AD DC Port Usage – SambaWiki