Está en la página 1de 4

Sympa ADMINISTRACIN

Software de listas de correo Sympa 6

EL MAESTRO DE LAS LISTAS


Las listas de correo son mas complejas de lo que aparentan a primera vista, especialmente si esperamos que sean amigables para el usuario. Sympa 6.0 rompe moldes con un sencillo portal de mantenimiento basado en Web. POR MATTHIAS WARKUS
Sharpshot, Fotolia

des empresas, los usuarios suelen pertenecer a varios grupos. La corta lista de administradores que son responsables

Roles en Sympa
Sympa identifica cinco roles de usuario diferentes: masters de lista, propietarios con permisos, propietarios estndar, moderadores y suscriptores. A los moderadores se les permite moderar mensajes de sus propias listas. Los propietarios configuran sus propias listas y nombran a otros propietarios o moderadores si son propietarios con permisos. Los masters de la lista tienen permisos sin restricciones, a pesar de que los escenarios pueden reasignar estos permisos. Una lista siempre tiene al menos un propietario, a pesar de que ste no tiene por qu ser un propietario con permisos. Si y slo si una lista no tiene moderador, los propietarios asumen esta responsabilidad.

as listas de correo son con frecuencia el mnimo denominador comn de una solucin groupware. Si un grupo es demasiado grande o muy descentralizado para una solucin convencional de groupware, una lista de correo es a menudo la mejor manera de estar conectado. Aunque Yahoo, Google y otras compaas de Internet ofrecen servicios de listas de correo pblicas, los usuarios que quieren reducir su dependencia y mantener el control de su informacin a veces prefieren mantener su propio servidor de listas. Para los estndares del Internet de

hoy da, muchos de estos sistemas de listas son decididamente poco amigables. Con frecuencia, la interfaz Web no es mucho ms que un encapsulamiento de una interfaz en lnea de comandos ya existente. Se da por hecho que los usuarios raramente necesitan suscribirse y los propietarios de la lista raramente necesitan enviar a ms de una lista. Cada lista tiene su propia pgina Web y contraseas separadas para suscriptores y propietarios. La situacin es un poco ms complicada en el mundo real: en las universidades, en proyectos de software y en gran-

WWW.LINUX- MAGAZINE.ES

Nmero 62

63

ADMINISTRACIN Sympa

usuarios con permisos y roles de administracin. El administrador de listas Sympa es accesible mediante una ventana de navegador (vase la Figura 1). Los usuarios pueden administrar las listas de los que son miembros, ya Figura 1: Sympa nos permite acceder a nuestras listas de correo sea como suscriptomediante una sencilla interfaz Web. res, moderadores o propietarios. En caso de controlar la mayor parte de las listas necesario, Sympa incluso puede usar se beneficiara realmente de la capaciLDAP para recabar informacin de regisdad de asignar permisos de manera gratro desde un servicio de directorio. Si nular y delegar ciertos trabajos de mannos suscribimos, digamos, a diez listas y tenimiento a usuarios con menos prepaadministramos dos de ellas, slo necesiracin tcnica. taremos una contrasea en lugar de una Desde 1997, un grupo de universitadocena. rios franceses ha estado trabajando en Sympa enfatiza la simplicidad y la clauna herramienta de servicio de listas que ridad, lo que la hace popular en grandes controla mltiples listas, suscripciones, instituciones como universidades, as

como en organizaciones internacionales como la UNESCO y HP.

Empezamos
En la pgina web del proyecto [1] se encuentra disponible un tarball Sympa para su descarga. Con la excepcin de algunos wrappers menores en C, Sympa est escrito en Perl y usa un impresionante nmero de mdulos. Los paquetes de distribucin para la versin 6.0 no estn disponibles en estos momentos para ninguna distribucin excepto para Mandriva. Los administradores pueden instalar Sympa desde el cdigo fuente tecleando el comando ./configure. La instalacin es ms sencilla que la de Sympa 5, y el instalador recupera semi-automticamente los mdulos Perl necesarios desde CPAN. Si estamos actualizando desde la versin previa, no slo tenemos que ejecutar sympa.pl --upgrade tras la instalacin, sino que tambin tendremos que

