Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente |
informatique:reseau:messagerie:sogo [2014/01/06 13:54] – [Mise en place de l'authentification CAS] bn8 | informatique:reseau:messagerie:sogo [2024/05/03 17:01] (Version actuelle) – bn8 |
---|
**Procédure :** | **Procédure :** |
| |
Il faut tout d'abord mettre en place l'authentification CAS au niveau du serveur IMAP/SIEVE. Pour cela, je prendrais l'exemple de Dovecot avec **libpam-cas** + **libpam-ccreds** pour mettre en cache les tickets d'authentification CAS. Pour cela, on commence par installer le paquet Debian //libpam-cas// et //libpam-ccreds//. Le second est dans Debian mais pas le premier. On peut cependant le trouver sur le net, notamment sur [[http://lcs.crdp.ac-caen.fr/wheezy/pool/main/libp/libpam-cas/|le dépôt Debian de l'académie de Caen]]. | Il faut tout d'abord mettre en place l'authentification CAS au niveau du serveur IMAP/SIEVE. Pour cela, je prendrais l'exemple de Dovecot avec **libpam-cas** + **libpam-ccreds** pour mettre en cache les tickets d'authentification CAS. Pour cela, on commence par installer le paquet Debian //libpam-cas// et //libpam-ccreds//. Le second est dans Debian mais pas le premier. On peut cependant le compiler soit même à partir des [[https://github.com/EsupPortail/esup-pam-cas|sources]] fournissant le nécessaire : |
| |
| <code bash> |
| apt install debhelper libpam0g-dev libssl-dev build-essential git |
| cd /usr/local/src |
| git clone https://github.com/EsupPortail/esup-pam-cas.git |
| cd esup-pam-cas |
| dpkg-buildpackage -b --no-sign |
| sudo dpkg -i ../libpam-cas_*.deb</code> |
| |
Un fois installer on met en place le fichier de configuration ///etc/pam_cas.conf// : <code># host from CAS server. mandatory | Un fois installer on met en place le fichier de configuration ///etc/pam_cas.conf// : <code># host from CAS server. mandatory |
# certificate from high level CA | # certificate from high level CA |
trusted_ca [chemin vers le certificat de la CA ayant émis les certificats SSL de l'infra]</code> | trusted_ca [chemin vers le certificat de la CA ayant émis les certificats SSL de l'infra]</code> |
| |
| <note tip>Pour le paramètre **trusted_ca**, vous pouvez utiliser le fichier **/etc/ssl/certs/ca-certificates.crt** gérer par le paquet //Debian ca-certificates//.</note> |
| |
On met ensuite en place un fichier de configuration //PAM// pour //dovecot-cas//, à savoir le fichier ///etc/pam.d/dovecot-cas// : <code>auth sufficient pam_ccreds.so action=validate service_specific | On met ensuite en place un fichier de configuration //PAM// pour //dovecot-cas//, à savoir le fichier ///etc/pam.d/dovecot-cas// : <code>auth sufficient pam_ccreds.so action=validate service_specific |
Il faut également éditer le fichier //cas-proxy-validate.py// et adapter en haut du fichier les paramètres //cas-addr// qui doit correspondre à l'adresse IP du serveur CAS (//127.0.0.1// par défaut) et le paramètre //memcached-addrs// qui doit correspondre à l'IP et le port du service //memcache// utilisé par SOGo (//127.0.0.1:11211// par défaut). | Il faut également éditer le fichier //cas-proxy-validate.py// et adapter en haut du fichier les paramètres //cas-addr// qui doit correspondre à l'adresse IP du serveur CAS (//127.0.0.1// par défaut) et le paramètre //memcached-addrs// qui doit correspondre à l'IP et le port du service //memcache// utilisé par SOGo (//127.0.0.1:11211// par défaut). |
| |
On met en place ensuite le //ScriptAlias// correspondant dans la configuration Apache pour SOGo en éditant le fichier ///etc/apache2/conf.d/SOGo.conf// et en ajoutant les lignes suivantes et en les adaptant : <code>ScriptAlias /SOGo/casProxy /var/www/mail/cgi-bin/cas-proxy-validate.py | On met en place ensuite le //ScriptAlias// correspondant dans la configuration Apache pour SOGo en éditant le fichier ///etc/apache2/conf.d/SOGo.conf// et en ajoutant les lignes suivantes et en les adaptant : |
| |
| * Apache 2.2 (ou inférieur) : <code>ScriptAlias /SOGo/casProxy /var/www/mail/cgi-bin/cas-proxy-validate.py |
<Location /SOGo/casProxy> | <Location /SOGo/casProxy> |
Order deny,allow | Order deny,allow |
Allow from [IP du serveur CAS] | Allow from [IP du serveur CAS] |
Allow from 127.0.0.1 | Allow from 127.0.0.1 |
| </Location></code> |
| |
| * Apache 2.4 (ou supérieur) : <code>ProxyPass /SOGo/casProxy ! |
| ScriptAlias /SOGo/casProxy /var/www/mail/cgi-bin/cas-proxy-validate.py |
| <Location /SOGo/casProxy> |
| Require ip [IP du serveur CAS] |
| Require ip 127.0.0.1 |
</Location></code> | </Location></code> |
| |
| |
Doc sur le sujet intéressante : http://www.esup-portail.org/consortium/espace/SSO_1B/tech/cas/cas_pam.html | Doc sur le sujet intéressante : http://www.esup-portail.org/consortium/espace/SSO_1B/tech/cas/cas_pam.html |
| |
| ==== Authentic2 ==== |
| |
| Pour configurer SOGo pour qu'il utilise l'IDP Authentic2 comme un serveur CAS, il faut via l'interface d'administration d'Authentic2 : |
| |
| * Créer un service CAS pour SOGo : |
| * **Identifiant :** ce que vous voulez, par exemple le nom de domaine du SOGo |
| * **URLs :** L'URL d'accès de votre SOGo suffixé par ///so/index//. Exemple : https://mail.exemple.com/SOGo/so/index |
| * **Nom de l'attribut :** sélectionner un attribut correspondant au login de l'utilisateur qui devra être reconnue par une de vos //SOGoUserSources// définies dans le fichier //sogo.conf// |
| * Créer un service CAS pour Dovecot : |
| * **Identifiant :** ce que vous voulez, par exemple //Dovecot// |
| * **URLs :** l'URL de service utilisée par //pam-cas// et telque définie dans le paramètre //SOGoIMAPCASServiceName// de SOGo |
| * **Nom de l'attribut :** sélectionner un attribut correspondant au login de l'utilisateur qui devra être reconnu par Dovecot |
| * **Mandataire :** sélectionner le service CAS précédemment créé correspondant à votre SOGo |