151
C o m i t é R é s e a u d e s U n i v e r s i t é s 1 Administration d’un service de listes de diffusion avec Serge Aumont & Olivier Salaün September 2004

Comité Réseau des Universités 1 Administration d’un service de listes de diffusion avec Serge Aumont & Olivier Salaün September 2004

Embed Size (px)

Citation preview

Page 1: Comité Réseau des Universités 1 Administration d’un service de listes de diffusion avec Serge Aumont & Olivier Salaün September 2004

Co

mité R

éseau d

es Un

iversités

1

Administration d’un service de listes de diffusion avec

Serge Aumont & Olivier SalaünSeptember 2004

Page 2: Comité Réseau des Universités 1 Administration d’un service de listes de diffusion avec Serge Aumont & Olivier Salaün September 2004

Co

mité R

éseau d

es Un

iversités

2

Pourquoi Sympa par le CRU ?• Les listes de diffusions sont un service de base des

universités et établissements d’enseignement supérieur.

• Première génération de serveur de listes de diffusion pour accompagner la migration de EARN. (Serveur de listes du CRU = 8 millions de messages diffusés en Octobre 2004)

• Toujours un déficit de l’offre par rapport aux besoins• La logique du libre n’est pas seulement d’utiliser les

réalisations des autres• Notre tutelle est maintenant convaincue des retombées

favorables de cet effort en particulier en terme d’image• Sympa est notre matériel d’expérimentation favori

(pages dynamiques, cgi/MySQL, LDAP, S/MIME, antivirus, SSO, SOAP, XML …)

Page 3: Comité Réseau des Universités 1 Administration d’un service de listes de diffusion avec Serge Aumont & Olivier Salaün September 2004

Co

mité R

éseau d

es Un

iversités

3

Les inscrits

• 300 inscrits dont :– Majorité : universités– 30 Recherche (CNRS, INRA, INRIA)– 26 Rectorats– 16 IUFM– 14 xx.gouv.fr– Collectivités locales– Entreprises privées

Page 4: Comité Réseau des Universités 1 Administration d’un service de listes de diffusion avec Serge Aumont & Olivier Salaün September 2004

Co

mité R

éseau d

es Un

iversités

4

Les utilisateurs

• 4 000 sites connus• Education :

– 90% des universités françaises +IUFM + Rectorats– Universités étrangères (Europe, USA, Amérique du

sud, Asie du sud est)

• Ministères et agences gouvernementales• Fournisseurs de service & SSII• Associations• Entreprises privées

Page 5: Comité Réseau des Universités 1 Administration d’un service de listes de diffusion avec Serge Aumont & Olivier Salaün September 2004

Co

mité R

éseau d

es Un

iversités

5

