TP 2 Client Ldap et CAS
Transcription
TP 2 Client Ldap et CAS
Protocoles applicatifs sur Internet Master TIW TP 2 Client Ldap et CAS Fabien Rico 2 novembre 2015 Objectifs — Découverte de ldap et CAS — Découverte des outils d’authentification web Ce TP se déroule sur 2 séance de 3 heures. Il est suivi d’un autre TP utilisant la même machine. Il est donc conseiller de sauver l’image sous la forme d’un snapshot en cas de problème. I Ldap Nous avons mis en place un serveur Active Directory, ldap et dns qui servira durant le TP. Ce serveur se trouve à l’adresse 192.168.73.238. Pour la version chiffrée, l’autorité de certificat utilisée dans cette série de TP se trouve à l’adresse : http://192.168.73.201/cacert.pem. I.1 Client ldap Installer le client ldap et utilisez-le pour interroger le serveur. Utiliser le client en mode texte ldapsearch. Utiliser en parallèle un outil de capture de paquets pour regarder les échanges de données. Q.I.1) - Quel commande faut-il taper pour obtenir les informations sur l’arbre stocké par le serveur ? Q.I.2) - Pour voir la liste des utilisateurs il faut s’authentifier auprès du serveur en utilisant un compte ayant les droits de lecture (dont le dn est : cn=lecteur,cn=Users,dc=pai,dc=univ−lyon1,dc=fr et le mot de passe passedulecteur). Qu’elle est la commande ? Q.I.3) - Observer l’échange généré entre le client et le serveur. Quelles sont les requêtes ldap utilisées ? Qui coupe la communication ? Q.I.4) - Repérer le paquet bindRequest à quoi sert cet échange de données, que voit-on ? Q.I.5) - Faites une requête en utilisant TLS. 5(a) - Quelle commande faut-il taper pour utiliser TLS ? 5(b) - Pourquoi cela ne fonctionne-t-il pas ? Que devez-vous faire pour résoudre le problème ? 5(c) - Lorsque cela marche, refaire une capture de la même requête. Quelle nouvelle commande ldap est utilisée ? Que se passe-il ensuite ? I.2 Client apache/php L’intérêt principal d’un annuaire ldap est qu’il peut être accédé par plusieurs types de clients. Par exemple, le langage php permet très facilement de contacter un serveur ldap pour tester les logins et mots de passes. Un certains nombre de serveurs comme le serveur apache permettent aussi de s’authentifier auprès de ldap. Faculté des sciences - Dépt. informatique 1 Univ. Claude Bernard Lyon I Protocoles applicatifs sur Internet Master TIW Q.I.6) - Créez un nouvelle image docker sur votre VM en ajoutant les paquets : apache2, php−pear, php−auth, php5−common, php−curl, ldap−utils et php5−ldap. Pour cela vous modifierez le dockerfile vu la dernière fois. Grâce à ce fichier, vous adapterez aussi la configuration du client ldap pour utiliser le certificat du TP Q.I.7) - Créez un docker à partir de cette image et nommez le apache-php et lancez le en partageant le répertoire /var/www/html du docker avec le répertoire /docker/apachephp/www de la machine hôte ainsi que le fichier de certificat que utilisé par le client ldap. Vous connecterez de plus le port 82 de la machine hote avec le port 80 du docker et conffigurerz nginx pour renvoyer les /php vers ce docker. Ce docker va permettre aux utilisateurs système de lire et modifier les valeurs stockées dans l’anuaire ldap. Vous pouvez utiliser le fichier http://192.168.73.201/pass.php.txt pour vous aider à commencer. Placez le fichier dans le répertoire /docker/php/www/ ce qui le rendra accessible au serveur web à l’adresse http:// adresse de votre instance /php/pass.php. Pour chaque question, créez un nouveau fichier php que vous nous rendrez en même temps que le rapport. Q.I.8) - Modifiez-le de manière à afficher le nom, prenom, adresse et numéros de l’utilisateur dont le login est entré via le formulaire. Q.I.9) - Modifiez-le de manière à vérifier le mot de passe de cet utilisateur. Q.I.10) - Modifiez-le de manière à permettre aux utilisateurs de changer leur numéro de téléphone et leur adresse. Q.I.11) - Nous allons modifier le script pour permettre aux utilisateurs de changer leur mot de passe. Pour cela il va falloir utiliser un compte de service avec des droits de gestion des utilisateurs le compte cn=ecrivain ,... dont le mot de passe est passedelecrivain . Vous devez modifier le script pour : — Qu’il vérifie le login, mot de passe de l’utilisateur. — Qu’il utilise l’identité du compte de service pour faire les modifications. — Qu’il permette de modifier le mot de passe : — C’est le champs unicodePwd ; — Il doit être encadré de guillemets ” ; — Il doit être encodé en UTF16LE ; — il doit obéir aux règles de sécurité des mots de passes définie par la stratégie de groupe (désactivée pour ce TP). Q.I.12) - Que faut-il faire pour que les mots de passe ne circulent pas en clair II Client CAS Vous allez devoir installer le client php cas comme cela est expliqué à l’adresse suivante : https://wiki.jasig.org/display/CASC/phpCAS. Utilisez l’installation avec pear. Le but est de ≪ cassifier ≫ l’utilitaire de modification de mot de passe de la section I.2. Le serveur assurant l’authentification doit être celui de l’université http://cas.univ-lyon1.fr/cas/ Q.II.1) - Le serveur CAS de l’université demande que vous utilisiez votre mot de passe de l’université. Si un camarade vous demande d’essayer le site qu’il a fait sur sa machine virtuelle durant ce TP, allez-vous accepté et pourquoi ? Q.II.2) - Avec votre rapport fournissez le fichier pass??.php correspondant à l’authentification CAS. III III.1 Pour vous aider ! Comment installer un nouveau package ? Vous disposez de plusieurs utilitaires : Faculté des sciences - Dépt. informatique 2 Univ. Claude Bernard Lyon I Protocoles applicatifs sur Internet Master TIW — dpkg l’utilitaire de base de gestion de paquets. Il permet de gérer les paquets installés, de les supprimer ou de faire des recherches sur leurs fonctionnalités. — dpkg −−purge <nom du package> pour la suppression. — dpkg−reconfigure <nom du package> pour reconfiguer un package. — dpkg −L <nom du package> pour avoir la liste des fichiers du package. — apt−?? utilitaire de recherche, installation,. . .sur internet. C’est cet utilitaire qui vous permettra : — d’installer un paquet grâce à : apt−get install <nom du package> — de rechercher un paquet : apt−cache search <nom de ce qu’on cherche> — synaptic utilitaire graphique qui fait la même chose. Faculté des sciences - Dépt. informatique 3 Univ. Claude Bernard Lyon I