Browse Source

ajout tp ldap

master
Francois Lesueur 2 years ago
parent
commit
120ab65c86
  1. 1
      README.md
  2. 68
      tp7-ldap.md

1
README.md

@ -12,3 +12,4 @@ UE4 :
* [TD Enjeux (4,5h)](td1-enjeux.md)
* [TP Sécurité des BD (12h)](tp5-bd.md)
* [IoT (12h)](tp6-iot.md)
* [LDAP (10,5h)](tp7-ldap.md)

68
tp7-ldap.md

@ -0,0 +1,68 @@
# TP 7 : Sécurité des annuaires (10,5h)
Ce TP-projet présente les annuaires LDAP.
Ce TP sera réalisé dans la VM MI-LXC disponible [ici](https://flesueur.irisa.fr/mi-lxc/images/milxc-debian-amd64-1.4.1.ova) (identique à la première période). 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 rapport par binôme sera à déposer sur Moodle à la fin du TP.
> 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 puis installer le paquet open-vm-tools-desktop dans la VM pour profiter du redimensionnement automatique du bureau (`apt install open-vm-tools-desktop` dans un shell).
Cheat sheet
===========
Voici un petit résumé des commandes dont vous aurez besoin :
| Commande | Description | Utilisation |
| -------- | ----------- | ----------- |
| print | Génère la cartographie du réseau | ./mi-lxc.py print |
| attach | Permet d'avoir un shell sur une machine | ./mi-lxc.py attach iutva-infra |
| display | Lance un affichage sur la machine cible | ./mi-lxc.py display isp-a-home |
| start | Démarre la plateforme pédagogique | ./mi-lxc.py start |
| stop | Éteint la plateforme pédagogique | ./mi-lxc.py stop |
Rappel: Vous devez être dans le répertoire `/root/mi-lxc/` pour exécuter ces commandes.
> Si la souris reste bloquée dans une fenêtre virtuelle, appuyez sur CTRL+SHIFT pour la libérer.
> 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.
Étude d'un LDAP existant
========================
L'organisation Target utilise une authentification centralisée basée sur un LDAP. Explorez son usage :
* Qui est le serveur ?
* Trouvez 2 clients, quelle est leur configuration liée à LDAP ? Mentionnez les noms des fichiers de configuation et les quelques lignes qui vous paraissent les paramètres essentiels
* Analysez les échanges avec Wireshark :
* Lors d'une authentification
* Lors d'un `ls` (attention au cache !)
* 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
* Modifier l'uid d'un utilisateur
* Modifier le mot de passe d'un utilisateur
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 :
* 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
* Obtenez un joli certificat TLS :
* Soit en utilisant la CA ACME déjà explorée
* Soit en recréant une CA ad hoc interne
* (le ldap étant un service interne, on peut concevoir de le manipuler avec un certificat à validité interne)
* Quel matériel cryptographique devez-vous déployer sur le client LDAP ?
* Installez phpldapadmin sur votre machine LDAP pour aider à son administration
* Programmez une sauvegarde régulière vers une autre machine (cron)
Une injection LDAP
==================
Installez, sur votre serveur LDAP ou une machine à côté, un serveur Apache avec PHP et son module LDAP (php-ldap).
Faîtes une application qui demande un login/mot de passe et authentifie avec le LDAP, sans prise en compte particulière de la sécurité. Vous trouverez un peu de doc [ici](https://www.php.net/manual/fr/ldap.using.php) et [](https://www.php.net/manual/fr/ldap.examples-basic.php). Vous pouvez vous inspirer des index.php/do_login.php du TP5 en les adaptant au cas du LDAP.
Enfin, faîtes une injection LDAP sur cette page et proposez une remédiation. Une explication des injections LDAP peut être trouvée [ici](https://www.synopsys.com/glossary/what-is-ldap-injection.html).
Loading…
Cancel
Save