Nuevas Funcionalidades en Sympa 6


La ltima versin de Sympa incluye un buen nmero de mejoras significativas. La mayora de las nuevas funcionalidades de Sympa 6.0 estn detrs del escenario. Los propietarios de grandes instalaciones van a apreciar el hecho de que el software no transmite mensajes salientes directamente, sino que los guarda en una base de datos. El demonio bulk.pl los coge desde la base de datos y los enva por su cuenta. El contenido del correo y las direcciones de destino residen en tablas separadas, y por tanto, Sympa slo guarda un mensaje una vez, sin importar el nmero de destinatarios. El script bulk.pl soporta paralelizacin y lanzar otros procesos si es necesario. Es posible ejecutar mltiples instancias en diferentes servidores en un clster si es necesario. Sin embargo, Sympa puede administrar fcilmente millones de suscriptores tal cual viene. Tambin otorga a los administradores la capacidad de especificar la fecha y hora a la que debe despacharse un mensaje en espera. Entregar un gran volumen de mensajes en horas de mnima carga. En el reciente lanzamiento de Sympa 6, un nuevo mecanismo de despacho contina entregando a partir de donde se qued en caso de producirse un cuelgue del sistema o de un reinicio. Los usuarios preocupados por la seguridad estarn contentos al escuchar que Sympa ya no enva contraseas en texto claro. Un nuevo usuario que pida una contrasea, o un usuario que la haya olvidado, recibir simplemente un mensaje de correo con una URL de un slo uso. Al pulsar la URL le conduce a una pgina donde puede configurar una nueva contrasea. Y por fin, Sympa cifra ahora las contraseas de forma irreversible en la base de datos. Aunque la seguridad de contraseas mejorada es probablemente el cambio ms importante, el ms visible para los usuarios de Sympa ser el nuevo diseo Web (vase la Figura 2), que incluye el nuevo logo, colores pastel y esquinas redondeadas. La nueva interfaz no slo parece distinta, tambin organiza las opciones administrativas de una manera ms intuitiva, al mismo tiempo que ofrece ayuda basada en contexto en forma de botones al lado de los encabezamientos de opciones. Las opciones para configurar el diseo de la interfaz Web an son slo gadgets: en realidad no podemos cambiar nada aparte de los colores de las hojas de estilo. Sin embargo, los desarrolladores tienen intencin de mover los datos de la configuracin a la base de datos en un futuro. Adems del tpico vagn de bugs solucionados, la nueva versin aade un par de funcionalidades: por ejemplo, ahora podemos copiar listas, y los moderadores pueden definir y seleccionar mltiples plantillas para los mensajes de rechazo si moderan mltiples listas (vase el cuadro Roles en Sympa para ms detalles del modelo de permisos). Los desarrolladores han mejorado la localizacin. En particular, la convencin francesa de insertar espacios en blanco tras la puntuacin ya no est codificada. Los administradores estarn interesados en saber que Sympa 6.1, que ya se ha anunciado, ser capaz de procesar plantillas en correos salientes en funcin del receptor. Esta funcionalidad, que ha estado en la lista de peticiones de muchos usuarios durante aos, nos permite aadir un enlace Click to unsubscribe al pie del mensaje. Sympa tambin nos permite escribir personalmente el receptor de una newsletter personalizada. Esta funcionalidad le permite servir como motor de envo de correo con un backend SQL. El software siempre ha sido capaz de mapear suscriptores a campos de datos vacos. En Sympa 6.1, los usuarios tambin sern capaces de suspender todas las suscripciones con una sola pulsacin, reinstaurndolas luego, y darlas de baja mediante una lista generada. En la actualidad no es el caso de gente que alimenta el software con receptores desde fuentes LDAP, bases de datos SQL, archivos de texto u otras listas. En el futuro, el programa tambin administrar bloques de listas.

64

Nmero 62

WWW.LINUX- MAGAZINE.ES

Sympa ADMINISTRACIN

