This commit is contained in:
Francois Lesueur 2023-04-03 10:10:54 +02:00
parent cb09d624cc
commit 97fd7b25ad
2 changed files with 30 additions and 16 deletions

View File

@ -6,6 +6,4 @@ Authentification et sécurité des données pour les LP DLIS - IUT Vannes
* [TD crypto asymétrique (2h)](td-crypto.md) * [TD crypto asymétrique (2h)](td-crypto.md)
* [Passwords (2h)](td-passwords.md) * [Passwords (2h)](td-passwords.md)
* [TP HTTPS / Authentification mutuelle (beaucoup d'heures)](tp-https.md) * [TP HTTPS / Authentification mutuelle (beaucoup d'heures)](tp-https.md)
* [Cours Authentification (1h)](cours-auth.md) * [LDAP (plein d'heures)](tp-ldap.md)
* [TP Sécurité des BD (12h)](tp-bd.md)
* [LDAP (10,5h)](tp-ldap.md)

View File

@ -1,11 +1,9 @@
# TP : Sécurité des annuaires (10,5h) # TP : Annuaires LDAP
Ce TP-projet présente les annuaires LDAP. Ce TP-projet présente les annuaires LDAP.
Ce TD sera réalisé dans la VM MI-LXC/SNSTER disponible [ici](https://flesueur.irisa.fr/mi-lxc/images/milxc-snster-vm-2.0.0.ova). Avant de lancer la VM, il peut être nécessaire de diminuer la RAM allouée. Par défaut, la VM a 3GO : si vous avez 4GO sur votre machine physique, il vaut mieux diminuer à 2GO, voire 1.5GO pour la VM (la VM devrait fonctionner de manière correcte toujours). Ce TD sera réalisé dans la VM MI-LXC/SNSTER disponible [ici](https://flesueur.irisa.fr/mi-lxc/images/milxc-snster-vm-2.0.0.ova). Avant de lancer la VM, il peut être nécessaire de diminuer la RAM allouée. Par défaut, la VM a 3GO : si vous avez 4GO sur votre machine physique, il vaut mieux diminuer à 2GO, voire 1.5GO pour la VM (la VM devrait fonctionner de manière correcte toujours).
Un [bon tuto LDAP](https://connect.ed-diamond.com/Linux-Pratique/lp-115/installation-et-configuration-d-un-annuaire-openldap) pour démarrer.
> Si vous êtes sous Windows et que la VM ne fonctionne pas avec VirtualBox, vous pouvez utiliser à la place VMWare Player. Dans ce cas, il faudra cliquer sur "Retry" lors de l'import. > Si vous êtes sous Windows et que la VM ne fonctionne pas avec VirtualBox, vous pouvez utiliser à la place VMWare Player. Dans ce cas, il faudra cliquer sur "Retry" lors de l'import.
> Le compte-rendu est à déposer en binôme sur Moodle. > Le compte-rendu est à déposer en binôme sur Moodle.
@ -31,29 +29,47 @@ Rappel: Vous devez être dans le répertoire `/root/mi-lxc/` pour exécuter ces
> Dans la VM et sur les machines MI-LXC, vous pouvez installer des logiciels supplémentaires. Par défaut, vous avez mousepad pour éditer des fichiers de manière graphique. La VM peut être affichée en plein écran. Si cela ne fonctionne pas, il faut parfois changer la taille de fenêtre manuellement, en tirant dans l'angle inférieur droit, pour que VirtualBox détecte que le redimensionnement automatique est disponible. Il y a une case adéquate (taille d'écran automatique) dans le menu écran qui doit être cochée. Si rien ne marche, c'est parfois en redémarrant la VM que cela peut se déclencher. Mais il *faut* la VM en plein écran. > Dans la VM et sur les machines MI-LXC, vous pouvez installer des logiciels supplémentaires. Par défaut, vous avez mousepad pour éditer des fichiers de manière graphique. La VM peut être affichée en plein écran. Si cela ne fonctionne pas, il faut parfois changer la taille de fenêtre manuellement, en tirant dans l'angle inférieur droit, pour que VirtualBox détecte que le redimensionnement automatique est disponible. Il y a une case adéquate (taille d'écran automatique) dans le menu écran qui doit être cochée. Si rien ne marche, c'est parfois en redémarrant la VM que cela peut se déclencher. Mais il *faut* la VM en plein écran.
Découverte
==========
Un bon tuto LDAP est disponible [ici](https://connect.ed-diamond.com/Linux-Pratique/lp-115/installation-et-configuration-d-un-annuaire-openldap) pour démarrer.
> Question 1 : Rédigez une synthèse de cet article. Cette synthèse doit faire apparaître les fonctionnalités présentées, l'organisation de l'article, etc. Ce travail doit vous permettre de (1)appréhender l'environnement LDAP et (2)orienter vos recherches dans la suite du TP.
Étude d'un LDAP existant Étude d'un LDAP existant
======================== ========================
L'organisation Target utilise une authentification centralisée basée sur un LDAP. Explorez son usage : L'organisation Target utilise une authentification centralisée basée sur un LDAP. Explorez son usage.
* Qui est le serveur ?
* Trouvez 2 clients, nous allons étudier leur configuration. Cherchez dans `/etc` et ses sous-dossiers (find est votre ami) les fichiers linss-ldap.conf, pam_ldap.conf et nsswitch.conf. Analysez ces fichiers de configuation, cherchez leur usage et notez les quelques lignes qui vous paraissent les paramètres essentiels. > Question 2 : Qui est le serveur LDAP ?
* Analysez les échanges avec Wireshark :
Trouvez 2 clients, nous allons étudier leur configuration. Cherchez dans `/etc` et ses sous-dossiers (find est votre ami) les fichiers libnss-ldap.conf, pam_ldap.conf et nsswitch.conf.
> Question 3 : Analysez ces fichiers de configuration, cherchez leur usage et notez les quelques lignes qui vous paraissent les paramètres essentiels.
Analysez maintenant les échanges avec Wireshark :
* Lors d'une authentification (commercial et admin sont des comptes LDAP) * Lors d'une authentification (commercial et admin sont des comptes LDAP)
* Lors d'un `ls -l /home` (Vous devez forcer la résolution de l'uid de commercial ou admin qui sont des comptes LDAP. Attention au cache ! Pour gagner du temps, les clients gardent les dernières réponses en cache et ne refont pas les même requêtes. Pour couper le cache côté client : `service nscd stop`) * Lors d'un `ls -l /home` (Vous devez forcer la résolution de l'uid de commercial ou admin qui sont des comptes LDAP. Attention au cache ! Pour gagner du temps, les clients gardent les dernières réponses en cache et ne refont pas les même requêtes. Pour couper le cache côté client : `service nscd stop`)
* En ligne de commande sur le serveur, à travers les commandes de manipulation ldap (et non les commandes shell `adduser`/`passwd`), trouvez comment :
> Question 4 : Présentez ces analyses Wireshark (screenshots + explications)
La commande `ldapsearch -cxD cn=admin,dc=target,dc=milxc -w root -b dc=target,dc=milxc` permet par exemple d'afficher les données existantes. Quelques exemples d'utilisation peuvent être trouvés dans le fichier [mi-lxc/groups/target/ldap/provision.sh](https://github.com/flesueur/mi-lxc/blob/master/groups/target/ldap/provision.sh).
> Question 5 : En ligne de commande sur le serveur, à travers les commandes de manipulation ldap (et non les commandes shell `adduser`/`passwd`), trouvez comment :
* Ajouter un utilisateur (avec ldapadd) * Ajouter un utilisateur (avec ldapadd)
* Modifier l'uidNumber d'un utilisateur (avec ldapmodify) * Modifier l'uidNumber d'un utilisateur (avec ldapmodify)
* Modifier le mot de passe d'un utilisateur (avec ldapmodify) * Modifier le mot de passe d'un utilisateur (avec ldapmodify)
> La commande `ldapsearch -cxD cn=admin,dc=target,dc=milxc -w root -b dc=target,dc=milxc` permet par exemple d'afficher les données existantes. Quelques exemples d'utilisation peuvent être trouvés dans le fichier [mi-lxc/groups/target/ldap/provision.sh](https://github.com/flesueur/mi-lxc/blob/master/groups/target/ldap/provision.sh).
Déploiement d'un LDAP Déploiement d'un LDAP
===================== =====================
Reprenez le TP3 (soit vous avez encore l'infra, soit vous la recréez à partir du sujet) pour avoir l'AS IUTVA. Dans cet AS : > Question 6 : À partir d'ici, il n'y a plus de questions explicites. Votre compte-rendu doit décrire vos manipulations et apporter le contexte nécessaire, jusqu'à la fin du document.
* Ajoutez une machine qui vous servira de serveur LDAP. Une fois démarrée, installez et configurez le serveur LDAP
* Configurez une autre machine de l'AS IUTVA pour être client de ce LDAP (pour l'authentification, PAM, et pour les user/groupes affichés par `ls`, NSS) Nous allons déployer un LDAP dans l'AS ISP-A (ça n'a pas trop de sens mais ça permet d'avoir les machines nécessaires). Dans cet AS :
* Installez et configurez le serveur LDAP sur la machine isp-a-infra
* Configurez une autre machine de l'AS ISP-A pour être client de ce LDAP (pour l'authentification, PAM, et pour les user/groupes affichés par `ls`, NSS)
* Obtenez un joli certificat TLS : * Obtenez un joli certificat TLS :
* Soit en utilisant la CA ACME déjà explorée * Soit en utilisant la CA ACME déjà explorée
* Soit en recréant une CA ad hoc interne * Soit en recréant une CA ad hoc interne