TP : CASifier avec Apache
Introduction
Apache sait contrôler l’accès aux pages en fonction d’une authentification préalable du demandeur.
Plusieurs types d’authentifications sont possibles. Par exemple, l’authentification basique permet d’authentifier un utilisateur avec un login et un mot de passe. L’authentification basique est disponible par défaut, et est gérée par le module mod_auth_basic.
Le module auth_cas, quant à lui, implémente une authentification CAS.
Les manipulations suivantes sont à réaliser sur la vm web.
Installation du module auth_cas
- Consulter la liste des modules apache installés et la liste des modules apache actifs. Vérifier que le module ssl, nécessaire pour HTTPS, est installé.
Note: sous Debian, les modules apache installés et leurs fichiers de configuration sont dans /etc/apache2/mods-available. Les modules actifs sont dans /etc/apache2/mods-enabled.
ls /etc/apache2/mods-available
ls /etc/apache2/mods-enabled
- Installer le module auth_cas :
apt-get install libapache2-mod-auth-cas
- Par curiosité, consulter la composition du package (repérer l’emplacement du fichier de configuration auth_cas.conf) :
dpkg -L libapache2-mod-auth-cas
- Activer les modules ssl et auth_cas, puis redémarrer le serveur web :
a2enmod ssl
a2enmod auth_cas
service apache2 restart
Configuration du module auth_cas
Dans le fichier de configuration de auth_cas, renseigner :
- l’URL vers laquelle l’utilisateur sera redirigé pour lui permettre de s’authentifier : CASLoginURL
- l’URL où se connectera le client CAS quand l’utilisateur reviendra après s’être authentifié : CASValidateURL
et redémarrer le serveur web.
Apache peut maintenant réaliser des authentification CAS.
Note : pour utiliser le CAS de Mathrice, spécifier les 2 URL suivantes :
CASLoginURL https://cas.mathrice.fr/cas
CASValidateURL https://cas.mathrice.fr/cas/serviceValidate
Choix de la portion de site à protéger
Choisir une arborescence à protéger, sous /var/www, par exemple /var/www/testcas.
La configuration ci-dessous se fera, au choix :
- soit dans un fichier de configuration de apache, par exemple /etc/apache2/conf.d/testcas.conf, dans une section :
<Directory /var/www/testcas>
...
</Directory>
- soit dans un fichier .htaccess placé dans le répertoire /var/www/testcas, après avoir activé dans la conf du serveur, la prise en compte des .htaccess avec :
AllowOverride AuthConfig
Protection des URLs
- Définir une authentification de type CAS :
AuthType Cas
- Ajouter des restrictions nominatives :
require user my_user1 my_user1 my_user2 my_user3 ...
ou bien autoriser l’accès tout utilisateur authentifié, avec :
require valid-user
ou bien avec :
require all granted
Tester
Note : Pour effacer les infos d’authentification CAS mémorisé par firefox/iceweasel :
Préférences -> Privacy -> remove individual cookies
puis effacer les cookies concernés.