Active Directory

De DiouxX's Wiki
Révision datée du 27 juin 2017 à 11:14 par Ddevleeschauwer (discussion | contributions) (Intégration d'un serveur Linux à l'AD)
Aller à : navigation, rechercher
Cette page regroupe un ensemble 'information sur l'installation,configuration, interaction avec l'Active Directory Windows

Interaction

Intégration d'un serveur Linux à l'AD


Configuration du système avant intégration

On va d'abord mettre à jour le système

Konsole.png
[root@ordi ~]# apt update && apt upgrade -y


BlocNotes.png
À noter !
S'assurer d'avoir une connexion SSH en root car nous allons désactiver les autres sources d'authentifications s'il y en a déjà configurées.


  • Modifier le fichier /etc/hosts pour que le nom de la machine correspondent au nom du domaine à rejoindre.


Konsole.png
[root@ordi ~]# nano /etc/hosts


127.0.1.1       yourmachine.domain.be yourmachine


BlocNotes.png
À noter !
Modifier les informations pour qu'elles correspondent à votre nom de machine et de domaine


  • Au besoin, modifier le fichier /etc/nsswitch.conf pour retirer toutes occurrences de connexion ldap


  • S'assurer que le dns pointe sur le serveur AD en modifiant au besoin le fichier /etc/resolv.conf
domain domain.be
search domain.be
nameserver IP-AD


Installation des paquets nécessaire à l'intégration

Pour installer et configurer les différents paquets nécessaire à l'authentification des utilisateurs avec notre AD, nous allons nous aider du script suivant :

#!/bin/bash

# This script should join Debian Jessie (8) to an Active Directory domain.
echo "Please authenticate with your sudo password"
sudo -v

if ! $(sudo which realmd 2>/dev/null); then
    sudo apt install krb5-user adcli packagekit realmd -y
fi

if ! $(sudo which ntpd 2>/dev/null); then
    sudo apt install ntp -y
fi

sudo mkdir -p /var/lib/samba/private

echo "Please enter the domain you wish to join: "
read DOMAIN

echo "Please enter a domain admin login to use: "
read ADMIN

sudo realm join --user=$ADMIN $DOMAIN

if [ $? -ne 0 ]; then
    echo "AD join failed.  Please run 'journalctl -xn' to determine why."
    exit 1
fi

sudo systemctl enable sssd
sudo systemctl start sssd

echo "session required pam_mkhomedir.so skel=/etc/skel/ umask=0022" | sudo tee -a /etc/pam.d/common-session

# configure sudo
sudo apt install libsss-sudo -y

echo "%domain\ admins@$DOMAIN ALL=(ALL) ALL" | sudo tee -a /etc/sudoers.d/domain_admins

echo "The computer is joined to the domain.  Please reboot, ensure that you are connected to the network, and you should be able to login with domain credentials."

Lors de l’exécution du script, en plus de l'installation des paquets, il sera demandé de renseigné les informations suivantes :

  • Le nom de domaine (ex: yourdomain.be)
  • Le login de l'administrateur du domaine (ex: Administrator)
  • Le mot de passe de l'administrateur du domaine

Une fois le script terminé, nous allons pouvoir passer à la configuration.


Configuration

Pour autoriser l'authentification des utilisateurs via notre AD, nous allons devoir modifier différents fichiers

  • Le fichier /etc/sssd/sssd.conf avec la ligne suivants :
 use_fully_qualified_names = False

Un redémarrage est nécessaire après cette modification.

  • Modifier la configuration du serveur SSH dans avec le fichier /etc/ssh/sshd_config en activant les 3 variable suivante:
# Kerberos options
KerberosAuthentication yes

# GSSAPI options
GSSAPIAuthentication yes
GSSAPICleanupCredentials yes


BlocNotes.png
À noter !
Cette modification permet d'activer l' authentification kerberos pour le service SSH.


Redémarrer le service SSH

Konsole.png
[root@ordi ~]# service ssh restart


Vérification

Pour vérifier le bon fonctionnement, nous allons pouvoir réaliser différents test

  • Vérifier que le serveur linux arrive à retrouver les informations d'un utilisateur dans l'AD


Konsole.png
[root@ordi ~]# getent passwd user


user:*:47401107:47400513:FirstName Name:/home/domain.be/user:/bin/bash


BlocNotes.png
À noter !
Dans la commande getent changer user par le nom d'un utilisateur dans l'AD


  • Vérifier la création de la home directory


Konsole.png
[root@ordi ~]# su - user


Création du répertoire « /home/domain.be/user »


  • Pour terminer, vérifier si vous arrivez à vous connecter en SSH avec l'utilisateur AD


Konsole.png
[user@ordi ~]$ ssh user@IP-serveur-linux