informatique:reseau:messagerie:sogo

Ceci est une ancienne révision du document !


SOGo

Pour activer ce cron, vous avez besoin d'avoir un compte master de configuré au niveau de Dovecot (plus d'infos ici). Il faudra ensuite editer le fichier /etc/sogo/sieve.creds pour y mettre les identifiants du compte master :

sogo:master_password

Fait en sorte que ce fichier appartienne à l'utilisateur et au groupe sogo et qu'il est des droits 400.

Dans cet exemple, le serveur SOGo est derrière l'URL https://mail.exemple.org et le serveur CAS est derrière l'URL https://login.exemple.org/cas. Il est indispensable que le serveur accepte son utilisation depuis les services imap://mail.exemple.org et https://mail.exemple.org. Pour cela rendez vous sur l'interface de gestion des services du serveur CAS https://login.exemple.org/cas/services/manage.html.

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 :
    • 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 le dépôt Debian de l'académie de Caen.
    • Un fois installer on met en place le fichier de configuration /etc/pam_cas.conf :
      # host from CAS server. mandatory
      host login.exemple.org
      
      # port from CAS server. Default to 80 or 443, depends from ssl instruction
      port 443
      
      # uri to validate ticket. Default to /proxyValidate
      uriValidate /cas/proxyValidate
      
      # https or no. values on or off. Default to on.
      ssl on
      
      # proxy or proxies who deliver Proxy Ticket.
      # If no proxy, pam_cas doesn't control it
      # It may be several proxy instructions
      proxy https://mail.exemple.org/SOGo/casProxy
      
      # debug (on) or no (off). debug in syslog, level LOG_DEBUG. Default to off
      debug off
      
      # trusted_ca. mandatory if ssl on.
      # It a file in pem format. It can contents several certificates
      # If the CAS server certificate is auto-signed, the file must content the certificate
      # If the certificate is trusted by an Certificate Autority, The file must content
      #    certificate from high level CA
      trusted_ca [chemin vers le certificat de la CA ayant émis les certificats SSL de l'infra]
    • On met ensuite en place un fichier de configuration PAM pour dovecot-cas, à savoir le fichier /etc/pam.d/dovecot-cas :
      auth    sufficient      pam_ccreds.so action=validate service_specific
      auth    [success=ok new_authtok_reqd=ok ignore=done default=die] pam_cas.so -simap://mail.exemple.org -f/etc/pam_cas.conf
      auth    optional        pam_ccreds.so action=store service_specific timeout=300
      account sufficient      pam_permit.so
      session sufficient      pam_permit.so
    • On peut tester la communication avec le serveur CAS en utilisant l'outil castest qui tentera la validation d'un ticket bidon auprès du serveur CAS qui devrait retourner bas CAS ticket mais pas une autre erreur :)
    • On configure ensuite dovecot pour qu'il utilise en place de son backend d'authentification actuel (LDAP par exemple), l'authentification via PAM en tant que le service dovecot-cas. Pour cela, on créé le fichier /etc/dovecot/conf.d/11-auth-pam-cas.conf :
      passdb {
         args = session=yes cache_key=%n dovecot-cas
         driver = pam
      }
    • On peut ensuite redémarrer Dovecot pour application de cette nouvelle configuration
  • Un fois l'authentification CAS en place sur le serveur IMAP, passons à SOGo. On commence par activer le service casProxy de SOGo en éditant le fichier /etc/apache2/conf.d/SOGo.conf et en décommentant les lignes suivantes et en les adaptant :
    ProxyPass /SOGo/casProxy http://localhost/cgi-bin/cas-proxy-validate.py
    <Proxy http://localhost/app/cas-proxy-validate.py>
      Order deny,allow
      Allow from [IP du serveur CAS]
      Allow from 127.0.0.1
    </Proxy>
  • Il faut ensuite redémarrer Apache pour activer le service
  • On configure ensuite SOGo en exécutant en tant que l'utilisateur cas sur le serveur SOGo :
    defaults write sogod SOGoAuthenticationType "cas"
    defaults write sogod SOGoCASServiceURL "https://login.exemple.org/cas/"
    defaults write sogod WOWorkersCount 5
    defaults write sogod SOGoIMAPCASServiceName "imap://mail.exemple.org"
  • On redémarre ensuite SOGo et ça devrais marcher !
En cas de problème, vous pouvez activer l'option debug dans le fichier /etc/pam_cas.conf sur le serveur IMAP et suivre l'authentification dans /var/log/auth.log.
  • informatique/reseau/messagerie/sogo.1388755369.txt.gz
  • Dernière modification : 2014/01/03 13:22
  • de bn8