menor en la hoja de estilo significar una considerable cantidad de trabajo. En lugar de redisear la capa de presentacin, podemos llamar a Sympa como un servicio Web desde dentro de nuestras Figura 2: Los usuarios de Sympa 6 pueden seleccionar un campo de propias aplicacioaplicacin en la parte superior y las propias listas en las pestaas nes. El servidor inferiores. El software mostrar los detalles u operaciones segn se SOAP suministrado necesite en la columna de la izquierda si el usuario est logueado. con la distribucin es fcil de controlar llevar a cabo una migracin irreversible y direccionar. Los institutos educativos al nuevo mecanismo de cifrado ejecufranceses usan el software como bactando sympa.pl --md5_encode_password. kend para la administracin de grupos o (Es una buena idea guardar la base de como servicio de autenticacin para pordatos previamente). A pesar de que la tales Web. estructura del directorio cambia en Configurar la Escena Sympa 6, sigue siendo poco convencioSympa est dirigido por eventos: casi nal. Si no estamos contentos con sta, todo lo que hace el servidor es una respodemos pasar las rutas a configure puesta a algn tipo de accin en la intercomo opciones o usar el faz Web o a algn tipo de correo conmutador --enable-fhs. entrante. Sympa diferencia actualmente Sympa se ejecuta normalmente en entre 17 eventos, entre los cuales, los una cuenta de usuario separada sympa. ms importantes son aadir y borrar Si tiene que pasar a root para realizar la suscripciones de listas, suscribirse y instalacin, tenga en cuenta que el darse de baja de listas, y por supuesto, script no resetear automticamente la enviar va mail una lista (vase la Figura propiedad y los permisos de los archi3). La respuesta de Sympa a un evento vos que instalemos: esto significa algo se decide evaluando un pequeo archivo de trabajo manual para adaptar los perde configuracin, denominado escenamisos. rio. Los escenarios se configuran geneBien Atado ralmente para cada lista por el propietaEl servidor de listas necesita una base de rio o el master de la lista, aunque algudatos SQL. Aunque los usuarios de nos, como solicitar una nueva lista, se Sympa lo han desplegado con Oracle o deciden globalmente por el master de la PostgreSQL, el programa est mejor lista. adaptado a MySQL. Si usamos otro backUn escenario tiene una sintaxis ligeraend, tendremos que crear las tablas mente inusual: cada lnea comprende manualmente. En MySQL, Sympa confiuna condicin, una flecha y una accin gurar la estructura de la base de datos. (Listados 1 y 2). Sympa procesa el Debido a que Sympa 6 guarda temporalarchivo de arriba a abajo hasta que se mente el email saliente en la base de cumple una condicin, entonces ejecuta datos, tendremos que configurar un la accin asignada y detiene la evaluatamao de bfer suficiente para guardar cin. el tamao mximo permitido. Cada evento se asigna a un usuario (es La interfaz Web se ejecuta en forma decir, a una direccin email). sta puede de script fcgid en un servidor Web Apaser la direccin de la cabecera From del che con el uso del Template Toolkit de email que dispar el evento, o puede ser Perl (TT2, [2]). El diseo reside en una la direccin bajo la cual est logueado el hoja de estilo CSS. Tericamente, es usuario que ha disparado una accin. posible vestir a Sympa con todo tipo de Una condicin puede comparar la direcdiseos, pero en la prctica, cualquier cin del usuario con una expresin regucambio ms all de alguna alteracin lar o hacer una verificacin para asegu-

WWW.LINUX- MAGAZINE.ES

Nmero 62

65

ADMINISTRACIN Sympa

rar que la direccin pertenece a un miembro de un grupo con permisos (suscriptor, moderador, etc.). Sympa soporta varias condiciones incorporadas, y si queremos, podemos escribir una nueva condicin en forma de plugin Perl. Las acciones ms importantes que siguen a la flecha son do_it y reject, ambas acompaadas de un argumento. La accin do_it permite que ocurra cualquier evento para el cual el software llam al escenario, como aadir un suscriptor o enviar un mensaje. La accin reject evita que ocurra el evento y devuelve el archivo de plantilla especificado en un parmetro como mensaje de error. Dependiendo de si el usuario dispar el evento por correo o mediante la Web, se nos enviar el mensaje por correo o se mostrar en una ventana pop-up. Para asegurarnos de que ocurre algo, la ltima condicin tiene que definirse como true(). Sympa ejecutar entonces la accin asignada, que generalmente ser crear un mensaje de rechazo.

