Browse Source

maj tp ldap

master
Francois Lesueur 2 years ago
parent
commit
e607adc608
  1. 17
      tp7-ldap.md

17
tp7-ldap.md

@ -38,9 +38,11 @@ L'organisation Target utilise une authentification centralisée basée sur un LD
* 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
* Ajouter un utilisateur (avec ldapadd)
* Modifier l'uid 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 `/root/mi-lxc/groups/target/ldap/provision.sh`.
Déploiement d'un LDAP
@ -48,12 +50,13 @@ 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
* Configurez une autre machine de l'AS IUTVA pour être client de ce LDAP (pour l'authentification et pour les user/groupes affichés par `ls`)
* 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 ?
* Mettez à jour la configuration pour faire du LDAPS
* Installez phpldapadmin sur votre machine LDAP pour aider à son administration
* Programmez une sauvegarde régulière vers une autre machine (cron)
@ -63,6 +66,8 @@ 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.
Faîtes une page PHP d'annuaire qui demande un login et affiche ses coordonnées (pour l'exemple, vous pouvez juste afficher son uid). Vous pouvez vous inspirer des index.php/do_login.php du TP5 en les adaptant au cas du LDAP. 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).
Enfin, faîtes une injection LDAP sur cette page pour lister l'ensemble des utilisateurs 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).
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).
Essayez de construire une injection LDAP plus complexe (avec intégration de structure de commande (des '()') côté client).

Loading…
Cancel
Save