Installation mod_auth_cas sous Debian

Tuesday, January 10, 2012

Je remet une couche sur la CASsification d’application web mais cette fois sur la distribution Debian. L’installation sur Debian diffère légèrement par rapport à mon article où je l’installe sur une RedHat. La configuration est, quand a elle, exactement la même.

Pré-requis :

Les paquets suivant sont nécessaires :

  • Apache2-prefork-dev - minimum 2.2.3
  • OpenSSL - minimum 0.9.8c

Installation du module :

Récupérer les sources :

wget https://www.ja-sig.org/svn/cas-clients/mod_auth_cas/trunk/src/mod_auth_cas.c
wget https://www.ja-sig.org/svn/cas-clients/mod_auth_cas/trunk/src/mod_auth_cas.h

Compiler le module :

apxs2 -i -c mod_auth_cas.c

La commande apxs2 est disponible en installant le package apache-dev “apache2-prefork-dev”.

Configuration d’Apache à la sauce Debian :S

Créez le fichier /etc/apache2/mods-available/auth_cas.load ayant pour contenu :

LoadModule auth_cas_module /usr/lib/apache2/modules/mod_auth_cas.so

Créez le fichier /etc/apache2/mods-available/auth_cas.conf ayant pour contenu :

<IfModule mod_auth_cas.c>
      CASValidateServer On
      CASCertificatePath /etc/apache2/ssl/cas.pem
      CASCookiePath /var/cache/apache2/auth_cas/
      CASLoginURL https://idp.inra.fr/cas/login
      CASValidateURL https://idp.inra.fr/cas/serviceValidate
      CASProxyValidateURL https://idp.inra.fr/cas/proxyValidate
</IfModule>

Créez le fichier CASCertificatePath contenant la chaine de certificat du serveur CAS.

Créer le répertoire CASCookiePath et a modifier le propriétaire :

mkdir /var/cache/apache2/auth_cas/
chown www-data:www-data /var/cache/apache2/auth_cas/

Options supplémentaires qui peuvent être intéressantes :

  • CASTimeout 7200 (Durée d’une session, par défaut 2h)
  • CASIdleTimeout 3600 (Durée d’inactivité avant logout, par défaut 1h)

Activez le module :

a2enmod auth_cas

Testez la configuration apache :

apache2 -t

Relancez apache :

apache2 -k restart

Configuration du VirtualHost :

Autoriser tous les utilisateurs authentifiés :

<VirtualHost *:443>
    ...
   <Directory />
       ...
       AuthType Cas
       Require valid-user
   </Directory>
</VirtualHost>

Autoriser une liste d’utilisateurs authentifiés :

AuthType Cas
Require user toto titi tata

Utiliser un fichier de groupe :

AuthType Cas
AuthGroupFile /etc/apache2/groups.conf
Require group toto

Pour info, le fichier de groupe a la syntaxe suivante :

<nom_groupe>: <uid1> <uid2> ...

Références :

Geekapacheauthentificationcasdebianjasigmod_auth_casssoubuntuwebsso
Le contenu de ce site est sous licence Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0)

Gamb

DIY

Beamer + Impressive : Des présentations qui claquent sa mère

PowerShell : Superviser Exchange 2010 sans supervision ^^