Active Directory : Différence entre versions

De DiouxX's Wiki
Aller à : navigation, rechercher
m
 
(9 révisions intermédiaires par le même utilisateur non affichées)
Ligne 2 : Ligne 2 :
 
= Interaction =
 
= Interaction =
 
== Intégration d'un serveur Linux à l'AD ==
 
== Intégration d'un serveur Linux à l'AD ==
 
+
<br>
=== Configuration du système avant intégration ===
+
<big>'''Configuration du système avant intégration'''</big>
 +
<br>
 +
<br>
 
On va d'abord mettre à jour le système
 
On va d'abord mettre à jour le système
 
<br>
 
<br>
Ligne 10 : Ligne 12 :
 
{{ Note | 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. }}
 
{{ Note | 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. }}
 
<br>
 
<br>
* Modifier le fichier {{ File | /etc/hosts }} pour qu'il coïncide avec le serveur d'authentification.
+
* Modifier le fichier {{ File | /etc/hosts }} pour que le nom de la machine correspondent au nom du domaine à rejoindre.
 
<br>
 
<br>
 
{{ Console root | nano /etc/hosts }}  
 
{{ Console root | nano /etc/hosts }}  
Ligne 19 : 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 28 : Ligne 33 :
 
</pre>
 
</pre>
  
=== installation des package nécessaire à l'intégration ===
+
<br>
 +
<big>'''Installation des paquets nécessaire à l'intégration'''</big>
 +
<br>
 +
<br>
  
Executer le script suivant.
+
Pour installer et configurer les différents paquets nécessaire à l'authentification des utilisateurs avec notre AD, nous allons nous aider du script suivant :
  
<pre>
+
<syntaxhighlight lang=bash>
 
#!/bin/bash
 
#!/bin/bash
  
Ligne 40 : 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 68 : 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
  
 
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."
 
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."
</pre>
+
</syntaxhighlight>
  
Entrer le Domaine le user admins pour le domaine.
+
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 scripte terminé passer à la configuration.
+
Une fois le script terminé, nous allons pouvoir passer à la configuration.
  
=== modification des fichiers de configuration ===
+
<br>
allez dans le fichier /etc/sssd/sssd.conf modifier la ligne suivant :
+
<big>'''Configuration'''</big>
 +
<br>
 +
<br>
 +
 
 +
Pour autoriser l'authentification des utilisateurs via notre AD, nous allons devoir modifier différents fichiers
 +
 
 +
* Le fichier {{ File | /etc/sssd/sssd.conf}} avec la ligne suivants :
 
<pre>
 
<pre>
 
  use_fully_qualified_names = False
 
  use_fully_qualified_names = False
 
</pre>
 
</pre>
  
Faire un reboot system.
+
'''Un redémarrage est nécessaire après cette modification.'''
 
 
Afin de pour voir se connecter en ssh à la machine, activer le autehntifcation kerberos.
 
  
Modifier la configuration du serveur ssh dans /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:
  
 
<pre>
 
<pre>
Ligne 99 : Ligne 114 :
 
GSSAPICleanupCredentials yes
 
GSSAPICleanupCredentials yes
 
</pre>
 
</pre>
 +
<br>
 +
{{ Note | Cette modification permet d'activer l' authentification kerberos pour le service SSH.}}
 +
<br>
 +
Redémarrer le service SSH et SSSD
 +
<br>
 +
{{ Console root | service ssh restart && service sssd restart }}
 +
<br>
  
redémarrer les service SSH
+
<big>'''Vérification'''</big>
 +
<br>
 +
<br>
  
{{ Console root | service ssh restart }}
+
Pour vérifier le bon fonctionnement, nous allons pouvoir réaliser différents test
  
=== Vérification du fonctionnement ===
+
* Vérifier que le serveur linux arrive à retrouver les informations d'un utilisateur dans l'AD
Pour verrifier le bon fonctionnement
+
<br>
 
+
{{ Console root | getent passwd user }}
taper getent passwd nom_du_user
+
<br>
{{ Console root | getent passwd mdaniel }}
 
 
<pre>
 
<pre>
mdaniel:*:47401107:47400513:Maxime Daniel:/home/test.pass.be/mdaniel:/bin/bash
+
user:*:47401107:47400513:FirstName Name:/home/domain.be/user:/bin/bash
 
</pre>
 
</pre>
 +
<br>
 +
{{ Note | Dans la commande ''getent'' changer '''user''' par le nom d'un utilisateur dans l'AD }}
 +
<br>
  
autres commandes
+
* Vérifier la création de la home directory
 
+
<br>
{{ Console root | su - mdaniel }}  
+
{{ Console root | su - user }}
 +
<br>
 
<pre>
 
<pre>
Création du répertoire « /home/test.pass.be/mdaniel »
+
Création du répertoire « /home/domain.be/user »
 
</pre>
 
</pre>
 +
<br>
  
Test d'un connexion ssh avec le user AD
+
* Pour terminer, vérifier si vous arrivez à vous connecter en SSH avec l'utilisateur AD
{{ Console | ssh mdaniel@192.168.100.6 }}
+
<br>
 
+
{{ Console | ssh user@IP-serveur-linux }}
<pre>mdaniel@192.168.100.6's password:
+
<br>
mdaniel@test-debprox:~$ </pre>
 
 
 
{{ Console | pwd }}
 
 
<pre>/home/test.pass.be/mdaniel </pre>
 
 
    
 
    
 
[[Catégorie:Windows Server]]
 
[[Catégorie:Windows Server]]

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