Acceso Basado en Certificado


El escenario del Listado 1 enva un mensaje a la lista si el remitente es un suscriptor, moderador o propietario de la lista. En otro caso, la ltima condicin true() enviar un mensaje de rechazo. Los escenarios con una lista de modos de legitimacin a la izquierda de la flecha pueden ser bastante complejos. Sympa soporta las palabras clave smtp, md5 y smime. smtp especifica la legitimacin de la direccin del usuario basndose exclusivamente en la cabecera From del correo. md5 designa la

Listado 1: send.private
01 title.gettext restricted to subscribers 02 03 is_subscriber([listname], [sender]) smtp,md5 -> do_it 04 is_editor([listname], [sender]) smtp,md5 -> do_it 05 is_owner([listname],[sender]) smtp,md5 -> do_it 06 true() smtp,md5,smime -> reject(reason='send_subscriber')

legitimacin loguendose a la interfaz Web (por razones histricas). Y finalmente, smime denota la legitimacin mediante una firma S/MIME en un mensaje entrante o por una firma X.509 en un certificado de navegador. En el Listado 2, las primeras dos lneas de condicio- Figura 3: Sympa 6 muestra un log de acciones y las direcciones objenes aplican si el pro- tivo. pietario del master de la lista solicita el borrado de una postear entre grupos. Mediante el enlace direccin de la lista por parte de un de varios escenarios, las listas pueden correo no firmado (smtp). Los comandos comportarse como foros Web, o se puedisparan una accin request_auth, y den crear listas confidenciales que Sympa no borrar la entrada hasta que el requieran una firma digital para cualusuario ha confirmado el ticket de un quier accin. slo uso. Las lneas 3 y 4 expresan las Como Sympa usa una ruta de bsmismas condiciones, pero con un modo queda para los escenarios, es cosa del de legitimacin de las acciones md5, administrador sobrescribir o ignorar los smime y do_it. Sympa cumple con las escenarios por defecto, o aadir el suyo peticiones de borrado del correo firmado propio sin cambiar el directorio de o mediante la interfaz Web sin requerir configuracin por defecto. confirmacin. La condicin true() Rico en Funcionalidades rechaza otras peticiones. Actualizar desde Sympa 5 no debera Este mtodo basado en escenario hace preocupar a un administrador experiposible modelar privilegios con flexibilimentado, y la seguridad por contrasea dad. La Universidad de Marburg confa es un argumento de peso en favor del en l para asegurarse de que las listas cambio. Incluso si no est usando en la son slo pedidas por personal autoriactualidad una herramienta diferente zado, que los scripts para despachar como servidor de listas, debera considenewsletters son legtimos o que los usuarar la migracin, a pesar de que enconrios de ciertos grupos de listas pueden trar diferencias en la arquitectura entre Sympa y Mailman o Majordomo. Sympa Listado 2: del.auth 6 ofrece una instalacin ms sencilla y 01 title.gettext deletion otras mejoras. La interfaz Web estilo performed only by list owners, portal, que siempre ha sido una funcioneed authentication nalidad distinguida, ha mejorado, pero 02 an tiene un aspecto un poco amateur. 03 is_owner([listname],[sender]) LDAP y SOAP ofrecen muchas oportunismtp -> request_auth dades de ampliar y personalizar nuestra implementacin. Y si estamos buscando 04 is_listmaster([sender]) ms, siempre podemos probar la versin smtp -> request_auth alfa de Sympa 6.1. I 05 is_owner([listname],[sender])
md5,smime -> do_it 06 is_listmaster([sender]) md5,smime -> do_it 07 true() smtp,md5,smime -> reject(reason='del_owner ')

RECURSOS
[1] Sympa: http://www.sympa.org [2] Perl TT2: http://template-toolkit.org [3] Servidor de demostracin: http:// demo.sympa.org

66

Nmero 62

WWW.LINUX- MAGAZINE.ES