Le support(http://www.sympa.org)

1. Manuel de référence

2. FAQ

3. Archives des listes

4. Google site:sympa.org « mon problème »

5. Articles et présentations

6. Listes de discussion (sympa-fr, sympa-dev)

7. Support commercial

8. [email protected]

Page 6: Comité Réseau des Universités 1 Administration d’un service de listes de diffusion avec Serge Aumont & Olivier Salaün September 2004

Co

mité R

éseau d

es Un

iversités

6

1. Disponibilité, versions2. Architecture générale et organisation de Sympa3. Interaction avec le système, structure de la base 4. robots virtuels5. Authentification 6. Autorisation7. Shibboleth 8. Protection des données individuelles9. Listes dynamiques10. Familles de listes11. Les templates12. Le serveur soap13. En cas de problème14. Perspectives

Page 7: Comité Réseau des Universités 1 Administration d’un service de listes de diffusion avec Serge Aumont & Olivier Salaün September 2004

Co

mité R

éseau d

es Un

iversités

7

Ce qui ne sera PAS abordé aujourd’hui...

• Présentation exhaustive des fonctionnalités utilisateur

• Installation « pas à pas » de Sympa

• Fonctionnalités S/MIME

Page 8: Comité Réseau des Universités 1 Administration d’un service de listes de diffusion avec Serge Aumont & Olivier Salaün September 2004

Co

mité R

éseau d

es Un

iversités

8

Evolution des versions

2.7.3 3.4

4.1

3.4.4

4.1.2

HEAD

Juillet 2000

WWSympa inclusS/MIME

Octobre 2002

Include 2AuthN LDAPVirtual robotsTask managerDocuments partagésAntivirus

Mars 2004

SOAPAuth. CAS, ShibbolethGestion auto. BouncesHTML Area

Fin 2004/début 2005

TT2Familles de listesInclude ownersModération documentsCanal RSSUpload zip

Page 9: Comité Réseau des Universités 1 Administration d’un service de listes de diffusion avec Serge Aumont & Olivier Salaün September 2004

Co

mité R

éseau d

es Un

iversités

9

Distribution de Sympa

• sympa-xx.tar.gz– Préserve les personnalisations– Gestion automatique des dépendances CPAN– Maj automatique des structures de données

• Paquets :– Debian : sympa 4.1.2 dans unstable– Mandrake : maintenu par le rectorat de Nantes– RedHat : pas maintenu !!

• CVS : ne pas installer une version « anonyme » !!

Page 10: Comité Réseau des Universités 1 Administration d’un service de listes de diffusion avec Serge Aumont & Olivier Salaün September 2004

Co

mité R

éseau d

es Un

iversités

10

Mise à jour de votre installation

• Incompatibilités :– indiquées dans le fichier NEWS (lignes *****)– affiché au début du make install

• Installation/Maj des modules CPAN :– Géré automatiquement au make install

• Modification de la structure de la base :– Pour MySQL mise à jour auto, au démarrage de

sympa.pl• Préservation de vos personnalisations :

– Seul le répertoire /home/sympa/bin/ est écrasé

Page 11: Comité Réseau des Universités 1 Administration d’un service de listes de diffusion avec Serge Aumont & Olivier Salaün September 2004

Co

mité R

éseau d

es Un

iversités

11

1. Disponibilité, versions2. Architecture générale et organisation de Sympa3. Interaction avec le système, structure de la base 4. Les robots virtuels5. Authentification 6. Autorisation7. Shibboleth 8. Protection des données individuelles9. Listes dynamiques10. Familles de listes11. Les templates12. Le serveur soap13. En cas de problème14. Perspectives

Page 12: Comité Réseau des Universités 1 Administration d’un service de listes de diffusion avec Serge Aumont & Olivier Salaün September 2004

Co

mité R

éseau d

es Un

iversités

12

listes.cru.fr

recherche.gouv.fr jres.org

[email protected]

cru.fr

[email protected]

super listmaster

listmaster

owner

editor

Serveur

Robotsvirtuels

Listes

Familles

Organisation d’un serveur Sympa

Page 13: Comité Réseau des Universités 1 Administration d’un service de listes de diffusion avec Serge Aumont & Olivier Salaün September 2004

Co

mité R

éseau d

es Un

iversités

13

Une organisation hiérarchique

• Mecanisme d’héritage s’applicant aux :– Fichiers de configuration et aux paramètres– Fichiers d’authorisation (scenarios)– Templates web– Messages de service (templates)

• Il est souhaitable de définir les défauts au niveau le plus haut

• Le niveau le plus haut est la distribution de Sympa (/home/sympa/bin/etc/)

Page 14: Comité Réseau des Universités 1 Administration d’un service de listes de diffusion avec Serge Aumont & Olivier Salaün September 2004

Co

mité R

éseau d

es Un

iversités

14

Un robot par défaut ou pas…

• Le robot par défaut peut :1. Contenir les listes du service principal

2. Servir uniquement pour définir des défauts communs à tous les robots virtuel (dans ce cas il faut définir un paramètre host jamais utilisé)

• La solution (2) offre plus de souplesse

Page 15: Comité Réseau des Universités 1 Administration d’un service de listes de diffusion avec Serge Aumont & Olivier Salaün September 2004

Co

mité R

éseau d

es Un

iversités

15

Les rôles dans Sympaau niveau global

• Listmaster du site : – défini dans sympa.conf– Gère le service au niveau système

(personnalisation, création de robots virtuel, familles,…)

• Listmaster d’un robot virtuel : – Défini dans robot.conf– Valide les créations de listes, assure le

support auprès des propriétaires de listes

Page 16: Comité Réseau des Universités 1 Administration d’un service de listes de diffusion avec Serge Aumont & Olivier Salaün September 2004

Co

mité R

éseau d

es Un

iversités

16

Les rôles dans Sympaau niveau d’une liste

• Propriétaire : – Gère la population des abonnés (ajout, suppression,

bounces)– Configure la liste (paramètres, templates, scenarios)

• Propriétaire privilégié :– Gère les propriétaires– Accès à des paramètres de configuration sensibles

(send,…)• Modérateur :

– Gère les contenus de la liste (messages, documents partagés)

Page 17: Comité Réseau des Universités 1 Administration d’un service de listes de diffusion avec Serge Aumont & Olivier Salaün September 2004

Co

mité R

éseau d

es Un

iversités

17

Organisation des données

• Des fichiers pour :– La configuration (globale, des listes)– Les templates– Les « spools »– Les archives

• Une base de données pour :– Les préférences utilisateurs– Les membres des listes (nombreux attributs)– Les « gérants » des listes (cache uniquement ;

référence = fichier de configuration de la liste)

Page 18: Comité Réseau des Universités 1 Administration d’un service de listes de diffusion avec Serge Aumont & Olivier Salaün September 2004

Co

mité R

éseau d

es Un

iversités

18

Organisation / les répertoires

/home/sympa/bin/ # Exécutables/home/sympa/bin/etc/ # Configurations par défaut/home/sympa/etc/ # Configurations du site/home/sympa/etc/scenari/ # Scenarios d’autorisation/home/sympa/etc/mail_tt2/ # Messages de service/home/sympa/etc/web_tt2/ # Templates web/home/sympa/etc/family/ # Répertoire des modèles de familles/home/sympa/etc/mon-robot/ # Configurations robot virtuel/home/sympa/expl/ # Répertoire des listes/home/sympa/expl/maliste/ # Répretoire d’une liste/home/sympa/expl/X509r-certs/ # Certificats utilisateurs/home/sympa/spool/ # Les “spools”/home/sympa/src/ # Pour stoquer vos tar.gz…/var/bounce/ # Stockage des bounces/home/httpd/html/arc/ # Les archives web

Page 19: Comité Réseau des Universités 1 Administration d’un service de listes de diffusion avec Serge Aumont & Olivier Salaün September 2004

Co

mité R

éseau d

es Un

iversités

19

Organisation / les fichiers de configuration

/etc/sympa.conf # Configuration du site/etc/wwsympa.conf # Configuration relative à l’interf. web/home/sympa/etc/topics.conf # Les catégories de listes/home/sympa/etc/edit_list.conf # Qui peut éditer quel paramètre/home/sympa/etc/auth.conf # Configuration de

l’authentification/home/sympa/etc/mon-robot/robot.conf # Configuration d’un robot virtuel/home/sympa/etc/family/ma-famille/edit_list.conf/home/sympa/etc/family/ma-famille/param_constraint.conf # Contraintes

param. listes/home/sympa/expl/maliste/config # Fichier de configuration d’une

liste

Page 20: Comité Réseau des Universités 1 Administration d’un service de listes de diffusion avec Serge Aumont & Olivier Salaün September 2004

Co

mité R

éseau d

es Un

iversités

20

1. Disponibilité, versions2. Architecture générale et organisation de Sympa3. Interaction avec le système, structure de la base 4. Les robots virtuels5. Authentification 6. Autorisation7. Shibboleth 8. Protection des données individuelles9. Listes dynamiques10. Familles de listes11. Les templates12. Le serveur soap13. En cas de problème14. Perspectives

Page 21: Comité Réseau des Universités 1 Administration d’un service de listes de diffusion avec Serge Aumont & Olivier Salaün September 2004

Co

mité R

éseau d

es Un

iversités

21

Les démons

archived.pl

Internal database

bounced.pl

sympa.pl

wwsympa.fcgi

spool

sympasoap.fcgi

task_manager.pl

config

templates

Page 22: Comité Réseau des Universités 1 Administration d’un service de listes de diffusion avec Serge Aumont & Olivier Salaün September 2004

Co

mité R

éseau d

es Un

iversités

22

List config

Circuit d’un complexe mail

message

Sendmailroot.bin

msg

sympa.pluid sympa

outgoing auth mod

message message message message

confirm valid

confirmvalid

message

message

messagemessage mysql

Page 23: Comité Réseau des Universités 1 Administration d’un service de listes de diffusion avec Serge Aumont & Olivier Salaün September 2004

Co

mité R

éseau d

es Un

iversités

23

Interactions avec la messagerie

• exim, postfix, qmail, sendmail

• sendmail sympa.pl via spool msgma-liste: “| /etc/smrsh/queue ma-liste”

-rwsr-xr-x 1 sympa sympa 23971 Oct 13 14:55 /etc/smrsh/queue*

• sendmail bounced.pl : idem, bouncequeue

Page 24: Comité Réseau des Universités 1 Administration d’un service de listes de diffusion avec Serge Aumont & Olivier Salaün September 2004

Co

mité R

éseau d

es Un

iversités

24

Interactions avec la messagerie

• sympa.pl et wwsympa.pl /usr/bin/sendmail

• wwsympa.pl et sympa.pl newaliases-rwxr-xr-x 1 sympa sympa 5933 Oct 15 12:24 alias_manager.pl*

-rwsr-x--- 1 root sympa 22820 Oct 13 14:55 aliaswrapper*

sendmail.mc :define(`ALIAS_FILE', `/etc/mail/aliases,/etc/mail/sympa_aliases')dnl

• maxsmtp pour contrôler la charge du serveur• nrcpt pour optimser le groupage. Attention à ne pas

passer pour un spammeur

Page 25: Comité Réseau des Universités 1 Administration d’un service de listes de diffusion avec Serge Aumont & Olivier Salaün September 2004

Co

mité R

éseau d

es Un

iversités

25

Interactions avec Syslogd

• serveur de log unix

• Voir :– syslog.conf– log_socket_type dans sympa.conf– log_level dans sympa.conf et wwsympa.conf– option –d pour chaque démon (sauf fastcgi)

• Attention à la charge induite

Page 26: Comité Réseau des Universités 1 Administration d’un service de listes de diffusion avec Serge Aumont & Olivier Salaün September 2004

Co

mité R

éseau d

es Un

iversités

26

Interaction avec le systeme

MySQL ou autre SGBD pour le backend :

1. Le backend de type fichier (user_data_source file) est abandonné : perfs déplorables, manque fonctionnel, plus de support.

2. Le SGBD de référence est MySQL :• versions beta testées uniquement avec MySQL• Création et mise à jour automatique de la structure

des tables (au lancement de sympa.pl)

Page 27: Comité Réseau des Universités 1 Administration d’un service de listes de diffusion avec Serge Aumont & Olivier Salaün September 2004

Co

mité R

éseau d

es Un

iversités

27

Apache

• Un uid/gid unique pour wwsympa.fcgi, archived.pl, bounced.pl and sympa.pl.

1. wwsympa.fcgi : sympa.sympa + bit s

2. Serveur apache dédié avec uid sympa

3. Virtual host + directive User dans httpd.conf1. attention borne sup pour uid/gid)

http://httpd.apache.org/docs/suexec.html#install

2. attention directive User et Goup avant FastCgiServer

4. wrapper en C

Page 28: Comité Réseau des Universités 1 Administration d’un service de listes de diffusion avec Serge Aumont & Olivier Salaün September 2004

Co

mité R

éseau d

es Un

iversités

28

Apache fastcgi

FastCgiServer /home/sympa/bin/wwsympa.fcgi -processes 2

<Location /wws> SetHandler fastcgi-script </Location>

ScriptAlias /wws /home/sympa/bin/wwsympa.fcgi

• Fastcgi est requis

Page 29: Comité Réseau des Universités 1 Administration d’un service de listes de diffusion avec Serge Aumont & Olivier Salaün September 2004

Co

mité R

éseau d

es Un

iversités

29

OpenSSL

• openssl : binaire de OpenSSL,

• cafile capath : bundle des certificats d’AC (fichier et répertoire). Partage avec la config https recommandée

Page 30: Comité Réseau des Universités 1 Administration d’un service de listes de diffusion avec Serge Aumont & Olivier Salaün September 2004

Co

mité R

éseau d

es Un

iversités

30

OpenSSL

• key_password :mot de passe pour protéger les clés privées de chaque liste quand celle-ci dispose de certificat pour le chiffrement

• Installation d’un certificat de liste :p12topem.pl --pkcs12 cert.p12 –listname foo --robot cru.fr

Page 31: Comité Réseau des Universités 1 Administration d’un service de listes de diffusion avec Serge Aumont & Olivier Salaün September 2004

Co

mité R

éseau d

es Un

iversités

31

Antivirus

• Pour ne pas traiter les bounces

• mailhost et listhost différents

• Produit supportés : uvscan, avp, fsav, sophos, clamav

• Sympa.confantivirus_path /usr/local/bin/uvscan

antivirus_args --summary --secure

antivirus_notify nobody

Page 32: Comité Réseau des Universités 1 Administration d’un service de listes de diffusion avec Serge Aumont & Olivier Salaün September 2004

Co

mité R

éseau d

es Un

iversités

32

MhOnarc

• Le moteur de conversion utilisé par archived et le module de modération par le web

• Archives stokées dans un répertoire séparé (partition recommandée), voir arc_path

• Config de listeweb_archive

Access private

quota 10000

Page 33: Comité Réseau des Universités 1 Administration d’un service de listes de diffusion avec Serge Aumont & Olivier Salaün September 2004

Co

mité R

éseau d

es Un

iversités

33

archived.pl

MhOnarc

sympa.pl

wwsympa.fcgi

…/list@dom/arctxt/xx

…/list@dom/msgxx.html

removerebuild

mhonarc_ressources

tt2

…/spool/outgoing

Page 34: Comité Réseau des Universités 1 Administration d’un service de listes de diffusion avec Serge Aumont & Olivier Salaün September 2004

Co

mité R

éseau d

es Un

iversités

34

Page 35: Comité Réseau des Universités 1 Administration d’un service de listes de diffusion avec Serge Aumont & Olivier Salaün September 2004

Co

mité R

éseau d

es Un

iversités

35

htmlarea

• Compatible IE 5.5 et + et Mozilla 1.4 et + (Gecko)

• Installer htmlarea quelque part sur le même host

• http://sf.net/projects/itools-htmlarea/

• Renseigner htmlarea_url (wwsympa.conf)

Page 36: Comité Réseau des Universités 1 Administration d’un service de listes de diffusion avec Serge Aumont & Olivier Salaün September 2004

Co

mité R

éseau d

es Un

iversités

36

Structure de la base

Tables : user_table, subscriber_table, admin_table

user_table

email_user

gecos_user

password_user chiffrement réversible

cookie_delay_user permanence de session

lang_user

attributes_user cache des attributs hérités

Page 37: Comité Réseau des Universités 1 Administration d’un service de listes de diffusion avec Serge Aumont & Olivier Salaün September 2004

Co

mité R

éseau d

es Un

iversités

37

Structure de la base

subscriber_table

list_subscriber Ex: sympa-fr

user_subscriber Ex: [email protected]

date_subscriber # jour depuis 1970

update_subscriber Ex: 1097056590

visibility_subscriber Ex: conceal

reception_subscriber Ex: digest

Page 38: Comité Réseau des Universités 1 Administration d’un service de listes de diffusion avec Serge Aumont & Olivier Salaün September 2004

Co

mité R

éseau d

es Un

iversités

38

Structure de la base / subscriber

bounce_subscriber date de premier bounce, date de dernier bounce, nombre de bounce, type du dernier bounce, ex : 1097056590 1099888679 22 5.1.1

comment_subscriber gecos par liste

subscribed_subscriber 1 si add or sub

included_subscriber 1 si inclusion dynamique

include_sources_subscriber id de la source d’inclusion

bounce_score_subscriber euristique de désabonnement automatique, task_manager.pl

Page 39: Comité Réseau des Universités 1 Administration d’un service de listes de diffusion avec Serge Aumont & Olivier Salaün September 2004

Co

mité R

éseau d

es Un

iversités

39

Structure de la base

admin_table

user_admin Ex: [email protected]

list_admin Ex: sympa-fr

role_admin owner|editor

profile_admin Ex: privileged

reception_admin Ex: nomail

comment_admin gecos

info_admin Info privée

Page 40: Comité Réseau des Universités 1 Administration d’un service de listes de diffusion avec Serge Aumont & Olivier Salaün September 2004

Co

mité R

éseau d

es Un

iversités

40

Structure de la base

date_admin date création

update_admin date update

subscribed_admin 1 si definition statique

included_admin 1 si definition par include

include_sources_admin Id de la source d’incl

Page 41: Comité Réseau des Universités 1 Administration d’un service de listes de diffusion avec Serge Aumont & Olivier Salaün September 2004

Co

mité R

éseau d

es Un

iversités

41

MySQL : les droits

En fonctionnement normal

• select_priv• insert_priv• update_priv• delete_priv

Initialisation ou mis à jour

• create_priv

• drop_priv

• index_priv

• alter_priv

Créer un usager avec les droits suivants :

Page 42: Comité Réseau des Universités 1 Administration d’un service de listes de diffusion avec Serge Aumont & Olivier Salaün September 2004

Co

mité R

éseau d

es Un

iversités

42

1. Disponibilité, versions2. Architecture générale et organisation de Sympa3. Interaction avec le système, structure de la base 4. Les robots virtuels5. Authentification 6. Autorisation7. Shibboleth 8. Protection des données individuelles9. Listes dynamiques10. Familles de listes11. Les templates12. Le serveur soap13. En cas de problème14. Perspectives

Page 43: Comité Réseau des Universités 1 Administration d’un service de listes de diffusion avec Serge Aumont & Olivier Salaün September 2004

Co

mité R

éseau d

es Un

iversités

43

Robots virtuels

• Equivalent Sympa des domaines virtuels de sendmail et des hosts virtuels d’Apache

• Une seule installation de Sympa

• Les démons servent indistinctement tout les robots

• Pas de création en ligne du robot

Page 44: Comité Réseau des Universités 1 Administration d’un service de listes de diffusion avec Serge Aumont & Olivier Salaün September 2004

Co

mité R

éseau d

es Un

iversités

44

Installation messagerie

• Créer le domaine dans le DNS

• Installer un domaine virtuel sendmailvirtual-domains:virtual.org

virtusertable:@virtual.org virtual.org-%1%3

• Créer les alias virtual.org-sympa: "| ../bin/queue [email protected]"

virtual.org-listmaster: "| ../bin/queue [email protected]"

• template list_alias.tt2 a perrsonnaliser selon la forme de vos alias

Page 45: Comité Réseau des Universités 1 Administration d’un service de listes de diffusion avec Serge Aumont & Olivier Salaün September 2004

Co

mité R

éseau d

es Un

iversités

45

Installation apache

FastCgiServer /home/sympa/bin/wwsympa.fcgi -processes 3

<VirtualHost 190.213.92.1> ServerAdmin [email protected] DocumentRoot /var/www/virtual.org ServerName listes.virtual.org

<Location /wws> SetHandler fastcgi-script </Location> ScriptAlias /wws /home/sympa/bin/wwsympa.fcgi </VirtualHost>

Page 46: Comité Réseau des Universités 1 Administration d’un service de listes de diffusion avec Serge Aumont & Olivier Salaün September 2004

Co

mité R

éseau d

es Un

iversités

46

Installation robot virtuel/home/sympa/etc/virtual.org/robot.conf• http_host : comparé à $ENV{‘SERVER_NAME’}

pour déterminer quel robot solliciter.Exemple : http_host listes.virtual.org

• wwsympa_url base URL Exemple wwsympa_url http://listes.virtual.org/wws

Page 47: Comité Réseau des Universités 1 Administration d’un service de listes de diffusion avec Serge Aumont & Olivier Salaün September 2004

Co

mité R

éseau d

es Un

iversités

47

Installation robot virtuel

• soap_url• cookie_domain • email • title • default_home • create_list

• lang

• log_smtp

• listmaster

• max_size

• dark_color, light_color, text_color, bg_color, error_color, selected_color, shaded_color

• Les variables suivantes peuvent être positionnée pour un virtual robot , elles remplacent les valeures par défaut spécifiées dans sympa.conf :

Page 48: Comité Réseau des Universités 1 Administration d’un service de listes de diffusion avec Serge Aumont & Olivier Salaün September 2004

Co

mité R

éseau d

es Un

iversités

48

Exemple de robot.conf

http_host demo.sympa.org

wwsympa_url http://demo.sympa.org/wws

title A demo mailing list service

listmaster [email protected],[email protected]

create_list public_listmaster

default_home lists

lang us

default_shared_quota 5000

soap_url http://demo.sympa.org/soap

Page 49: Comité Réseau des Universités 1 Administration d’un service de listes de diffusion avec Serge Aumont & Olivier Salaün September 2004

Co

mité R

éseau d

es Un

iversités

49

Personnaliser les robots

• /home/sympa/etc/virtual.org/web_tt2/, • /home/sympa/etc/virtual.org/wws_templates/,

• /home/sympa/etc/virtual.org/mail_tt2/, • /home/sympa/etc/virtual.org/templates/,

• /home/sympa/etc/virtual.org/scenari/ • /home/sympa/etc/virtual.org/edit_list.conf• /home/sympa/etc/virtual.org/topics.conf

Page 50: Comité Réseau des Universités 1 Administration d’un service de listes de diffusion avec Serge Aumont & Olivier Salaün September 2004

Co

mité R

éseau d

es Un

iversités

50

1. Disponibilité, versions2. Architecture générale et organisation de Sympa3. Interaction avec le système, structure de la base 4. Les robots virtuels5. Authentification 6. Autorisation7. Shibboleth 8. Protection des données individuelles9. Listes dynamiques10. Familles de listes11. Les templates12. Le serveur soap13. En cas de problème14. Perspectives

Page 51: Comité Réseau des Universités 1 Administration d’un service de listes de diffusion avec Serge Aumont & Olivier Salaün September 2004

Co

mité R

éseau d

es Un

iversités

51

Authentification

• Sympa doit être compatible avec la politique d’authentification de l’établisssement (LDAP, SSO, Certificats X509)

• Toujours des usagers exterieurs. Comment traiter les exceptions ?

Page 52: Comité Réseau des Universités 1 Administration d’un service de listes de diffusion avec Serge Aumont & Olivier Salaün September 2004

Co

mité R

éseau d

es Un

iversités

52

Authentification

• Obligation de panacher les méthodes d’authentification

• Choix du système d’authentification en fonction de l’usager concerné.

• Préserver la cohérence de l’authentification à travers les différentes interfaces.

Page 53: Comité Réseau des Universités 1 Administration d’un service de listes de diffusion avec Serge Aumont & Olivier Salaün September 2004

Co

mité R

éseau d

es Un

iversités

53

Méthodes d’authentication Interface

Challenge de confirmation mail

Password (allocation par email) web

LDAP AuthN backend web

SSO: CAS

SSO: Shibboleth

Web & SOAP

Web

certificat utilisateur Mail: S/MIME

Web: HTTPS

Page 54: Comité Réseau des Universités 1 Administration d’un service de listes de diffusion avec Serge Aumont & Olivier Salaün September 2004

Co

mité R

éseau d

es Un

iversités

54

Login X509

Authentification classique, backend LDAP ou Sympa

WAYF

Page 55: Comité Réseau des Universités 1 Administration d’un service de listes de diffusion avec Serge Aumont & Olivier Salaün September 2004

Co

mité R

éseau d

es Un

iversités

55

Auth.conf

• Décrit les services d’authentification

• Décrit comment on choisit un service d’authentification lors du login.

• Pour chaque service, décrit comment obtenir l’email de la personne quand celle-ci est authentifiée avec un UID.

Page 56: Comité Réseau des Universités 1 Administration d’un service de listes de diffusion avec Serge Aumont & Olivier Salaün September 2004

Co

mité R

éseau d

es Un

iversités

56

authentification LDAP

• Si un service d’authentification LDAP est sélectionné :

1. Bind anonymous, recherche LDAP pour collecter le user_id à partir du email (si fourniture d’un email)

2. Bind user_id+ password pour vérifier le passwd

3. Bind anonymous pour collecter le email avec le user_id (si non fourni par l’utilisateur)

Page 57: Comité Réseau des Universités 1 Administration d’un service de listes de diffusion avec Serge Aumont & Olivier Salaün September 2004

Co

mité R

éseau d

es Un

iversités

57

Authentification LDAPldap host ldap1.cru.fr:392,ldap2.cru.fr:392 timeout 20 suffix dc=cru,dc=fr get_dn_by_uid_filter (uid=[sender]) get_dn_by_email (|(mail=[sender])(aliasmail=[sender])) alternative_email_attribute maildrop email_attribute mail scope sub

Page 58: Comité Réseau des Universités 1 Administration d’un service de listes de diffusion avec Serge Aumont & Olivier Salaün September 2004

Co

mité R

éseau d

es Un

iversités

58

Central Authentication Service

• Yale university web Single Sign On

• Usage universitaire croissant

• Basé sur des redirections et un ticket qui doit être validé par le serveur CAS

• canal Uportal pour Sympa

• CAS est trop centralisé, cohabitation avec d’autres systèmes d’authentification difficile.

Page 59: Comité Réseau des Universités 1 Administration d’un service de listes de diffusion avec Serge Aumont & Olivier Salaün September 2004

Co

mité R

éseau d

es Un

iversités

59

CAS

ClientSympa

Redirection ticket=17429

[email protected]

u

Who is he ?ticket=17429

ID=smith

Search email

for ID=smith

Email :[email protected]

u

LDAP

redirection.Is that user

authenticated?

Sympa interaction with one CAS server

Page 60: Comité Réseau des Universités 1 Administration d’un service de listes de diffusion avec Serge Aumont & Olivier Salaün September 2004

Co

mité R

éseau d

es Un

iversités

60

CAS 1

CAS 2

ClientSympa

[email protected]

WAYF ?

redirection.Is that user

authenticated?

User : ?Password ?

yesticket=17429Who is he ?

ticket=17429

ID=smith

Interaction with a chosen CAS server

Page 61: Comité Réseau des Universités 1 Administration d’un service de listes de diffusion avec Serge Aumont & Olivier Salaün September 2004

Co

mité R

éseau d

es Un

iversités

61

CAS 1

CAS 2

ClientSympa

non blocking redirection.Is that user

authenticated ?no

Non blocking redirection.Is that user

authenticated?

yesticket=17429

[email protected]

Who is he ?ticket=17429

ID=smith

Interaction with multiple CAS servers

Page 62: Comité Réseau des Universités 1 Administration d’un service de listes de diffusion avec Serge Aumont & Olivier Salaün September 2004

Co

mité R

éseau d

es Un

iversités

62

Un serveur CAS est en panne ?

• Toute redirection est sans issue

• La configuration de Sympa permet de choisir pour chaque serveur CAS si on essaye une redirection non bloquante.

• Surveiller disponibilité des serveurs CAS ?

Page 63: Comité Réseau des Universités 1 Administration d’un service de listes de diffusion avec Serge Aumont & Olivier Salaün September 2004

Co

mité R

éseau d

es Un

iversités

63

“CAS logout” ?

• Sympa mémorise la méthode d’authentification utilisée pour adapter le bouton logout

• Sympa efface son cookie de session et redirige l’utilisateur sur l’URL de logout CAS

• Insuffisant car CAS ne propose pas de service de logout centralisé

Page 64: Comité Réseau des Universités 1 Administration d’un service de listes de diffusion avec Serge Aumont & Olivier Salaün September 2004

Co

mité R

éseau d

es Un

iversités

64

Generic SSO

• Pour tout SSO si– un module apache en frontal d’une partie des

applications pour l’authentification– délivre à cette application une authentification dans

une variable d’environnement.– Que cette authentification soit sous forme d’un email

ou d’un id permettant de trouver l’email dans un annuaire LDAP

• Exemple « authentification basic Apache », Shibboleth, PAPI

• Sympa reste utilisable en mode anonyme

Page 65: Comité Réseau des Universités 1 Administration d’un service de listes de diffusion avec Serge Aumont & Olivier Salaün September 2004

Co

mité R

éseau d

es Un

iversités

65

Generic SSO / auth.conf

• Paragraphe generic_sso• service_name (nom du service d’authentification pour

l’utilisateur)• service_id ( pour contruire l’URL avec authentification

http://listes.domaine/wws/sso_login/service_id• email_http_header

variable d’environnement contenant le email• http_header_prefix

prefix des variables d’environnement à concerver comme attribut de la personne (mise en cache dans la base)

• Si email_http_header n’est pas défini : tous les paramètres pour get_email_by_uid idem CAS

Page 66: Comité Réseau des Universités 1 Administration d’un service de listes de diffusion avec Serge Aumont & Olivier Salaün September 2004

Co

mité R

éseau d

es Un

iversités

66

cas base_url https://cas.cru.fr:443 on_blocking_redirection off login_path /login service_validate_path /validate logout_path /logout auth_service_name CRU ldap_host ldap.cru.fr:392 ldap_get_email_by_uid_filter(&(uid=[uid])(objectClass=eduPerson)) ldap_timeout 10 ldap_suffix dc=cru,dc=fr ldap_scope sub ldap_email_attribute mail

ldap host ldap1.univ-nancy2.fr:392,ldap2.univ-nancy2.fr:392 timeout 20 suffix dc=univ-nancy2,dc=fr get_dn_by_uid_filter (uid=[sender]) get_dn_by_email (|(mail=[sender])(aliasmail=[sender])) alternative_email_attribute maildrop email_attribute mail scope

user_table negative_regexp (univ\-nancy2)\.fr

Page 67: Comité Réseau des Universités 1 Administration d’un service de listes de diffusion avec Serge Aumont & Olivier Salaün September 2004

Co

mité R

éseau d

es Un

iversités

67

TODO authentification• Supprimer le chiffrement réversible des

mots de passe, ne stocker que l’empreinte des mots de passe.

• Plus de rappel de mot de passe, seulement une réinitialisation

• Formulaire de login en HTTPS (chiffrement du flux contenant le mot de passe)

• Bouton d’identification par certificat client par config dans les templates

Page 68: Comité Réseau des Universités 1 Administration d’un service de listes de diffusion avec Serge Aumont & Olivier Salaün September 2004

Co

mité R

éseau d

es Un

iversités

68

1. Disponibilité, versions2. Architecture générale et organisation de Sympa3. Interaction avec le système, structure de la base 4. Les robots virtuels5. Authentification 6. Autorisation7. Shibboleth 8. Protection des données individuelles9. Listes dynamiques10. Familles de listes11. Les templates12. Le serveur soap13. En cas de problème14. Perspectives

Page 69: Comité Réseau des Universités 1 Administration d’un service de listes de diffusion avec Serge Aumont & Olivier Salaün September 2004

Co

mité R

éseau d

es Un

iversités

69

Le contrôle d’accès

• En général les applications implémentent 2 notions, public / privé :– Droit de s’abonner, de diffuser des messages,…

• Sympa permet d’exprimer des notions plus fines en testant le contexte :– L’appartenance de l’utilisateur à un groupe – Les attributs d’un message– L’origine de la requête– Le niveau d’authentification– …

Page 70: Comité Réseau des Universités 1 Administration d’un service de listes de diffusion avec Serge Aumont & Olivier Salaün September 2004

Co

mité R

éseau d

es Un

iversités

70

Gérer le contrôle d’accès

• Séparation authentification/autorisation• Définition de règles pour le contrôle d’accès :

– aux listes (subscribe, send, review, visibility,…)– au service (création de liste, catégories de listes)

• Configurable pour chaque liste (+ défauts)• Equivalence entre les 3 interfaces (mail, web,

soap)• Personnalisable grâce aux scénarios

d’autorisation (100 scénarios distribués avec Sympa)

Page 71: Comité Réseau des Universités 1 Administration d’un service de listes de diffusion avec Serge Aumont & Olivier Salaün September 2004

Co

mité R

éseau d

es Un

iversités

71

Les scénarios d’autorisation

• Un scénario est évalué pour accorder/refuser l’accès à un service de Sympa :– ainsi l’interface web est adapté au profil de l’utilisateur (seules

les fonctions accessibles sont proposées)

• Un scénario est constitué d’un ensemble de règles ordonnées

• Une règle est composée de :– la condition– les méthodes d ’authentification– l’action (décision)

• Le scénario comporte un titre décrivant son fonctionnement (utilisé lors du paramétrage de la liste)

Page 72: Comité Réseau des Universités 1 Administration d’un service de listes de diffusion avec Serge Aumont & Olivier Salaün September 2004

Co

mité R

éseau d

es Un

iversités

72

Exemples de scénarios...

is_editor([list->name],[sender]) smtp,smime -> do_itis_subscriber([list->name],[sender]) smtp,smime -> do_ittrue() smtp,smime -> reject

• Contexte :– Diffusion des messages

• Fonctionnalité : – Liste de discussion privée

Page 73: Comité Réseau des Universités 1 Administration d’un service de listes de diffusion avec Serge Aumont & Olivier Salaün September 2004

Co

mité R

éseau d

es Un

iversités

73

Exemples de scénarios...

is_editor([list->name],[sender]) smtp,smime -> do_itis_subscriber([list->name],[sender]) smtp,smime -> do_ittrue() smtp -> request_authtrue() md5,smime -> do_it

• Contexte :– Diffusion des messages

• Fonctionnalité : – Liste de discussion privée – Confirmation pour les non abonnés

Page 74: Comité Réseau des Universités 1 Administration d’un service de listes de diffusion avec Serge Aumont & Olivier Salaün September 2004

Co

mité R

éseau d

es Un

iversités

74

Exemples de scénarios...

is_editor([list->name],[sender]) smtp,md5,smime -> do_itmatch([msg_header->Content-type],/multipart/) smtp,md5,smime -> editorkeyis_subscriber([list->name],[sender]) smtp,smime -> do_ittrue() smtp -> request_authtrue() md5,smime -> do_it

• Contexte :– Diffusion des messages

• Fonctionnalité : – Liste de discussion privée– Confirmation pour les non abonnés– Modération des messages multipart

Page 75: Comité Réseau des Universités 1 Administration d’un service de listes de diffusion avec Serge Aumont & Olivier Salaün September 2004

Co

mité R

éseau d

es Un

iversités

75

Exemples de scénarios...

is_editor([list->name],[sender]) smtp,md5,smime -> do_itis_subscriber([list->name],[sender]) smtp,md5,smime -> do_it

match ([remote_host],/unicaen\.fr$/) md5,smime -> do_it

match([sender],/unicaen\.fr$/) md5,smime -> do_it

true() md5,smime -> reject

• Contexte :– Accès aux archives web

• Fonctionnalité : – Autoriser l’accès depuis l’intranet– Autoriser l’accès pour les utilisateurs authentifiés

ayant une adresse email locale– Autoriser l’accès pour les abonnés, depuis n’importe

Page 76: Comité Réseau des Universités 1 Administration d’un service de listes de diffusion avec Serge Aumont & Olivier Salaün September 2004

Co

mité R

éseau d

es Un

iversités

76

Syntaxe des scénarios (1)

• Les conditions :– is_subscriber(),is_owner(),is_editor(),is_listmaster()– equal(), match(), search()– true()

• Les variables :– [sender], [user->attr], [subscriber->attr],

[user_attributes->attr]– [list->param], [conf->param] – [remote_host], [remote_addr], [env->var]– [msg_header->field], [msg_body],[msg_part->type],

[msg_part->body], [msg_encrypted], [is_bcc] |

Page 77: Comité Réseau des Universités 1 Administration d’un service de listes de diffusion avec Serge Aumont & Olivier Salaün September 2004

Co

mité R

éseau d

es Un

iversités

77

Syntaxe des scénarios (2)

• Les méthodes d’authentification :– smtp– md5– smime– pgp (bientot)

• Les actions :– do_it [,notify | quiet], reject(<tpl_name>)– request_auth, owner, editor, editorkey,

listmaster

Page 78: Comité Réseau des Universités 1 Administration d’un service de listes de diffusion avec Serge Aumont & Olivier Salaün September 2004

Co

mité R

éseau d

es Un

iversités

78

Services utilisant les scénarios

• Diffusion des messages• Abonnement• Désabonnement• Ajout d’abonnés• Suppression d’abonnés• Accès à un document• Edition d’un document• Lister les abonnés

• Accès aux archives• Visibilité d’une liste• Accès aux information

sur la liste• Création d’une liste• Visibilité d’une

catégorie• …

Page 79: Comité Réseau des Universités 1 Administration d’un service de listes de diffusion avec Serge Aumont & Olivier Salaün September 2004

Co

mité R

éseau d

es Un

iversités

79

Exemple de scénarioexploitant l’annuaire LDAP

• Contexte :– Droit de s’abonner à la liste étudiante feministe-l

• Fonctionnalité : – Limité l’abonnement en fonction d’un attribut LDAP de

l’utilisateur

# female_students.ldaphost ldap.utexas.edu:389, ldap2..utexas.edu:389suffix dc=utexas,dc=edufilter &((EduPersonAffiliation = student)(mail = [sender])

(EduPersonGender = female))scope sub

filter (‘female_students.ldap’,,[sender]) smtp,md5,smime -> do_it

true() smtp,md5,smime -> owner

Page 80: Comité Réseau des Universités 1 Administration d’un service de listes de diffusion avec Serge Aumont & Olivier Salaün September 2004

Co

mité R

éseau d

es Un

iversités

80

Les scénariosExemple d’organisation

• Montrer l’organisation des fichiers/home/sympa/bin/etc/scenari/access_web_archive.closedaccess_web_archive.intranet…

/home/sympa/etc/scenari/include.send.headersend.intranet:ignoretopics_visibility.cru…

/home/sympa/etc/demo.sympa.org/scenari/include.subscribe.header…

/home/sympa/etc/family/mafamille/scenari/…

/home/sympa/expl/cru.fr/sympa-users/scenarisend.private_nofrench…

Page 81: Comité Réseau des Universités 1 Administration d’un service de listes de diffusion avec Serge Aumont & Olivier Salaün September 2004

Co

mité R

éseau d

es Un

iversités

81

Page 82: Comité Réseau des Universités 1 Administration d’un service de listes de diffusion avec Serge Aumont & Olivier Salaün September 2004

Co

mité R

éseau d

es Un

iversités

82

Scénarios / Personnalisation

• Se baser sur les scénarios existants (/home/sympa/bin/scenari/)

• Installer le nouveau scénario au niveau du site, du robot ou de la liste

• Prise en compte d’une modification sur un scénario :– touch /home/sympa/expl/maliste/config

• Inclusion include.action.header• Pour ignorer un scénario de la distribution :

– touch /home/sympa/etc/scenari/send.public:ignore

Page 83: Comité Réseau des Universités 1 Administration d’un service de listes de diffusion avec Serge Aumont & Olivier Salaün September 2004

Co

mité R

éseau d

es Un

iversités

83

Intégration avec LDAP

• 3 niveaux d’intégration en fonction des besoins :– Filtres LDAP : permettent de personnaliser un

scénario– Définition dynamiques des membres et/ou

des propriétaires d’une liste– Définition d’une famille de liste à partir de

l’annuaire LDAP

• Authentification basée sur LDAP

Page 84: Comité Réseau des Universités 1 Administration d’un service de listes de diffusion avec Serge Aumont & Olivier Salaün September 2004

Co

mité R

éseau d

es Un

iversités

84

1. Disponibilité, versions2. Architecture générale et organisation de Sympa3. Interaction avec le système, structure de la base 4. Les robots virtuels5. Authentification 6. Autorisation7. Shibboleth 8. Protection des données individuelles9. Listes dynamiques10. Familles de listes11. Les templates12. Le serveur soap13. En cas de problème14. Perspectives

Page 85: Comité Réseau des Universités 1 Administration d’un service de listes de diffusion avec Serge Aumont & Olivier Salaün September 2004

Co

mité R

éseau d

es Un

iversités

85

L’architecture Shibboleth

• Développé par Internet2• « Colle » entre des services de Single Sign-On

locaux pour permettre de partager des ressources entre Universités

• Les 3 composants de l’architecture Shibboleth :– Identity Provider : installé dans l’organisation d’origine

de l’utilisateur ; en frontal devant le service d’authentification et la base utilisateurs

– Service Provider : installé devant la ressource web à protéger ; communique avec l’Identity Provider

– WAYF (Where Are You From) : le composant central de l’architecture, partagé par plusieurs institutions ; il guide l’utilisateur jusqu’à son Identity Provider

Page 86: Comité Réseau des Universités 1 Administration d’un service de listes de diffusion avec Serge Aumont & Olivier Salaün September 2004

Co

mité R

éseau d

es Un

iversités

86

Shibboleth et SympaBesoins / Prérequis

• Besoin :– Construire des listes de diffusion inter-universitaires– Donner accès à une liste en fonction d’attributs

utilisateurs (gérés par son établissement)– Pas de gestion de comptes utilisateurs sur le serveur

de listes• Prérequis pour chaque organisme :

– Avoir un service d’authentification– Installer la partie Identity Provider de Shibboleth – Partager une nomenclature commune des attributs

utilisateurs (formations, catégorie de personnels,…)

Page 87: Comité Réseau des Universités 1 Administration d’un service de listes de diffusion avec Serge Aumont & Olivier Salaün September 2004

Co

mité R

éseau d

es Un

iversités

87

Interaction entre Sympa et Shibboleth

• WWSympa délègue l’authentification à Shibboleth

• Sympa est une ressource protégée par la brique Service Provider de Shibboleth

• Shibboleth fournit des attributs utilisateurs à Sympa (adresse email requise)

• Sympa exploite les attributs Shibboleth pour :– Personnaliser l’interface web– Adapter les privilèges utilisateur

Page 88: Comité Réseau des Universités 1 Administration d’un service de listes de diffusion avec Serge Aumont & Olivier Salaün September 2004

Co

mité R

éseau d

es Un

iversités

88

Zone publique

Zone àAccès restreint

login RessourceManager

Attributs

utilisateur

AttributeAuthority

HandleService

Identity Provider

WAYF

SHARSHIRE

Service Provider

identité attributs

ShibbolethSympa

Page 89: Comité Réseau des Universités 1 Administration d’un service de listes de diffusion avec Serge Aumont & Olivier Salaün September 2004

Co

mité R

éseau d

es Un

iversités

89

Configuration

# Sympa configuration (auth.conf)

generic_sso

service_name InQueue Federation

service_id inqueue

http_header_prefix HTTP_SHIB

email_http_header HTTP_SHIB_EP_AFFILIATION

# Apache configuration

<Location /wws/sso_login/inqueue>

AuthType shibboleth

require affiliation ~ ^member@.+

</Location>

Page 90: Comité Réseau des Universités 1 Administration d’un service de listes de diffusion avec Serge Aumont & Olivier Salaün September 2004

Co

mité R

éseau d

es Un

iversités

90

Contrôle d’accès basé sur des attributs Shibboleth

• Attributs utilisateur Shibboleth :– Hérités via des variables d’environnement– Stoqués comme des données de session dans la

base de Sympa (champ user_attribute)– Accessible depuis les scenarios

• Scenario sample rule:

# check if the user is a geology or archeology studentequal([user_attributes->SHIB_STUDY_BRANCH],’geology’) md5 -> do_itequal([user_attributes->SHIB_STUDY_BRANCH],’archeology’) md5 -> do_ittrue() smtp,md5,smime -> reject

Page 91: Comité Réseau des Universités 1 Administration d’un service de listes de diffusion avec Serge Aumont & Olivier Salaün September 2004

Co

mité R

éseau d

es Un

iversités

91

1. Disponibilité, versions2. Architecture générale et organisation de Sympa3. Interaction avec le système, structure de la base 4. Les robots virtuels5. Authentification 6. Autorisation7. Shibboleth 8. Protection des données individuelles9. Listes dynamiques10. Familles de listes11. Les templates12. Le serveur soap13. En cas de problème14. Perspectives

Page 92: Comité Réseau des Universités 1 Administration d’un service de listes de diffusion avec Serge Aumont & Olivier Salaün September 2004

Co

mité R

éseau d

es Un

iversités

92

Données personelles/archives

• Spammers use spam harvester• Googling (googliation) is a peril

Sympa solution :• Sympa hides emails using javascript (google

indexation is possible) or by a form (all automatic process blocked in archives)

• X-No-Archive header feld• Users can delete there own posts from archives

Page 93: Comité Réseau des Universités 1 Administration d’un service de listes de diffusion avec Serge Aumont & Olivier Salaün September 2004

Co

mité R

éseau d

es Un

iversités

93

Protection des données personelles

• Mise en œuvre de la tracabilité des abonnements (demande de l’afnic S.Bortzmeyer)

• Objectif prouver l’OPT IN ou expliquer le OPT OUT

• Conserver les messages et les éléments d’authentification pour chaque abonnement

Page 94: Comité Réseau des Universités 1 Administration d’un service de listes de diffusion avec Serge Aumont & Olivier Salaün September 2004

Co

mité R

éseau d

es Un

iversités

94

1. Disponibilité, versions2. Architecture générale et organisation de Sympa3. Interaction avec le système, structure de la base 4. Les robots virtuels5. Authentification 6. Autorisation7. Shibboleth 8. Protection des données individuelles9. Listes dynamiques10. Familles de listes11. Les templates12. Le serveur soap13. En cas de problème14. Perspectives

Page 95: Comité Réseau des Universités 1 Administration d’un service de listes de diffusion avec Serge Aumont & Olivier Salaün September 2004

Co

mité R

éseau d

es Un

iversités

95

Listes de diffusion classiques

• ADD, DEL, SUB, UNSUBSCRIBE

• Taches administratives dupliquées pour maintenir la cohérence avec un référentiel

• Utilisation des listes comme un outil de gestion de groupes

• Abonnement de listes dans des listes (sous-listes)

Page 96: Comité Réseau des Universités 1 Administration d’un service de listes de diffusion avec Serge Aumont & Olivier Salaün September 2004

Co

mité R

éseau d

es Un

iversités

96

Listes dynamiques

• Définition des listes d’abonnés directement via des sources de données quelconques du système d‘information :– fichiers locaux– autres listes locales– requêtes sql– filtres LDAP– autres listes d’un autre serveur diffusion (remote_lists

en désuétude)– URL (cgi !)

Page 97: Comité Réseau des Universités 1 Administration d’un service de listes de diffusion avec Serge Aumont & Olivier Salaün September 2004

Co

mité R

éseau d

es Un

iversités

97

Dynamic mailing list

task_manager.pl

Internal database

SGBD

bounced.pl

sympa.pl

wwsympa.fcgi

TTL LDAPLDAP

fichiersfichiers

http://...

Page 98: Comité Réseau des Universités 1 Administration d’un service de listes de diffusion avec Serge Aumont & Olivier Salaün September 2004

Co

mité R

éseau d

es Un

iversités

98

Include LDAP

include_ldap_query

host ldap.cru.fr,replica.cru.fr:387

suffix dc=cru, dc=fr

timeout 10

filter (&(student=math) (dc=fr))

attrs mail

select first

Page 99: Comité Réseau des Universités 1 Administration d’un service de listes de diffusion avec Serge Aumont & Olivier Salaün September 2004

Co

mité R

éseau d

es Un

iversités

99

Include LDAP (contrib from Dalbec ysu.edu)

include_ldap_2level_queryhost ldap.univ.fr suffix1 ou=Groups,dc=univ,dc=fr scope1 one filter1 (&(objectClass=groupOfUniqueNames) (|

(cn=cri)) attrs1 uniquemember select1 all

First LDAP query to select a group

For each group member fetch his email adress

suffix2 [attrs1] scope2 base filter2 (objectClass=n2pers) attrs2 mail select2 first

Page 100: Comité Réseau des Universités 1 Administration d’un service de listes de diffusion avec Serge Aumont & Olivier Salaün September 2004

Co

mité R

éseau d

es Un

iversités

100

Listes dynamiques / perf

Importance de l’objectif de performances• Aucune page délivrée par wwsympa.fcgi

sans évaluer toutes les listes (même lists ou help)

• Ldap_2_level_query impose une requête LDAP par abonné (des milliers)

1. Cache en base de donnée2. Gestion de la vie du cache : TTL3. Mise à jour asynchrone task_manager.pl

Page 101: Comité Réseau des Universités 1 Administration d’un service de listes de diffusion avec Serge Aumont & Olivier Salaün September 2004

Co

mité R

éseau d

es Un

iversités

101

Uniquement avec include2

• Listes panachées ADD,DEL + include

• Include2 mode gestion par défaut

• Gestion des bounces

• Options d’abonnement (nomail très utile)

• Gestionnaire de groupes ?– En lecture seulement– Interrogation en SOAP (is_subscribers,

review)

Page 102: Comité Réseau des Universités 1 Administration d’un service de listes de diffusion avec Serge Aumont & Olivier Salaün September 2004

Co

mité R

éseau d

es Un

iversités

102

demo

• Overview of list admin page

• List configuration overview (data_source)

• review

Page 103: Comité Réseau des Universités 1 Administration d’un service de listes de diffusion avec Serge Aumont & Olivier Salaün September 2004

Co

mité R

éseau d

es Un

iversités

103

Listes dynamiques

• Définition des owners et editor de listes selon la même méthode.

• Idée : – abonnés = étudiants de maths– editor = enseignants de math– owner = responsable de la formation math

• Destiné à la gestion de listes par paquets

• Disponible dans la version 5.0

Page 104: Comité Réseau des Universités 1 Administration d’un service de listes de diffusion avec Serge Aumont & Olivier Salaün September 2004

Co

mité R

éseau d

es Un

iversités

104

1. Disponibilité, versions2. Architecture générale et organisation de Sympa3. Interaction avec le système, structure de la base 4. Les robots virtuels5. Authentification 6. Autorisation7. Shibboleth 8. Protection des données individuelles9. Listes dynamiques10. Familles de listes11. Les templates12. Le serveur soap13. En cas de problème14. Perspectives

Page 105: Comité Réseau des Universités 1 Administration d’un service de listes de diffusion avec Serge Aumont & Olivier Salaün September 2004

Co

mité R

éseau d

es Un

iversités

105

Pourquoi le concept de famille?

• On observe l’usage de script maison pour la création des listes

• Exemple tamu.edu : 30.000 listes

• Comment gérer les très grands nombres de listes de diffusion correspondants à des catégories de personnes ?

Page 106: Comité Réseau des Universités 1 Administration d’un service de listes de diffusion avec Serge Aumont & Olivier Salaün September 2004

Co

mité R

éseau d

es Un

iversités

106

Pourquoi le concept de famille

• Dans le schéma initial, la création d’une liste on choisi un type de liste

• Le type de liste fait référence à un gabarit de config. (create_list_template/config.tt2)

• Cette info n’est pas conservée. Rien ne permet de s’assurer que la liste créée restera conforme au type de liste choisi.

Page 107: Comité Réseau des Universités 1 Administration d’un service de listes de diffusion avec Serge Aumont & Olivier Salaün September 2004

Co

mité R

éseau d

es Un

iversités

107

Pourquoi le concept des familles

• Dans le cas de création de liste avec des scripts, il est impossible de gérer les ensembles de listes après leur création.– Le changement d’un détail dans la config du

paquet de liste oblige à régénérer toutes les listes et écrase les personnalisations éventuelles de chaque liste.

– On identifie pas les listes qui doivent disparaître

• Il faut un outil de gestion de familles de listes.

Page 108: Comité Réseau des Universités 1 Administration d’un service de listes de diffusion avec Serge Aumont & Olivier Salaün September 2004

Co

mité R

éseau d

es Un

iversités

108

List families (Version 5)

• Les familles permettent la création et la gestion d’un très grand nombre de listes conformément à une politique

• La configuration d’une liste est complexe (une 50taine de paramètres)

• Les familles de listes simplifient la création en permettant de choisir un mode de fonctionnement sans entrer dans le détail du paramétrage

Page 109: Comité Réseau des Universités 1 Administration d’un service de listes de diffusion avec Serge Aumont & Olivier Salaün September 2004

Co

mité R

éseau d

es Un

iversités

109

Family definition

Lists families in Sympa

<family><list>….</list></family>

List template param_constraint edit_list

List aList a

List aList A

Family instantiation

Data coming from information system. XML format

skeleton of configuration fileUse var that are defined in XML file required constraint for each

parameter (example review is private or owner)

For each parameter, defines who can edit it :(listmaster,privilegied owner or owner)

Page 110: Comité Réseau des Universités 1 Administration d’un service de listes de diffusion avec Serge Aumont & Olivier Salaün September 2004

Co

mité R

éseau d

es Un

iversités

110

Family definition

Lists families in Sympa

<form><input type=..>…</form>

List template param_constraint edit_list

List AFamily instantiation

Data coming from web formSympa.pl –instantiate_family=ftest –input_file=data.xml

Page 111: Comité Réseau des Universités 1 Administration d’un service de listes de diffusion avec Serge Aumont & Olivier Salaün September 2004

Co

mité R

éseau d

es Un

iversités

111

XML data and list templateJeu de données

<?xml version="1.0" ?> <family><list><listname>networking.ipv6</listname><family>my_profile</family><section>computer_science<section><option>networking</option></list><list><listname>…</listname><section>…</section>…</list></family>

config.tt2

subject students of [section]/[option]

title all students from department [section], course [option]

web_archive private

include_ldap_queryHost ldap.foo.edu:389,backup.foo.edusuffix dc=foo, dc=edufilter(&(section=[section])(option=[option]))attrs mail

owner_includeInclude_ldap_query…..

Page 112: Comité Réseau des Universités 1 Administration d’un service de listes de diffusion avec Serge Aumont & Olivier Salaün September 2004

Co

mité R

éseau d

es Un

iversités

112

Qui modifie quoi dans la config ?

• Roles : owner, privileged owner, listmaster• Le owner de la liste a besoin de contrôler de

nombreux paramètres de sa liste• Le listmaster a besoin d’un contrôle sur le

fonctionnement de chaque famille de liste de chaque robot :– Ex :taille max d’un message d’une newsletter– Ex :Le créateur initial de la liste ne peut en abandonner

la responsabilité – ….

Page 113: Comité Réseau des Universités 1 Administration d’un service de listes de diffusion avec Serge Aumont & Olivier Salaün September 2004

Co

mité R

éseau d

es Un

iversités

113

edit_list.conf

user_data_source owner,privileged_owner hiddenttl owner,privileged_owner hiddenshared_doc owner,privileged_owner writereview owner readreview privileged_owner writefooter_type owner,privileged_owner hiddenowner owner readowner.profile owner,privileged_owner readowner privileged_owner write

default listmaster write

Page 114: Comité Réseau des Universités 1 Administration d’un service de listes de diffusion avec Serge Aumont & Olivier Salaün September 2004

Co

mité R

éseau d

es Un

iversités

114

param_constraint.conf

• Enumération des valeures autorisées pour une famille donnée

# very simple example# parameter edition controlsend private_smime, editor_keyweb_archive private,ownershared_doc.d_read private,ownerShared_doc.d_edit owner

Page 115: Comité Réseau des Universités 1 Administration d’un service de listes de diffusion avec Serge Aumont & Olivier Salaün September 2004

Co

mité R

éseau d

es Un

iversités

115

Edition en ligne de la config

Formulaire d’édition auto-adaptatif :

• les rôles de la personne identifiée

• edit_list.conf

• param_constraint.conf

• (ordonné et coupé en plusieurs pages par paramètres interne au code)

Page 116: Comité Réseau des Universités 1 Administration d’un service de listes de diffusion avec Serge Aumont & Olivier Salaün September 2004

Co

mité R

éseau d

es Un

iversités

116

Evolution d’une famille

• Le changement du jeu de données, du template ou de param_constraint entraîne la régénération des listes de la famille

• Certaines listes peuvent disparaître

• Sympa conserve les personnalisations faites via le web si elles sont compatibles avec param_constraint.conf

Page 117: Comité Réseau des Universités 1 Administration d’un service de listes de diffusion avec Serge Aumont & Olivier Salaün September 2004

Co

mité R

éseau d

es Un

iversités

117

Lists families in Sympa

• Dispo en version 5.0

• Redéfinition des familles à chaque niveau– robot – site – distribution.

• Familles de listes = expression technique d’une politique de listes + création de listes par paquet

Page 118: Comité Réseau des Universités 1 Administration d’un service de listes de diffusion avec Serge Aumont & Olivier Salaün September 2004

Co

mité R

éseau d

es Un

iversités

118

1. Disponibilité, versions2. Architecture générale et organisation de Sympa3. Interaction avec le système, structure de la base 4. Les robots virtuels5. Authentification 6. Autorisation7. Shibboleth 8. Protection des données individuelles9. Listes dynamiques10. Familles de listes11. Les templates12. Le serveur soap13. En cas de problème14. Perspectives

Page 119: Comité Réseau des Universités 1 Administration d’un service de listes de diffusion avec Serge Aumont & Olivier Salaün September 2004

Co

mité R

éseau d

es Un

iversités

119

Les templates

• Dans Sympa, les templates permettent de séparer l’interface utilisateur du code

• Les templates sont utilisés pour définir :– l’interface web– les messages de service– les modèles de listes– les alias de messagerie

• Tous les templates sont personnalisables à différents niveaux :– site / robot / famille / liste

Page 120: Comité Réseau des Universités 1 Administration d’un service de listes de diffusion avec Serge Aumont & Olivier Salaün September 2004

Co

mité R

éseau d

es Un

iversités

120

Les templates / format

• Jusqu’à la version 4.1.2, les templates utilisaient un format « propriétaire » (fichiers .tpl)

• Les versions à venir utilisent le format TT2 (http://www.tt2.org) – format proche des .tpl– migration automatique des .tpl en .tt2– Separation du HTML et des traductions– plus de divergence du nombre de templates

(auparavant un jeu par langue)

Page 121: Comité Réseau des Universités 1 Administration d’un service de listes de diffusion avec Serge Aumont & Olivier Salaün September 2004

Co

mité R

éseau d

es Un

iversités

121

Les templates / organisation

• Les messages de service (mail_tt2/) :– 34 templates (message de bienvenue, fichier d’aide,

compilation des messages,…)

• Les templates web (web_tt2/) :– 67 templates : main.tt2 + bandeaux + templates

d’action

• Multi-linguisme :– [%|loc%]Chaine à traduire[%END%]– web_tt2/fr_FR/info.tt2

Page 122: Comité Réseau des Universités 1 Administration d’un service de listes de diffusion avec Serge Aumont & Olivier Salaün September 2004

Co

mité R

éseau d

es Un

iversités

122

Le format TT2(voir http://www.tt2.org)

• Substitution de variables :– [% var %] ou [% struct.var %]

• Inclusions :– [% INSERT fichier %] ou [% PROCESS fic.tt2 %]

• Conditions :– [% IF var1 %]…[% ELSIF var2 %]…[%END%]

• Boucles :– [% FOREACH var IN liste %] …[% END %]

• Des filtres :– [% FILTER qencode %] Entête à encoder[%END%]

Page 123: Comité Réseau des Universités 1 Administration d’un service de listes de diffusion avec Serge Aumont & Olivier Salaün September 2004

Co

mité R

éseau d

es Un

iversités

123

Exemple de message de serviceglobal_remind.tt2

Summary of your subscription (using the e-mail [% user.email %]).If you want to unsubscribe from some list, please save this mail.

Foreach list here is a mailto to use if you want to unsubscribe.

-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=[% FOREACH l = lists %][% l %] mailto:[% conf.sympa %]?subject=sig%20[% l %]%20[% user.email %][% END %]-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

[% IF user.password %]

In order to authenticate on the web interface([% conf.wwsympa %])use your e-mail [% user.email %] and your password [% user.password %]

[% END %]

Page 124: Comité Réseau des Universités 1 Administration d’un service de listes de diffusion avec Serge Aumont & Olivier Salaün September 2004

Co

mité R

éseau d

es Un

iversités

124

Exemple de template weblist_menu.tt2

……….[% IF is_editor %] [% IF mod_total == '0' %] No message to moderate [% ELSE %] Messages to moderate :<B> [% mod_total %]</B> [% END %] [% IF shared == 'exist' %] <BR><BR> [% IF mod_total_shared == '0' %] No document to moderate [% ELSE %] <B>Documents to moderate :<B> [% mod_total_shared %]</B> [% END %] [% END %][% END %]……….

Page 125: Comité Réseau des Universités 1 Administration d’un service de listes de diffusion avec Serge Aumont & Olivier Salaün September 2004

Co

mité R

éseau d

es Un

iversités

125

Les templates / variables disponibles

• Pas (encore) de documentation exhaustive

• Se baser sur les templates distribués par défaut

Page 126: Comité Réseau des Universités 1 Administration d’un service de listes de diffusion avec Serge Aumont & Olivier Salaün September 2004

Co

mité R

éseau d

es Un

iversités

126

Page 127: Comité Réseau des Universités 1 Administration d’un service de listes de diffusion avec Serge Aumont & Olivier Salaün September 2004

Co

mité R

éseau d

es Un

iversités

127

Page 128: Comité Réseau des Universités 1 Administration d’un service de listes de diffusion avec Serge Aumont & Olivier Salaün September 2004

Co

mité R

éseau d

es Un

iversités

128

Page 129: Comité Réseau des Universités 1 Administration d’un service de listes de diffusion avec Serge Aumont & Olivier Salaün September 2004

Co

mité R

éseau d

es Un

iversités

129

Page 130: Comité Réseau des Universités 1 Administration d’un service de listes de diffusion avec Serge Aumont & Olivier Salaün September 2004

Co

mité R

éseau d

es Un

iversités

130

1. Disponibilité, versions2. Architecture générale et organisation de Sympa3. Interaction avec le système, structure de la base 4. Les robots virtuels5. Authentification 6. Autorisation7. Shibboleth 8. Protection des données individuelles9. Listes dynamiques10. Familles de listes11. Les templates12. Le serveur soap13. En cas de problème14. Perspectives

Page 131: Comité Réseau des Universités 1 Administration d’un service de listes de diffusion avec Serge Aumont & Olivier Salaün September 2004

Co

mité R

éseau d

es Un

iversités

131

SOAP en bref…

• « Web services » = SOAP

• SOAP = XML sur HTTP

• Appel procédural distant (alternative à XML-RPC, RMI)

• Indépendant du language de programmation

• Librairies disponibles : SOAP::Lite (Perl),Axis (Java), NuSOAP (PHP),…

Page 132: Comité Réseau des Universités 1 Administration d’un service de listes de diffusion avec Serge Aumont & Olivier Salaün September 2004

Co

mité R

éseau d

es Un

iversités

132

Interface SOAP pour Sympa

• Permet d’utiliser les services de Sympa depuis une autre application

• Alternative à l’accès direct aux données de Sympa, préférable car :– Le format des données peut évoluer– L’authentification et le contrôle d’accès sont

préservés

• L’interface est principalement utilisée pour inclure un canal Sympa dans Uportal

Page 133: Comité Réseau des Universités 1 Administration d’un service de listes de diffusion avec Serge Aumont & Olivier Salaün September 2004

Co

mité R

éseau d

es Un

iversités

133

SOAP dans Sympa

• Un nouveau FastCGI : sympa_soap_server.fcgi

• Accédé via Apache (versus standalone)

• Utilise la bibliothèque SOAP::Lite

• Description des services au format WSDL

• Utilisation des cookies HTTP pour maintenir la session (pb avec PHP)

Page 134: Comité Réseau des Universités 1 Administration d’un service de listes de diffusion avec Serge Aumont & Olivier Salaün September 2004

Co

mité R

éseau d

es Un

iversités

134

Configuration du service SOAP

## extrait de httpd.confFastCgiServer /home/sympa/bin/sympa_soap_server.fcgi -processes 1ScriptAlias /sympasoap /home/sympa/bin/sympa_soap_server.fcgi

<Location /sympasoap> SetHandler fastcgi-script</Location>

## sympa.conf / robot.conf

soap_url http://my.server/sympasoap

Page 135: Comité Réseau des Universités 1 Administration d’un service de listes de diffusion avec Serge Aumont & Olivier Salaün September 2004

Co

mité R

éseau d

es Un

iversités

135

Les services proposés

• Pour l’instant les fonctionnalités sont limitées :login, which, lists, subscribe, signoff, review

• Extensions envisagées (si utiles) : archives, création de liste, add, del,…

• Authentification par mot de passe ou par “ticket” (fonctionnalité “proxy” de CAS)

• Evolution possible vers SAML…

Page 136: Comité Réseau des Universités 1 Administration d’un service de listes de diffusion avec Serge Aumont & Olivier Salaün September 2004

Co

mité R

éseau d

es Un

iversités

136

Exemple de client PHP(http://demo.sympa.org/sampleClient.php)

<?php

include('/home/sympa/bin/nusoap.php');

require_once('nusoap.php');

$soapclient->debug_flag=true;

global $soapServer;

$soapServer = "http://demo.sympa.org/wws/wsdl";

$soapclient = new soapclient($soapServer,'wsdl');

$res = $soapclient->call('authenticateAndRun',array($userEmail,$md5, 'subscribe', array($_GET['list'])));

if (gettype($res) == 'array') {

echo "<P ALIGN=\"center\"><FONT COLOR=\"#ff0000\">Subscription failed<BR>".$res['faultstring']." : ".$res['detail']."</FONT></P>\n";

}else {

echo "<P ALIGN=\"center\"><FONT COLOR=\"#99ccff\">Successfully subscribed</FONT></P>\n";

}

}

Page 137: Comité Réseau des Universités 1 Administration d’un service de listes de diffusion avec Serge Aumont & Olivier Salaün September 2004

Co

mité R

éseau d

es Un

iversités

137

Un canal Sympa dans Uportal

• Utilisation de AXIS• Génération automatique d’un squelette (stub) à partir du

WSDL :– java org.apache.axis.wsdl.WSDL2Java -av

http://demo.sympa.org/wws/wsdl• Exemple de code client :

SympaSOAP loc = new SympaSOAPLocator();((SympaSOAPLocator)loc).setMaintainSession(true);SympaPort tmp = loc.getSympaPort();String _value = tmp.casLogin(_ticket);String _cookie = tmp.checkCookie();String[] _abonnements = tmp.which();

Page 138: Comité Réseau des Universités 1 Administration d’un service de listes de diffusion avec Serge Aumont & Olivier Salaün September 2004

Co

mité R

éseau d

es Un

iversités

138

1. Disponibilité, versions2. Architecture générale et organisation de Sympa3. Interaction avec le système, structure de la base 4. Les robots virtuels5. Authentification 6. Autorisation7. Shibboleth 8. Protection des données individuelles9. Listes dynamiques10. Familles de listes11. Les templates12. Le serveur soap13. En cas de problème14. Perspectives

Page 139: Comité Réseau des Universités 1 Administration d’un service de listes de diffusion avec Serge Aumont & Olivier Salaün September 2004

Co

mité R

éseau d

es Un

iversités

139

Résolution de problèmesGénéralités

• Analyser les logs de Sympa, de Apache, de Sendmail, de mysql, de OpenLDAP,…

• Tous les processus sont-ils lancés ?– /etc/rc.d/init.d/sympa status

• Démarrer sympa.pl en mode debug (-d) ou augmenter le ‘log_level’ (sympa.conf)

• Vérifier les droits d’accès sur les fichiers, les répertoires

Page 140: Comité Réseau des Universités 1 Administration d’un service de listes de diffusion avec Serge Aumont & Olivier Salaün September 2004

Co

mité R

éseau d

es Un

iversités

140

Problème de réception des messages

• Les alias sont-ils correctement installés

• Utilisez-vous smrsh ?

• Les messages sont-ils déposés dans le spool de Sympa (spool/msg/) ?

• Sympa.pl est-il lancé ?

• Option --keepcopy

Page 141: Comité Réseau des Universités 1 Administration d’un service de listes de diffusion avec Serge Aumont & Olivier Salaün September 2004

Co

mité R

éseau d

es Un

iversités

141

Pas de gestion automatique des alias

• Si vous n’utilisez pas sendmail, il faudra faire du « tuning » (voir FAQ)…

• Vérifiez le bit ‘SetUID’ sur aliaswrapper• Le fichier sympa_aliases a-t-il les bons accès ?• Le fichier sympa_aliases est-il connu de

sendmail ?• Les options de configure :

– --with-sendmail_aliases– --with-newaliases– --with-newaliases_arg

Page 142: Comité Réseau des Universités 1 Administration d’un service de listes de diffusion avec Serge Aumont & Olivier Salaün September 2004

Co

mité R

éseau d

es Un

iversités

142

Je n’ai pas de logs…

• Avez-vous paramétré /etc/syslog.conf ?

• Redémarrer syslogd.

• Modifiez le paramètre log_socket_type.

• "_PATH_LOG not found in syslog.ph“

• Sous Solaris ‘.*' n’est pas reconnu dans syslog.conf

Page 143: Comité Réseau des Universités 1 Administration d’un service de listes de diffusion avec Serge Aumont & Olivier Salaün September 2004

Co

mité R

éseau d

es Un

iversités

143

Robot virtuel non reconnu

• Vérifiez les paramètres ‘host’ et ‘http_host’ dans robot.conf

• Vérifiez que le paramètre passé à queue depuis les alias de messagerie est qualifié avec le bon nom de domaine

Page 144: Comité Réseau des Universités 1 Administration d’un service de listes de diffusion avec Serge Aumont & Olivier Salaün September 2004

Co

mité R

éseau d

es Un

iversités

144

Problèmes LDAP

• Avez-vous installé le module perl-ldap ?

• Par défaut OpenLDAP limite la réponse à une requête à 500 enregistrements

Page 145: Comité Réseau des Universités 1 Administration d’un service de listes de diffusion avec Serge Aumont & Olivier Salaün September 2004

Co

mité R

éseau d

es Un

iversités

145

Problème d’accès aux archives

• Vous accédez à l’interface web via un Proxy ?• WWSympa doit s’exécuter sous l’identité

‘sympa’.• Si le HTML est incorrect, essayez de

reconstruire les archives (depuis « Admin Sympa »)

• Vous pouvez personnaliser le fichier mhonarc-ressources

Page 146: Comité Réseau des Universités 1 Administration d’un service de listes de diffusion avec Serge Aumont & Olivier Salaün September 2004

Co

mité R

éseau d

es Un

iversités

146

1. Disponibilité, versions2. Architecture générale et organisation de Sympa3. Interaction avec le système, structure de la base 4. Les robots virtuels5. Authentification 6. Autorisation7. Shibboleth 8. Protection des données individuelles9. Listes dynamiques10. Familles de listes11. Les templates12. Le serveur soap13. En cas de problème14. Perspectives

Page 147: Comité Réseau des Universités 1 Administration d’un service de listes de diffusion avec Serge Aumont & Olivier Salaün September 2004

Co

mité R

éseau d

es Un

iversités

147

TODO

Ce chapitre est conçu pour votre information et pour tester vos réactions

• de plus en plus copieux

• préparation de la 5.0 Alpha (Décembre)

• Objectif 5.0 stable 1er trimestre 2005

Page 148: Comité Réseau des Universités 1 Administration d’un service de listes de diffusion avec Serge Aumont & Olivier Salaün September 2004

Co

mité R

éseau d

es Un

iversités

148

La 5.0

• tt2• Shared :

– modération des documents– upload .zip– vision admin / vision sans privilège

• Définition par include de owner et editor• Include source distante via URL• Familles• Canaux RSS

Page 149: Comité Réseau des Universités 1 Administration d’un service de listes de diffusion avec Serge Aumont & Olivier Salaün September 2004

Co

mité R

éseau d

es Un

iversités

149

Vers la version 6

• Relooker les pages web• Abonnement thématique• Prise en compte complète des alt_email• Composeur de messages MIME• Aide à la modération• Gestionnaire d’enquête• Visibilité des journaux de chaque liste• Editeur de topics• Abonnement multiple

Page 150: Comité Réseau des Universités 1 Administration d’un service de listes de diffusion avec Serge Aumont & Olivier Salaün September 2004

Co

mité R

éseau d

es Un

iversités

150

Vers la version 6

• Le « bulk mailer » :– casser le groupage : verp / parsing du message– distribution spécifique pour les abonnés en erreur

(en fin de queue, verp et spool direct)– nrcpt.conf– points de reprise

• multithread• mailsig (technique de signatuer anti-spam)• PGP et PGP / S/MIME

Page 151: Comité Réseau des Universités 1 Administration d’un service de listes de diffusion avec Serge Aumont & Olivier Salaün September 2004

Co

mité R

éseau d

es Un

iversités

151

Vers la version 6

• Une couche attribut formalisée• Homonymie des listes et robot virtuel• Extention des services soap• Portail multi-serveur (client soap dans

wwsympa.fcgi)• Remonté des résultats d’un scenario• Red hat• Terminer le merge sympa et wwsympa