Active Directory : Différence entre versions

De DiouxX's Wiki
Aller à : navigation, rechercher
(Intégration d'un serveur Linux à l'AD)
m
 
(4 révisions intermédiaires par le même utilisateur non affichées)
Ligne 21 : Ligne 21 :
 
<br>
 
<br>
 
{{ Note | Modifier les informations pour qu'elles correspondent à votre nom de machine et de domaine }}
 
{{ Note | Modifier les informations pour qu'elles correspondent à votre nom de machine et de domaine }}
 +
<br>
 +
 +
* Au besoin, modifier le fichier {{ File | /etc/nsswitch.conf}} pour retirer toutes occurrences de connexion ldap
 
<br>
 
<br>
  
Ligne 45 : Ligne 48 :
  
 
if ! $(sudo which realmd 2>/dev/null); then
 
if ! $(sudo which realmd 2>/dev/null); then
     sudo aptitude install krb5-user adcli packagekit realmd -y
+
     sudo apt install krb5-user adcli packagekit realmd -y
 
fi
 
fi
  
 
if ! $(sudo which ntpd 2>/dev/null); then
 
if ! $(sudo which ntpd 2>/dev/null); then
     sudo aptitude install ntp -y
+
     sudo apt install ntp -y
 
fi
 
fi
  
Ligne 73 : Ligne 76 :
  
 
# configure sudo
 
# configure sudo
sudo aptitude install libsss-sudo -y
+
sudo apt install libsss-sudo -y
  
 
echo "%domain\ admins@$DOMAIN ALL=(ALL) ALL" | sudo tee -a /etc/sudoers.d/domain_admins
 
echo "%domain\ admins@$DOMAIN ALL=(ALL) ALL" | sudo tee -a /etc/sudoers.d/domain_admins
Ligne 99 : Ligne 102 :
 
</pre>
 
</pre>
  
Un redémarrage est nécessaire après cette mmodification.
+
'''Un redémarrage est nécessaire après cette modification.'''
  
 
* Modifier la configuration du serveur SSH dans avec le fichier {{ File | /etc/ssh/sshd_config }} en activant les 3 variable suivante:
 
* Modifier la configuration du serveur SSH dans avec le fichier {{ File | /etc/ssh/sshd_config }} en activant les 3 variable suivante:
Ligne 114 : Ligne 117 :
 
{{ Note | Cette modification permet d'activer l' authentification kerberos pour le service SSH.}}
 
{{ Note | Cette modification permet d'activer l' authentification kerberos pour le service SSH.}}
 
<br>
 
<br>
Redémarrer le service SSH
+
Redémarrer le service SSH et SSSD
 
<br>
 
<br>
{{ Console root | service ssh restart }}
+
{{ Console root | service ssh restart && service sssd restart }}
 
<br>
 
<br>
  

Version actuelle datée du 12 octobre 2017 à 06:44

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 et SSSD

Konsole.png
[root@ordi ~]# service ssh restart && service sssd 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