Pourquoi Sympa par le CRU ? Les inscrits Les utilisateurs
Transcription
Pourquoi Sympa par le CRU ? Les inscrits Les utilisateurs
Novembre 2004 Comité Réseau des Universités Comité Réseau des Universités Administration d’un service de listes de diffusion avec 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 …) Serge Aumont & Olivier Salaün September 2004 1 2 • 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 3 Comité Réseau des Universités Comité Réseau des Universités Les inscrits 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 4 1 Novembre 2004 1. 2. 3. 4. 5. 6. 7. 8. Manuel de référence FAQ Archives des listes Google site:sympa.org « mon problème » Articles et présentations Listes de discussion (sympa-fr, sympa-dev) Support commercial [email protected] Comité Réseau des Universités Comité Réseau des Universités Le support (http://www.sympa.org) 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 5 Disponibilité, versions Architecture générale et organisation de Sympa Interaction avec le système, structure de la base robots virtuels Authentification Autorisation Shibboleth Protection des données individuelles Listes dynamiques Familles de listes Les templates Le serveur soap En cas de problème Perspectives 6 Comité Réseau des Universités Comité Réseau des Universités Ce qui ne sera PAS abordé aujourd’hui... Evolution des versions Mars 2004 • Présentation exhaustive des fonctionnalités utilisateur • Installation « pas à pas » de Sympa • Fonctionnalités S/MIME 7 Juillet 2000 SOAP Auth. CAS, Shibboleth Gestion auto. Bounces HTML Area 3.4.4 WWSympa inclus S/MIME 4.1 2.7.3 8 3.4 HEAD Fin 2004/début Octobre 2002 2005 TT2 Include 2 Familles AuthN de LDAP listes Include Virtual owners robots Modération Task manager documents CanalDocuments RSS partagés Upload Antivirus zip 4.1.2 2 Novembre 2004 • sympa-xx.tar.gz Comité Réseau des Universités Comité Réseau des Universités Distribution de Sympa Mise à jour de votre installation • Incompatibilités : – indiquées dans le fichier NEWS (lignes *****) – affiché au début du make install – Préserve les personnalisations – Gestion automatique des dépendances CPAN – Maj automatique des structures de données • Installation/Maj des modules CPAN : – Géré automatiquement au make install • Paquets : • Modification de la structure de la base : – Debian : sympa 4.1.2 dans unstable – Mandrake : maintenu par le rectorat de Nantes – RedHat : pas maintenu !! – Pour MySQL mise à jour auto, au démarrage de sympa.pl • Préservation de vos personnalisations : • CVS : ne pas installer une version « anonyme » !! – Seul le répertoire /home/sympa/bin/ est écrasé 9 10 Comité Réseau des Universités Comité Réseau des Universités 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 11 Disponibilité, versions Architecture générale et organisation de Sympa Interaction avec le système, structure de la base Les robots virtuels Authentification Autorisation Shibboleth Protection des données individuelles Listes dynamiques Familles de listes Les templates Le serveur soap En cas de problème Perspectives Organisation d’un serveur Sympa Serveur Robots virtuels super listmaster listes.cru.fr recherche.gouv.fr jres.org cru.fr listmaster Familles owner Listes [email protected] [email protected] editor 12 3 Novembre 2004 • Mecanisme d’héritage s’applicant aux : – – – – Comité Réseau des Universités Comité Réseau des Universités Une organisation hiérarchique Fichiers de configuration et aux paramètres Fichiers d’authorisation (scenarios) Templates web Messages de service (templates) Un robot par défaut ou pas… • • 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/) • 13 La solution (2) offre plus de souplesse 14 • Listmaster du site : – défini dans sympa.conf – Gère le service au niveau système (personnalisation, création de robots virtuel, familles,…) Comité Réseau des Universités Comité Réseau des Universités Les rôles dans Sympa au niveau global Les rôles dans Sympa au 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,…) • 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 15 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é) • Modérateur : – Gère les contenus de la liste (messages, documents partagés) 16 4 Novembre 2004 • Des fichiers pour : – – – – Comité Réseau des Universités Comité Réseau des Universités Organisation des données 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) 17 /home/sympa/bin/ /home/sympa/bin/etc/ /home/sympa/etc/ /home/sympa/etc/scenari/ /home/sympa/etc/mail_tt2/ /home/sympa/etc/web_tt2/ /home/sympa/etc/family/ /home/sympa/etc/mon-robot/ /home/sympa/expl/ /home/sympa/expl/maliste/ /home/sympa/expl/X509r-certs/ /home/sympa/spool/ /home/sympa/src/ /var/bounce/ /home/httpd/html/arc/ # Exécutables # Configurations par défaut # Configurations du site # Scenarios d’autorisation # Messages de service # Templates web # Répertoire des modèles de familles # Configurations robot virtuel # Répertoire des listes # Répretoire d’une liste # Certificats utilisateurs # Les “spools” # Pour stoquer vos tar.gz… # Stockage des bounces # Les archives web 18 /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 Comité Réseau des Universités Comité Réseau des Universités Organisation / les fichiers de configuration 19 Organisation / les répertoires 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. Disponibilité, versions Architecture générale et organisation de Sympa Interaction avec le système, structure de la base Les robots virtuels Authentification Autorisation Shibboleth Protection des données individuelles Listes dynamiques Familles de listes Les templates Le serveur soap En cas de problème Perspectives 20 5 Novembre 2004 Comité Réseau des Universités Comité Réseau des Universités Les démons sympa.pl Circuit d’un complexe mail valid confirm message wwsympa.fcgi List config Internal database spool message task_manager.pl message message archived.pl Sendmail root.bin sympa.pl uid sympa mysql message config bounced.pl msg templates message confirm valid auth message mod message outgoing message sympasoap.fcgi 21 22 • exim, postfix, qmail, sendmail • sendmail ⇒ sympa.pl via spool msg ma-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 23 Comité Réseau des Universités Comité Réseau des Universités Interactions avec la messagerie 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 24 6 Novembre 2004 • serveur de log unix • Voir : Comité Réseau des Universités Comité Réseau des Universités Interactions avec Syslogd – syslog.conf – log_socket_type dans sympa.conf – log_level dans sympa.conf et wwsympa.conf 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 : • • – option –d pour chaque démon (sauf fastcgi) • Attention à la charge induite 25 26 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.conf 1. attention borne sup pour uid/gid) Comité Réseau des Universités Comité Réseau des Universités Apache • versions beta testées uniquement avec MySQL Création et mise à jour automatique de la structure des tables (au lancement de sympa.pl) Apache fastcgi • Fastcgi est requis FastCgiServer /home/sympa/bin/wwsympa.fcgi -processes 2 <Location /wws> SetHandler fastcgi-script </Location> ScriptAlias /wws /home/sympa/bin/wwsympa.fcgi http://httpd.apache.org/docs/suexec.html#install 2. attention directive User et Goup avant FastCgiServer 4. wrapper en C 27 28 7 Novembre 2004 • openssl : binaire de OpenSSL, • cafile capath : bundle des certificats d’AC (fichier et répertoire). Partage avec la config https recommandée Comité Réseau des Universités Comité Réseau des Universités OpenSSL 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 29 30 • Pour ne pas traiter les bounces • mailhost et listhost différents • Produit supportés : uvscan, avp, fsav, sophos, clamav • Sympa.conf antivirus_path /usr/local/bin/uvscan antivirus_args --summary --secure antivirus_notify nobody 31 Comité Réseau des Universités Comité Réseau des Universités Antivirus 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 liste web_archive Access private quota 10000 32 8 Novembre 2004 …/spool/outgoing Comité Réseau des Universités Comité Réseau des Universités MhOnarc sympa.pl archived.pl remove rebuild mhonarc_ressources wwsympa.fcgi tt2 …/list@dom/msgxx.html …/list@dom/arctxt/xx 33 34 • 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) Comité Réseau des Universités Comité Réseau des Universités htmlarea 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 35 cache des attributs hérités 36 9 Novembre 2004 subscriber_table list_subscriber Ex: sympa-fr Comité Réseau des Universités Comité Réseau des Universités Structure de la base 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 gecos par liste user_subscriber Ex: [email protected] date_subscriber # jour depuis 1970 comment_subscriber subscribed_subscriber update_subscriber Ex: 1097056590 included_subscriber 1 si inclusion dynamique visibility_subscriber Ex: conceal include_sources_subscriber id de la source d’inclusion reception_subscriber Ex: digest bounce_score_subscriber euristique de désabonnement automatique, task_manager.pl 37 38 user_admin admin_table 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 Comité Réseau des Universités Comité Réseau des Universités Structure de la base 39 1 si add or sub 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 40 10 Novembre 2004 Créer un usager avec les droits suivants : En fonctionnement normal Initialisation ou mis à jour • • • • • • • • select_priv insert_priv update_priv delete_priv Comité Réseau des Universités Comité Réseau des Universités MySQL : les droits 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. create_priv drop_priv index_priv alter_priv 41 42 • 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 Comité Réseau des Universités Comité Réseau des Universités Robots virtuels Installation messagerie • • Créer le domaine dans le DNS Installer un domaine virtuel sendmail virtual-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]" • 43 Disponibilité, versions Architecture générale et organisation de Sympa Interaction avec le système, structure de la base Les robots virtuels Authentification Autorisation Shibboleth Protection des données individuelles Listes dynamiques Familles de listes Les templates Le serveur soap En cas de problème Perspectives template list_alias.tt2 a perrsonnaliser selon la forme de vos alias 44 11 Novembre 2004 FastCgiServer /home/sympa/bin/wwsympa.fcgi -processes 3 Comité Réseau des Universités Comité Réseau des Universités Installation apache <VirtualHost 190.213.92.1> ServerAdmin [email protected] DocumentRoot /var/www/virtual.org ServerName listes.virtual.org 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 <Location /wws> SetHandler fastcgi-script </Location> ScriptAlias /wws /home/sympa/bin/wwsympa.fcgi </VirtualHost> 45 46 • Les variables suivantes peuvent être positionnée pour un virtual robot , elles remplacent les valeures par défaut spécifiées dans sympa.conf : • • • • • • 47 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 Comité Réseau des Universités Comité Réseau des Universités Installation robot virtuel 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 48 12 Novembre 2004 • /home/sympa/etc/virtual.org/web_tt2/, Comité Réseau des Universités Comité Réseau des Universités Personnaliser les robots 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. • /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 49 50 • Sympa doit être compatible avec la politique d’authentification de l’établisssement (LDAP, SSO, Certificats X509) • Toujours des usagers exterieurs. Comment traiter les exceptions ? Comité Réseau des Universités Comité Réseau des Universités Authentification 51 Disponibilité, versions Architecture générale et organisation de Sympa Interaction avec le système, structure de la base Les robots virtuels Authentification Autorisation Shibboleth Protection des données individuelles Listes dynamiques Familles de listes Les templates Le serveur soap En cas de problème Perspectives 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. 52 13 Novembre 2004 Challenge de confirmation Interface mail Comité Réseau des Universités Comité Réseau des Universités Méthodes d’authentication Login X509 Password (allocation par email) web LDAP AuthN backend web SSO: CAS SSO: Shibboleth certificat utilisateur Web & SOAP Web Mail: S/MIME Web: HTTPS Authentification classique, backend LDAP ou Sympa WAYF 53 54 • 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 celleci est authentifiée avec un UID. 55 Comité Réseau des Universités Comité Réseau des Universités Auth.conf 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) 56 14 Novembre 2004 Comité Réseau des Universités Comité Réseau des Universités Authentification LDAP ldap 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 57 • 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. 58 Email : [email protected] Welcome [email protected] Search email for ID=smith Sympa Who is he ? ticket=17429 ID=smith Comité Réseau des Universités Comité Réseau des Universités Sympa interaction with one CAS server LDAP 59 Central Authentication Service Interaction with a chosen CAS server CAS 1 Welcome [email protected] Client Client WAYF ? Redirection ticket=17429 CAS Sympa redirection. Is that user authenticated? redirection. Is that user authenticated? ID=smith yes Who is he ? ticket=17429 ticket=17429 User : ? Password ? CAS 2 60 15 Novembre 2004 no non blocking redirection. Is that user authenticated ? Sympa Client yes ticket=17429 Who is he ? ticket=17429 Comité Réseau des Universités Comité Réseau des Universités Interaction with multiple CAS servers CAS 1 CAS 2 Welcome [email protected] 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 ? Non blocking redirection. Is that user authenticated? ID=smith 61 62 • 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é 63 Comité Réseau des Universités Comité Réseau des Universités “CAS logout” ? 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 64 16 Novembre 2004 • 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 Comité Réseau des Universités Comité Réseau des Universités Generic SSO / auth.conf 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 65 66 • 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 (univ\-nancy2)\.fr Comité Réseau des Universités Comité Réseau des Universités TODO authentification 67 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 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. Disponibilité, versions Architecture générale et organisation de Sympa Interaction avec le système, structure de la base Les robots virtuels Authentification Autorisation Shibboleth Protection des données individuelles Listes dynamiques Familles de listes Les templates Le serveur soap En cas de problème Perspectives 68 17 Novembre 2004 Comité Réseau des Universités Comité Réseau des Universités Le contrôle d’accès Gérer le contrôle d’accès • En général les applications implémentent 2 notions, public / privé : • Séparation authentification/autorisation • Définition de règles pour le contrôle d’accès : – Droit de s’abonner, de diffuser des messages,… – aux listes (subscribe, send, review, visibility,…) – au service (création de liste, catégories de listes) • 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 … 69 70 • 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) 71 Comité Réseau des Universités Comité Réseau des Universités Les scénarios d’autorisation • 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) Exemples de scénarios... • Contexte : – Diffusion des messages • Fonctionnalité : – Liste de discussion privée is_editor([list->name],[sender]) is_subscriber([list->name],[sender]) true() smtp,smime smtp,smime smtp,smime -> do_it -> do_it -> reject 72 18 Novembre 2004 • Contexte : Comité Réseau des Universités Comité Réseau des Universités Exemples de scénarios... Exemples de scénarios... • Contexte : – Diffusion des messages – Diffusion des messages • Fonctionnalité : • Fonctionnalité : – Liste de discussion privée – Confirmation pour les non abonnés – Modération des messages multipart – Liste de discussion privée – Confirmation pour les non abonnés is_editor([list->name],[sender]) is_subscriber([list->name],[sender]) true() true() smtp,smime smtp,smime smtp md5,smime is_editor([list->name],[sender]) smtp,md5,smime -> do_it match([msg_header->Content-type],/multipart/) smtp,md5,smime -> editorkey is_subscriber([list->name],[sender]) smtp,smime -> do_it true() smtp -> request_auth true() md5,smime -> do_it -> do_it -> do_it -> request_auth -> do_it 73 74 • Contexte : Comité Réseau des Universités Comité Réseau des Universités Exemples de scénarios... Syntaxe des scénarios (1) • Les conditions : – Accès aux archives web – is_subscriber(),is_owner(),is_editor(),is_listmaster() – equal(), match(), search() – true() • 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 où is_editor([list->name],[sender]) smtp,md5,smime is_subscriber([list->name],[sender]) smtp,md5,smime match ([remote_host],/unicaen\.fr$/) md5,smime -> do_it match([sender],/unicaen\.fr$/) md5,smime -> do_it true() md5,smime -> reject 75 • 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] | -> do_it -> do_it 76 19 Novembre 2004 • Les méthodes d’authentification : Comité Réseau des Universités Comité Réseau des Universités Syntaxe des scénarios (2) – smtp – md5 – smime – pgp (bientot) • Les actions : – do_it [,notify | quiet], reject(<tpl_name>) – request_auth, owner, editor, editorkey, listmaster 77 • Contexte : – Droit de s’abonner à la liste étudiante feministe-l • Fonctionnalité : – Limité l’abonnement en fonction d’un attribut LDAP de l’utilisateur filter (‘female_students.ldap’,,[sender]) smtp,md5,smime -> do_it true() smtp,md5,smime -> owner # female_students.ldap host ldap.utexas.edu:389, ldap2..utexas.edu:389 suffix dc=utexas,dc=edu filter &((EduPersonAffiliation = student)(mail = [sender]) (EduPersonGender = female)) scope sub 79 Comité Réseau des Universités Comité Réseau des Universités Exemple de scénario exploitant l’annuaire LDAP 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 78 • 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 • … Les scénarios Exemple d’organisation • Montrer l’organisation des fichiers /home/sympa/bin/etc/scenari/ access_web_archive.closed access_web_archive.intranet … /home/sympa/etc/scenari/ include.send.header send.intranet:ignore topics_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/scenari send.private_nofrench … 80 20 Novembre 2004 Comité Réseau des Universités Comité Réseau des Universités 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 81 82 • 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 83 Comité Réseau des Universités Comité Réseau des Universités Intégration avec LDAP 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. Disponibilité, versions Architecture générale et organisation de Sympa Interaction avec le système, structure de la base Les robots virtuels Authentification Autorisation Shibboleth Protection des données individuelles Listes dynamiques Familles de listes Les templates Le serveur soap En cas de problème Perspectives 84 21 Novembre 2004 • 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 : Comité Réseau des Universités Comité Réseau des Universités L’architecture Shibboleth • Besoin : Shibboleth et Sympa Besoins / Prérequis – 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 – 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 • 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,…) 85 86 • 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 Comité Réseau des Universités Comité Réseau des Universités Interaction entre Sympa et Shibboleth Sympa Identity Provider Attribute Handle Authority Service Zone publique login Shibboleth Ressource Manager Attributs WAYF utilisateur Zone à Accès restreint identité SHIRE 87 88 attributs SHAR Service Provider 22 Novembre 2004 # 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 Comité Réseau des Universités Comité Réseau des Universités Configuration • Scenario sample rule: # check if the user is a geology or archeology student equal([user_attributes->SHIB_STUDY_BRANCH],’geology’) md5 -> do_it equal([user_attributes->SHIB_STUDY_BRANCH],’archeology’) md5 -> do_it true() smtp,md5,smime -> reject 89 90 Comité Réseau des Universités Comité Réseau des Universités 91 • 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 # Apache configuration <Location /wws/sso_login/inqueue> AuthType shibboleth require affiliation ~ ^member@.+ </Location> 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. Contrôle d’accès basé sur des attributs Shibboleth Disponibilité, versions Architecture générale et organisation de Sympa Interaction avec le système, structure de la base Les robots virtuels Authentification Autorisation Shibboleth Protection des données individuelles Listes dynamiques Familles de listes Les templates Le serveur soap En cas de problème Perspectives 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 92 23 Novembre 2004 • 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 Comité Réseau des Universités Comité Réseau des Universités Protection des données personelles 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 93 94 • 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) Comité Réseau des Universités Comité Réseau des Universités Listes de diffusion classiques 95 Disponibilité, versions Architecture générale et organisation de Sympa Interaction avec le système, structure de la base Les robots virtuels Authentification Autorisation Shibboleth Protection des données individuelles Listes dynamiques Familles de listes Les templates Le serveur soap En cas de problème Perspectives 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 !) 96 24 Novembre 2004 LDAP LDAP TTL Comité Réseau des Universités Comité Réseau des Universités Dynamic mailing list task_manager.pl SGBD Internal database fichiers fichiers bounced.pl sympa.pl wwsympa.fcgi 98 99 include_ldap_2level_query host ldap.univ.fr suffix1 ou=Groups,dc=univ,dc=fr scope1 one filter1 (&(objectClass=groupOfUniqueNames) (| (cn=cri)) attrs1 uniquemember select1 all suffix2 [attrs1] scope2 base filter2 (objectClass=n2 pers) attrs2 mail select2 first Comité Réseau des Universités Comité Réseau des Universités Include LDAP (contrib from Dalbec ysu.edu) For each group member fetch his email adress 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 http://... 97 First LDAP query to select a group Include LDAP 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ée 2. Gestion de la vie du cache : TTL 3. Mise à jour asynchrone task_manager.pl 100 25 Novembre 2004 • • • • • 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 ? Comité Réseau des Universités Comité Réseau des Universités Uniquement avec include2 demo • Overview of list admin page • List configuration overview (data_source) • review – En lecture seulement – Interrogation en SOAP (is_subscribers, review) 101 102 • 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 103 version 5.0 Comité Réseau des Universités Comité Réseau des Universités Listes dynamiques 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. Disponibilité, versions Architecture générale et organisation de Sympa Interaction avec le système, structure de la base Les robots virtuels Authentification Autorisation Shibboleth Protection des données individuelles Listes dynamiques Familles de listes Les templates Le serveur soap En cas de problème Perspectives 104 26 Novembre 2004 Comité Réseau des Universités Comité Réseau des Universités 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 ? 105 • 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. 106 • 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. Comité Réseau des Universités Comité Réseau des Universités Pourquoi le concept des familles 107 Pourquoi le concept de famille 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 108 27 Novembre 2004 Family definition List template <family> <list>….</list> </family> param_constraint Family definition List template List a List a List a List A <form> <input type=..>… </form> parameter (example review is private or owner) For each parameter, defines who can edit it :(listmaster,privilegied owner or owner) Data coming from web form 109 param_constraint Family instantiation edit_list List A Sympa.pl –instantiate_family=ftest – input_file=data.xml 110 Jeu 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_query Host ldap.foo.edu:389,backup.foo.edu suffix dc=foo, dc=edu filter(&(section=[section])(option=[option])) attrs mail Comité Réseau des Universités Comité Réseau des Universités XML data and list template 111 Lists families in Sympa edit_list skeleton of configuration file Family instantiation Use var that are defined in XML file required constraint for each Data coming from information system. XML format Comité Réseau des Universités Comité Réseau des Universités Lists families in Sympa 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é – …. owner_include Include_ldap_query ….. 112 28 Novembre 2004 user_data_source ttl shared_doc review review footer_type owner owner.profile owner owner,privileged_owner owner,privileged_owner owner,privileged_owner owner privileged_owner owner,privileged_owner owner owner,privileged_owner privileged_owner hidden hidden write read write hidden read read write default listmaster write Comité Réseau des Universités Comité Réseau des Universités edit_list.conf 113 • Enumération des valeures autorisées pour une famille donnée # very simple example # parameter edition control send private_smime, editor_key web_archive private,owner shared_doc.d_read private,owner Shared_doc.d_edit owner 114 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) Comité Réseau des Universités Comité Réseau des Universités Edition en ligne de la config 115 param_constraint.conf 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 116 29 Novembre 2004 • Dispo en version 5.0 • Redéfinition des familles à chaque niveau Comité Réseau des Universités Comité Réseau des Universités Lists families in Sympa 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. – robot – site – distribution. • Familles de listes = expression technique d’une politique de listes + création de listes par paquet 117 118 • 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 Comité Réseau des Universités Comité Réseau des Universités Les templates 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) • Tous les templates sont personnalisables à différents niveaux : – site / robot / famille / liste 119 Disponibilité, versions Architecture générale et organisation de Sympa Interaction avec le système, structure de la base Les robots virtuels Authentification Autorisation Shibboleth Protection des données individuelles Listes dynamiques Familles de listes Les templates Le serveur soap En cas de problème Perspectives 120 – 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) 30 Novembre 2004 • Les messages de service (mail_tt2/) : Comité Réseau des Universités Comité Réseau des Universités Les templates / organisation Le format TT2 (voir http://www.tt2.org) • Substitution de variables : – [% var %] ou [% struct.var %] – 34 templates (message de bienvenue, fichier d’aide, compilation des messages,…) • Inclusions : – [% INSERT fichier %] ou [% PROCESS fic.tt2 %] • Les templates web (web_tt2/) : • Conditions : – 67 templates : main.tt2 + bandeaux + templates d’action – [% IF var1 %]…[% ELSIF var2 %]…[%END%] • Boucles : – [% FOREACH var IN liste %] …[% END %] • Des filtres : • Multi-linguisme : – [%|loc%]Chaine à traduire[%END%] – web_tt2/fr_FR/info.tt2 – [% FILTER qencode %] Entête à encoder[%END%] 121 122 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 %] 123 Comité Réseau des Universités Comité Réseau des Universités Exemple de message de service global_remind.tt2 Exemple de template web list_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 %] ………. 124 31 Novembre 2004 • Pas (encore) de documentation exhaustive • Se baser sur les templates distribués par défaut Comité Réseau des Universités Comité Réseau des Universités Les templates / variables disponibles 125 126 Comité Réseau des Universités Comité Réseau des Universités 127 128 32 Novembre 2004 Comité Réseau des Universités Comité Réseau des Universités 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 129 Disponibilité, versions Architecture générale et organisation de Sympa Interaction avec le système, structure de la base Les robots virtuels Authentification Autorisation Shibboleth Protection des données individuelles Listes dynamiques Familles de listes Les templates Le serveur soap En cas de problème Perspectives 130 • « 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), Comité Réseau des Universités Comité Réseau des Universités SOAP en bref… 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 Axis (Java), NuSOAP (PHP),… 131 132 33 Novembre 2004 • 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) Comité Réseau des Universités Comité Réseau des Universités SOAP dans Sympa ## extrait de httpd.conf FastCgiServer /home/sympa/bin/sympa_soap_server.fcgi -processes 1 ScriptAlias /sympasoap /home/sympa/bin/sympa_soap_server.fcgi <Location /sympasoap> SetHandler fastcgi-script </Location> ## sympa.conf / robot.conf soap_url http://my.server/sympasoap 133 134 • 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… Comité Réseau des Universités Comité Réseau des Universités Les services proposés 135 Configuration du service SOAP 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"; } 136 } 34 Novembre 2004 • Utilisation de AXIS • Génération automatique d’un squelette (stub) à partir du WSDL : Comité Réseau des Universités Comité Réseau des Universités Un canal Sympa dans Uportal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. – 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(); 137 138 • 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 Comité Réseau des Universités Comité Réseau des Universités Résolution de problèmes Généralités 139 Disponibilité, versions Architecture générale et organisation de Sympa Interaction avec le système, structure de la base Les robots virtuels Authentification Autorisation Shibboleth Protection des données individuelles Listes dynamiques Familles de listes Les templates Le serveur soap En cas de problème Perspectives 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 140 35 Novembre 2004 • 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 : Comité Réseau des Universités Comité Réseau des Universités Pas de gestion automatique des alias Je n’ai pas de logs… • • • • • – --with-sendmail_aliases – --with-newaliases – --with-newaliases_arg 141 142 • 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 Comité Réseau des Universités Comité Réseau des Universités Robot virtuel non reconnu 143 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 Problèmes LDAP • Avez-vous installé le module perl-ldap ? • Par défaut OpenLDAP limite la réponse à une requête à 500 enregistrements 144 36 Novembre 2004 • 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 mhonarcressources Comité Réseau des Universités Comité Réseau des Universités Problème d’accès aux archives 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 145 146 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 Comité Réseau des Universités Comité Réseau des Universités TODO 147 Disponibilité, versions Architecture générale et organisation de Sympa Interaction avec le système, structure de la base Les robots virtuels Authentification Autorisation Shibboleth Protection des données individuelles Listes dynamiques Familles de listes Les templates Le serveur soap En cas de problème Perspectives 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 148 37 Novembre 2004 • • • • • • • • • 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 149 Comité Réseau des Universités Comité Réseau des Universités Vers la version 6 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 150 Comité Réseau des Universités 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 151 38