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.