ESUP-Portail 20 sept. 2017 @Paris ESUP-Days #24

Retour sur l'usage de Horde 5
à l'Université Paris 1

  • Pascal Rigaux
  • Benoît Branciard
  • Université Paris 1 Panthéon-Sorbonne
  • Université Paris 1 Panthéon-Sorbonne

Plan

  • Présentation de Horde
  • Infrastructure
  • Agenda
  • Webmail
  • Intégration CAS
  • Serveur IMAP
  • Comptes de fonction
  • Perspectives

Présentation de Horde


⚠ Documentation officielle peu à jour

Présentation de Horde

à Paris 1

  • 2001-2002 : Horde 1
  • 2004 : Horde 2 pour les étudiants
  • 2005 : Horde 3 pour le personnel + Thunderbird avec autoconfig
  • 2016 : Horde 5 en test dans différents services
  • 2017 : Horde 5 pour le personnel (avec migration des carnets d'adresses, filtres)
  • Statistiques :
    utilisateurs par jour utilisateurs par moispopulation
    webmail étudiant~4000~1400040000
    webmail personnel~800~20006000
    web agenda~180~300900

Infrastructure

à Paris 1

pour le personnelpour les étudiants
Horde2 CPU
2 Go RAM
(dispo 4 CPU + 5 Go)
0,2 CPU
0,4 Go RAM
Dovecot 2 CPU
9 Go RAM
5 To stockage
(dispo 8 CPU + 15 Go)
1 CPU
2 Go RAM
3,5 To stockage
NB : la charge Horde personnel vient en partie des calendriers, cf page suivante

Agenda

pour le personnel

Horde 5 permet les utilisations nomades :
  • activesync pour les mobiles (mail + calendrier + contacts)
    ⚠ consommation mémoire importante, non généralisable
  • caldav pour les mobiles et Thunderbird (Lightning)
    • kerberisé, comme notre imap (apache mod-auth-kerb + SabreDAV auth avec REMOTE_USER)
    ⚠ quelques problèmes, notamment avec Apple Calendar (solution : limiter les calendriers accessibles à ceux activés dans le web agenda)
  • web agenda
    • la nouvelle interface web introduit des régressions (pauvreté des informations, création d'événements erronés, plus de catégorisation par couleurs...)
    • la vue mobile est limitée : lecture seule, pas de choix d'agendas
    • thème Paris1, intégration ProlongationENT

Agenda

faciliter la collaboration dans les services

  • groupes institutionnels disponibles (via LDAP & grouper)
  • calendriers partagés utilisés pour les salles de réunion
  • au sein d'une direction :
    • calendriers partagés en lecture
    • nom du calendrier contient le nom du service,
      permet de grouper les agendas par service
    synchronisation par cron

Agenda

Agenda

invitations

Par défaut le système d'invitations est prévu pour des serveurs d'agendas qui ne peuvent communiquer. Nous l'avons donc adapté :
  • quand on accepte une invitation,
    • créer un événement dans l'agenda de l'utilisateur
    • page moins austère avec un lien « Voir l'événement dans votre agenda »
  • dans le web agenda
    • afficher la liste des invitations non répondues
  • correctifs
    • éviter que l'acceptation d'une invitation dans Thunderbird conserve les participants
    • dans le web agenda, quand on fait « Enregistrer en tant que nouveau » sur un événement qui a des participants, question « supprimer les participants ou notifier les participants  ? »

Webmail

  • configuration
    • beaucoup de possibilités, mais difficile de s'y retrouver.
    • carnet d'adresses : recherche dans le personnel de l'université
    • nommage des dossiers spéciaux uniformisé avec Thunderbird
  • adaptations
    • thème Paris 1, intégration ProlongationENT
    • signature générée via l'application maison "signature.univ-paris1.fr"
    • menu déroulant proposant les différents comptes de fonction

⚠ interface web 2.0 difficile à utiliser pour certaines personnes
    • ascenseur virtuel pour naviguer dans les messages
    • glisser/déplacer à la souris pour déplacer les messages

Intégration CAS

  • casification simple via la méthode alternate login
  • avec cache tickets esup-pam-cas (développé pour éviter un patch saslauthd)
  • et single logout CAS back-channel
    • Horde étant connu, des scripts d'automatisation sont utilisés par les pirates pour envoyer des spams après fishing,
    • donc en cas de compte piraté, il faut annuler la session CAS & Horde après avoir changé le mot de passe (pas d'invalidation du cache pam_cache puisque le proxy ticket est connu de Horde seul, il n'est pas connu du client web)
    • utilisation d'un outil pour annuler la session CAS d'un utilisateur

Merci à Jérôme Nenert !

Serveur IMAP

Dovecot

  • format de boîte MDBOX avec "rotate size" de 20 Mo + purge glissante (tous les 15 jours)
  • quotas personnels de 5 Go et étudiants de 1 Go (extensible à la demande justifiée)
  • Sieve + manageSieve
  • backend LDAP (userdb, règles de quota) avec search sur uid, supannAliasLogin et mail
  • Authentification :
    • ticket Kerberos, PAM-CAS, mot de passe (bind LDAP)
    • Master users pour gérer les comptes de fonction
      • login "fonction*user" (ou utilisation du "authorization ID" SASL)
      • autorisation par filtre sur attributs LDAP

Comptes de fonction

  • gérés dans Grouper :
    • 1 boîte de fonction = 1 groupe
    • rangés par domaine DNS
    • délégation de la gestion des membres via les privilèges Grouper,
      mais peu utilisée pour l'instant (utilisation récente de Grouper)
  • publiés dans LDAP :
    cron qui ajoute les attributs de l'entrée LDAP pour en faire un compte mail (posixAccount, mail, mailHost, etc)
  • Horde affiche un menu déroulant avec les comptes de fonction
    • compte de fonction passé en paramètre à l'alternate login cas_login.php
  • autoconfig Thunderbird avec Active Directory

Comptes de fonction

Perspectives

  • 2017-2018 : nombre de mails non lus dans l'accueil ENT (via Web Service CAS-IMAP)
  • 2018 : extension de Horde 5 aux étudiants
  • 2018-2019 : banalisation des serveurs de boîtes mail (étudiants+perso) + frontal IMAP proxy (Dovecot Director)
  • carnets d'adresses individuels centralisés kerbérisés partageables Horde + Thunderbird (LDAP ? CardDAV fourni par Horde ?)
  • optimisations serveurs de boîtes : process multi-users (nécessite d'abandonner PAM-CAS au profit d'un développement de plugin dovecot-auth CAS)
  • gestion des clés ou mots de passe "techniques" IMAP/SMTP par terminal ?
  • prochains événements de l'agenda dans l'accueil ENT
-->