server bulma-2349

22
Bisoños Usuarios de GNU/Linux de Mallorca y Alrededores | Bergantells Usuaris de GNU/Linux de Ma Servidor de correo con Postfix, Cyrus y MySQL administrado desde OpenMailAdmin Per Jaume Sabater, Primetime (http://www.linuxsilo.net/) Creat el 11/10/2006 14:04 modificat el 11/10/2006 14:04 El propósito de este tutorial es instalar y configurar un servidor de correo electrónico totalmente funcional y de alto rendim dominios virtuales y alias virtuales. Será útil si se trabaja con un montón de dominios en propiedad y se reciben emails en desde uno. Este tutorial, una evolución de mi anterior artículo Configuración de un completo servidor de correo seguro co recomendada pues es más detallado que éste, no está pensado para implementar una solución del estilo ISP, con buzones d manual se utilizan las más modernas tecnologías y protocolos (a excepción de LMTP) que permiten obtener un sistema efi Asimismo, se proporcionan muchas facilidades de gestión gracias a la interfaz web OpenMailAdmin. Índice Introducción 1. Instalación de paquetes 2. Configuración de PAM 3. Configuración de MySQL 4. Configuración de Apache y OpenMailAdmin 5. Configuración de saslauthd 6. Configuración de Postfix 7. Configuración de Cyrus IMAP 8. Cifrado del canal (TLS/SSL) 9. SpamAssassin 10. Clam AntiVirus 11. Amavisd-new 12. Medidas antispam (anti-UCE) en Postfix 13. Postgrey 14. Mailman 15. SquirrelMail y SIEVE 16. Mailgraph 17. Preguntas frecuentes 18. Bibliografía 19. Historial de revisiones 20. Introducción El propósito de este tutorial es instalar y configurar un servidor de correo electrónico totalmente funcional y de alto rendimiento co mailboxes), dominios virtuales (del inglés, virtual domains) y alias virtuales (del inglés, virtual aliases). Será útil si se trabaja con u reciben emails en todos ellos pero sólo se envía desde uno. Este tutorial, una evolución de mi anterior artículo Configuración de un Postfix y Cyrus (1) , de lectura recomendada pues es más detallado que éste, no está pensado para implementar una solución del estilo Provider), con buzones de correo virtuales (del inglés, virtual mailboxes). En este manual se utilizan las más modernas tecnologías permiten obtener un sistema eficiente, robusto, flexible y seguro. Asimismo, se proporcionan muchas facilidades de gestión gracias Este artículo está basado en Debian Etch (2) . Debian (3) es un sistema operativo (SO) libre (4) para ordenadores. El sistema operativo e utilidades que hacen que funcione el ordenador. Debian utiliza el núcleo Linux (5) (el corazón del sistema operativo), pero la mayor del Proyecto GNU (6) ; de ahí el nombre GNU/Linux. Debian GNU/Linux ofrece más que un SO puro; viene con miles de paquetes (7 en un formato que hace más fácil la instalación en su ordenador. Al final del artículo conseguiremos tener un sistema de correo con las siguientes características: BULMA: Servidor de correo con Postfix, Cyrus y MySQL administrado desde OpenMailAdmin 1/22

Upload: nahuel-freire

Post on 01-Oct-2015

64 views

Category:

Documents


6 download

DESCRIPTION

BULMA: Servidor de correo con Postfix,

TRANSCRIPT

  • Bisoos Usuarios de GNU/Linux de Mallorca y Alrededores | Bergantells Usuaris de GNU/Linux de Mallorca i AfegitonsServidor de correo con Postfix, Cyrus y MySQL administrado desde OpenMailAdmin (13358 lectures)Per Jaume Sabater, Primetime (http://www.linuxsilo.net/)Creat el 11/10/2006 14:04 modificat el 11/10/2006 14:04

    El propsito de este tutorial es instalar y configurar un servidor de correo electrnico totalmente funcional y de alto rendimiento con buzones locales,dominios virtuales y alias virtuales. Ser til si se trabaja con un montn de dominios en propiedad y se reciben emails en todos ellos pero slo se envadesde uno. Este tutorial, una evolucin de mi anterior artculo Configuracin de un completo servidor de correo seguro con Postfix y Cyrus(1), de lecturarecomendada pues es ms detallado que ste, no est pensado para implementar una solucin del estilo ISP, con buzones de correo virtuales. En estemanual se utilizan las ms modernas tecnologas y protocolos (a excepcin de LMTP) que permiten obtener un sistema eficiente, robusto, flexible y seguro.Asimismo, se proporcionan muchas facilidades de gestin gracias a la interfaz web OpenMailAdmin.

    ndiceIntroduccin1. Instalacin de paquetes2. Configuracin de PAM3. Configuracin de MySQL4. Configuracin de Apache y OpenMailAdmin5. Configuracin de saslauthd6. Configuracin de Postfix7. Configuracin de Cyrus IMAP8. Cifrado del canal (TLS/SSL)9. SpamAssassin10. Clam AntiVirus11. Amavisdnew12. Medidas antispam (antiUCE) en Postfix13. Postgrey14. Mailman15. SquirrelMail y SIEVE16. Mailgraph17. Preguntas frecuentes18. Bibliografa19. Historial de revisiones20.

    Introduccin

    El propsito de este tutorial es instalar y configurar un servidor de correo electrnico totalmente funcional y de alto rendimiento con buzones locales (del ingls, localmailboxes), dominios virtuales (del ingls, virtual domains) y alias virtuales (del ingls, virtual aliases). Ser til si se trabaja con un montn de dominios en propiedad y sereciben emails en todos ellos pero slo se enva desde uno. Este tutorial, una evolucin de mi anterior artculo Configuracin de un completo servidor de correo seguro conPostfix y Cyrus(1), de lectura recomendada pues es ms detallado que ste, no est pensado para implementar una solucin del estilo ISP (del ingls, Internet ServiceProvider), con buzones de correo virtuales (del ingls, virtual mailboxes). En este manual se utilizan las ms modernas tecnologas y protocolos (a excepcin de LMTP) quepermiten obtener un sistema eficiente, robusto, flexible y seguro. Asimismo, se proporcionan muchas facilidades de gestin gracias a la interfaz web OpenMailAdmin.

    Este artculo est basado en Debian Etch(2). Debian(3) es un sistema operativo (SO) libre(4) para ordenadores. El sistema operativo es el conjunto de programas bsicos yutilidades que hacen que funcione el ordenador. Debian utiliza el ncleo Linux(5) (el corazn del sistema operativo), pero la mayor parte de las herramientas bsicas vienendel Proyecto GNU(6); de ah el nombre GNU/Linux. Debian GNU/Linux ofrece ms que un SO puro; viene con miles de paquetes(7), programas precompilados distribuidosen un formato que hace ms fcil la instalacin en su ordenador.

    Al final del artculo conseguiremos tener un sistema de correo con las siguientes caractersticas:

    BULMA: Servidor de correo con Postfix, Cyrus y MySQL administrado desde OpenMailAdmin

    1/22

  • Independencia entre los usuarios de sistema y las cuentas de correo electrnico. Informacin de las cuentas de correo almacenada en base de datos MySQL(8). Un dominio local donde se crean cuentas de correo. Mltiples alias de dominios virtuales con redirecciones a las cuentas del dominio principal. Autenticacin a travs de SASL (Simple Authentication and Security Layer(9)), con mtodos de texto plano o login. Transporte seguro del trfico mediante TLS. Acceso a los buzones por IMAP (Cyrus IMAP(10)) sobre SSL y por webmail (SquirrelMail(11)) sobre SSL. Filtrado de correo en el servidor a travs de SIEVE(12). Filtros antivirus (Clam AntiVirus(13)) y antispam (SpamAssassin(14) y Postgrey(15)). Listas de correo con Mailman(16). Gestin del servidor a travs de la interfaz web OpenMailAdmin(17).

    Instalacin de paquetes

    Las siguientes instrucciones toman como punto de partida un sistema Debian Etch(3) funcional con un kernel compilado a medida o con el que viene por defecto con elinstalador y con una nica interfaz de red con direccin IP pblica pero, por supuesto, puede servir como base para que el lector las adapte a sus necesidades. Todas lassentencias deben ejecutarse como usuario root o con permisos de root.aptget install postfix postfixdoc postfixmysql postfixpcre openssl cacertificatesaptget install libsasl2 libsasl2modules sasl2binaptget install cyrusadmin2.2 cyrusclients2.2 cyruscommon2.2 cyrusdoc2.2 cyrusimapd2.2 libcyrusimapperl22aptget install mysqlserver5.0 mysqlclient5.0 libpammysqlaptget install apache2mpmprefork libapache2modphp5 php5 php5cli php5mysql libphpadodbaptget install apache2utils nmap ntpdate ccze less wget bzip2

    Configuracin de PAM

    Acerca de PAM

    Desde los inicios de UNIX, la autenticacin del usuario se ha llevado a cabo mediante la solicitud de una contrasea que el sistema compara con la contrasea cifradaequivalente en el fichero /etc/passwd. La idea es que el usuario es quien dice ser si, y slo si, es capaz de introducir su contrasea secreta.

    Eso fueron los inicios. Desde entonces, un gran nmero de formas de autenticacin han ido apareciendo, incluyendo sustitutos ms sofisticados para el fichero /etc/passwd ydispositivos de hardware como Smart Cards, etc. El problema es que, cada vez que se desarrolla un nuevo mecanismo de autenticacin, es necesario que todos los programas(login, ftpd, etc) se reescriban para soportarlo.

    PAM(18) (del ingls, Pluggable Authentication Modules) proporciona una manera de desarrollar programas que son independientes del esquema de autenticacin. Estosprogramas necesitan cargar mdulos de autenticacin en tiempo de ejecucin para poder funcionar. Qu mdulo de autenticacin se cargue depende de la configuracin delsistema local y queda a discrecin del administrador de sistemas.

    Instalacin y configuracin

    Editamos /etc/pam.d/imap para que contenga nicamente las directivas siguientes:

    auth sufficient pam_mysql.so user=postfix passwd=my_passwd host=localhost db=postfix table=user usercolumn=mbox \ passwdcolumn=pass_md5 crypt=3account required pam_mysql.so user=postfix passwd=my_passwd host=localhost db=postfix table=user usercolumn=mbox \ passwdcolumn=pass_md5 crypt=3

    Nota: deben eliminarse las barras invertidas, de modo que queden dos sentencias sin saltos de lnea. En el artculo aparecen para evitar lneas tan largas que no quepan en lapantalla. Opcionalmente, se puede agregar verbose=1 para que se aada ms informacin a los logs y ayudar a depurar la configuracin. Tambin opcionalmente, podemoscrear la tabla log en la base de datos y agregar los siguientes parmetros al final de las dos lneas de configuracin:

    logtable=log logmsgcolumn=msg logusercolumn=user loghostcolumn=host logpidcolumn=pid logtimecolumn=time sqllog=1 verbose=1

    Nota: verbose=1 basta que aparezca una nica vez en cada lnea. Con estas sentencias almacenaremos toda la informacin enviada y solicitada a PAM en nuestra base dedatos MySQL. Deberemos aadir a la tabla los campos usados en la lnea de cdigo anterior, pero eso lo podremos hacer una vez la base de datos postfix exista (ver siguienteapartado). Establecemos ahora los permisos y enlaces adecuados en /etc/pam.d/:

    BULMA: Servidor de correo con Postfix, Cyrus y MySQL administrado desde OpenMailAdmin

    2/22

  • chmod 600 /etc/pam.d/imaprm force /etc/pam.d/sieve /etc/pam.d/lmtpln symbolic /etc/pam.d/imap /etc/pam.d/sieveln symbolic /etc/pam.d/imap /etc/pam.d/lmtpln symbolic /etc/pam.d/imap /etc/pam.d/smtp

    La versin actual de libpammysql, la 0.6.21, no viene con soporte para MD5(19), por lo que deberemos recompilar los fuentes con soporte para SSL y MD5:

    mkdir /usr/src/libpammysqlcd /usr/src/libpammysqlaptget source pammysqlaptget builddep pammysqlcd pammysql0.6.2

    Para poder bajar los fuentes de un paquete es preciso tener activas las directivas debsrc correspondientes en nuestro /etc/apt/sources.list. Modificamos la lnea 51 delfichero debian/rules para que quede tal que:

    ./configure prefix=/usr withopenssl

    Modificamos la lnea 109 en el Makefile.in para que sea as:

    DEFS = @DEFS@ I. I$(srcdir) I. DHAVE_OPENSSL

    Modificamos la lnea 6 del fichero debian/control para que quede as:

    BuildDepends: libpam0gdev, libmysqlclient15dev, libssldev, debhelper (>= 4.0.0)

    Y construimos el nuevo paquete:

    aptget install libssldevdpkgbuildpackagecd ..dpkg install libpammysql_0.6.21_i386.deb

    Para que aptget no nos sobreescriba nuestro paquete compilado a medida, podemos ponerlo on hold, de tal manera que un aptget upgrade no lo toque. As, cada ciertotiempo podemos ir viendo el changelog del paquete en la web de Debian(20) hasta que veamos una situacin que satisfaga nuestra instalacin. Para poner el paquete on hold:

    echo libpammysql hold | dpkg setselections

    Para quitar el estado on hold:

    echo libpammysql install | dpkg setselections

    En el caso de que la construccin del paquete (el .deb) no finalice adecuadamente pero la compilacin haya sido exitosa, los siguientes comandos nos procurarn una libreracompartida .so con soporte para MD5:

    mv /lib/security/pam_mysql.so /lib/security/pam_mysql.so.bakcp /usr/src/libpammysql/pammysql0.6.2/debian/libpammysql/usr/lib/security/pam_mysql.so /lib/security/chmod 644 /lib/security/pam_mysql.sochown root:root /lib/security/pam_mysql.so

    Nota: este tutorial ha sido probado en las arquitecturas x86 y x86_64. En la primera la construccin del paquete no finaliz adecuadamente, mientras que en la segunda sfinaliz satisfactoriamente.

    Configuracin de MySQL

    Acerca de MySQL

    MySQL es el servidor de bases de datos relacionales ms popular del mundo, desarrollado y proporcionado por MySQL AB. MySQL AB es una empresa de segundageneracin cuyo negocio consiste en proporcionar servicios en torno al servidor de bases de datos MySQL. Una de las razones para el rpido crecimiento de la popularidadde MySQL es que se trata de un producto de cdigo abierto, y por lo tanto, va de la mano con este movimiento.

    BULMA: Servidor de correo con Postfix, Cyrus y MySQL administrado desde OpenMailAdmin

    3/22

  • El software de bases de datos MySQL consiste de un sistema cliente/servidor que se compone de un servidor SQL multihilo, varios programas clientes y bibliotecas,herramientas administrativas, y una gran variedad de interfaces de programacin (APIs). Se puede obtener tambin como una biblioteca multihilo que se puede enlazardentro de otras aplicaciones para obtener un producto ms pequeo, ms rpido, y ms fcil de manejar.

    Instalacin y configuracin

    Establecemos una contrasea para el usuario root:

    mysqladmin u root password my_root_passwd

    Creamos la base de datos postfix y el usuario postfix:

    mysql user=root password mysqlEnter password:mysql> CREATE DATABASE `postfix` ;mysql> GRANT USAGE ON *.* TO 'postfix'@'localhost' IDENTIFIED BY 'my_passwd' ;mysql> GRANT ALL PRIVILEGES ON `postfix`.* TO 'postfix'@'localhost' WITH GRANT OPTION ;mysql> FLUSH PRIVILEGES ;mysql> quit

    Configuracin de Apache y OpenMailAdmin

    Acerca de OpenMailAdmin

    OpenMailAdmin(17) es una pequea interfaz para la administracin de cualquier servidor de correo IMAP. Soporta todas las caractersticas que IMAP proporciona y se ajustaa la mayora de las configuraciones de los MTAs. Una caracterstica clave es la jerarqua de administracin, la cul no slo separa los usuarios normales de los usuariosadministradores, sino que permite al administrador maestro del servidor crear instancias entre ellos. As, ser posible permitir que otros usuarios puedan crear sus propiossubusuarios y, de esa manera, compartir un nico servidor de correo entre diferentes organizaciones o proyectos. Sobresale gracias a las caractersticas de expresionesregulares y a la gestin de las ACLs (del ingls, Access Control Lists) sobre carpetas.

    Instalacin y configuracin

    Bajamos y descomprimimos OpenMailAdmin y establecemos los permisos adecuados:mkdir mode=755 /var/wwwcd /var/wwwwget http://static.ossdl.de/openmailadmin/downloads/openmailadmin0.9.3.tbz2tar xjf openmailadmin0.9.3.tbz2mv openmailadmin0.9.3 openmailadminchown recursive wwwdata:root /var/www/openmailadminchmod 6770 /var/www/openmailadminfind /var/www/openmailadmin/ type d exec chmod 6770 '{}' ';'find /var/www/openmailadmin/ type f exec chmod 660 '{}' ';'

    Ordenamos a Apache que escuche en el puerto 443 a partir de ahora. Para ello aadimos la directiva NameVirtualHost *:443 al fichero /etc/apache2/sitesavailable/defaulty tambin la directiva Listen 443 al fichero /etc/apache2/ports.conf. Editamos luego el dominio virtual que vayamos a usar para acceder a la administracin por web sobreSSL (en este tutorial se usar el dominio fictcio mail.dominio.com, por lo que crearemos el fichero /etc/apache2/sitesavailable/mail.dominio.com):

    ServerAdmin [email protected] ServerName mail.dominio.com SSLEngine on SSLCertificateFile "/etc/ssl/local/mail.dominio.com_newcert.pem" SSLCertificateKeyFile "/etc/ssl/private/mail.dominio.com_newkey.pem" ErrorLog /var/log/apache2/error_mail.dominio.com.log CustomLog /var/log/apache2/access_mail.dominio.com.log combined

    Alias /openmailadmin /var/www/openmailadmin AllowOverride All Order Deny,Allow Deny From All Allow From 127.0.0.1

    BULMA: Servidor de correo con Postfix, Cyrus y MySQL administrado desde OpenMailAdmin

    4/22

  • Allow From x.y.z.t php_flag file_uploads 0 php_flag ignore_repeated_errors 1 php_flag ignore_repeated_source 1 php_flag display_errors 0 php_flag log_errors 1

    Donde x.y.z.t es la IP pblica de la mquina desde la que accederemos al servidor (nuestro PC). A continuacin creamos el certificado:

    openssl req new nodes out /etc/ssl/certs/mail.dominio.com_newreq.pem keyout /etc/ssl/private/mail.dominio.com_newkey.pem

    Country Name (2 letter code) [AU]:State or Province Name (full name) [SomeState]:Locality Name (eg, city) []:Organization Name (eg, company) [Internet Widgits Pty Ltd]:Organizational Unit Name (eg, section) []:Common Name (eg, YOUR name) []:mail.dominio.comEmail Address []:

    Please enter the following 'extra' attributesto be sent with your certificate requestA challenge password []:An optional company name []:

    La ejecucin de ste comando nos genera dos ficheros:

    La peticin de nuevo certificado, que una autoridad certificadora (CA) tendr que firmar, en /etc/ssl/certs/mail.dominio.com_newreq.pem.1. La clave privada del certificado en /etc/ssl/private/mail.dominio.com_newkey.pem.2.

    Podemos usar CAcert.org(21) para firmar la peticin de certificado. Debido a que CAcert.org tan slo puede verificar la informacin contenida en el Common Name, da iguallo que introduzcamos en los otros campos (el resto lo descarta). El certificado resultante lo dejaremos en el fichero /etc/ssl/certs/mail.dominio.com_newcert.pem conpermisos 644 para el usuario y grupo root y la clave privada en /etc/ssl/private/mail.dominio.com_newkey.pem con permisos 640 para el usuario root y el grupo sslcert. Lasiguiente accin es activar el nuevo dominio virtual:

    a2enmod ssla2ensite mail.dominio.com/etc/init.d/apache2 forcereload

    Ahora ya podemos comenzar con la configuracin de OpenMailAdmin. Para ello cargamos la direccin siguiente en nuestro navegador favorito:

    https://mail.dominio.com/openmailadmin/setup.php

    Comprobamos que la configuracin del sistema sea la requerida por el software y, de ser as, pasamos al paso siguiente, donde necesitaremos rellenar los siguientes datos:

    db connection settings

    DSN: mysql://postfix:[email protected]/postfixtablenames' prefix:

    IMAP connection settings

    type: Cyrus IMAPdhost: localhostport: 143imap admin: cyrus... password: my_passwd

    first superuser

    mailbox of superuser: postmaster... password: my_passwd

    BULMA: Servidor de correo con Postfix, Cyrus y MySQL administrado desde OpenMailAdmin

    5/22

  • Si pretendemos usar las capacidades multiservidor de OpenMailAdmin, adems de leernos la documentacin, ser conveniente aadir un prefijo para las tablas mediante laopcin tablenames' prefix. El proceso de instalacin crear el fichero /var/www/openmailadmin/inc/config.local.inc.php con la configuracin de acceso a la base de datos ylas cinco tablas siguientes en la base de datos postfix:

    domains imap_demo user

    virtual virtual_regexp

    A partir de este momento ya podemos acceder al sistema mediante la cuenta postmaster y la clave my_passwd. En adelante, accederemos a esta interfaz de gestin mediantela URL siguiente:

    https://mail.dominio.com/openmailadmin/

    Configuracin de saslauthd

    Acerca de saslauthd

    SASL(9) son las siglas de Simple Authentication and Security Layer, un mtodo para aadir soporte para la autenticacin a protocolos basados en la conexin que ha sidoestandarizado por la IETF(22) (Internet Engineering Task Force). Se usa en servidores (en este caso Cyrus IMAP) para manejar las peticiones de autenticacin de los clientes.Para ello, el protocolo incluye un comando para identificar y autenticar un usuario contra un servidor y para, opcionalmente, negociar la proteccin de las subsiguientesinteracciones del protocolo. Si se negocia su uso, una capa de seguridad es aadida entre el protocolo y la conexin.

    La librera SASL de Cyrus(23) tambin usa la librera OpenSSL para cifrar los datos. El lector encontrar ms informacin en la pgina web de Cyrus SASL(24).

    Instalacin y configuracin

    Editamos /etc/default/saslauthd para ordenar al sistema que arranque el daemon automticamente:

    START=yesMECHANISMS="pam"

    Editamos /etc/init.d/saslauthd para conseguir, aadiendo el parmetro r, que la ruta de retorno de un correo sea vlida para nuestra configuracin:

    PARAMS="${PARAMS} a ${MECHANISMS} r"

    Opcionalmente, se puede aadir tambin el parmetro V al final de la variable PARAMS para conseguir un mayor nivel de informacin en los logs. Movemos el socket desaslauthd dentro de la jaula de Postfix para que ste tenga acceso a l y creamos un enlace simblico en su lugar para que saslauthd no se queje:mkdir parents mode=755 /var/spool/postfix/var/runmv /var/run/saslauthd /var/spool/postfix/var/run/saslauthdln symbolic /var/spool/postfix/var/run/saslauthd /var/run/saslauthdchown root:sasl /var/run/saslauthd

    Configuracin de Postfix

    Acerca de Postfix

    El MTA (Mail Transportation Agent) Postfix(25) pretende ser rpido, fcil de administrar y seguro, a la vez que suficientemente compatible con Sendmail(26) como para quelos usuarios existentes no se asusten. Por lo tanto, externamente mantiene el estilo de Sendmail, mientras que internamente es completamente diferente.

    A diferencia de Sendmail, Postfix no es un programa monoltico, sino una combinacin de pequeos programas, cada uno de los cuales lleva a cabo una funcinespecializada. En este documento, el lector encontrar la informacin necesaria para tener el sistema funcionando junto a otros componentes que completan la instalacin deun sistema de correo electrnico. Puede encontrarse ms informacin sobre Postfix en la documentacin online(27) de su website.

    BULMA: Servidor de correo con Postfix, Cyrus y MySQL administrado desde OpenMailAdmin

    6/22

  • Instalacin y configuracin

    Empezamos configurando en los ficheros /etc/mailname y /etc/hostname nuestro nombre de dominio:

    echo "mail.dominio.com" > /etc/mailnameecho "mail.dominio.com" > /etc/hostname

    Deberemos modificar tambin los ficheros /etc/resolv.conf y /etc/hosts de acuerdo a nuestras necesidades. Acto seguido indicaremos a Postfix como consultar la base dedatos MySQL para obtener la informacin que necesita. Creamos el fichero /etc/postfix/canonical.mysql:

    hosts = 127.0.0.1user = postfixpassword = my_passwddbname = postfixtable = userselect_field = canonicalwhere_field = mboxadditional_conditions = and active = '1' limit 1

    Creamos el fichero /etc/postfix/mydestination.mysql:

    hosts = 127.0.0.1user = postfixpassword = my_passwddbname = postfixtable = domainsselect_field = domainwhere_field = domain

    Creamos el fichero /etc/postfix/virtual.mysql:

    hosts = 127.0.0.1user = postfixpassword = my_passwddbname = postfixtable = virtualselect_field = destwhere_field = addressadditional_conditions = and active = '1'

    Establecemos los permisos adecuados en los ficheros que hemos creado:

    chown root:postfix /etc/postfix/canonical.mysql /etc/postfix/mydestination.mysql /etc/postfix/virtual.mysqlchmod 640 /etc/postfix/canonical.mysql /etc/postfix/mydestination.mysql /etc/postfix/virtual.mysql

    Editamos el fichero principal de configuracin de Postfix /etc/postfix/main.cf:

    BULMA: Servidor de correo con Postfix, Cyrus y MySQL administrado desde OpenMailAdmin

    7/22

  • smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU)biff = noappend_dot_mydomain = nodelay_warning_time = 4h

    myhostname = mail.dominio.commydomain = $myhostnamemyorigin = $mydomainmydestination = $myhostname, $mydomain, localhost.$mydomain, localhostmynetworks = 127.0.0.0/8, x.y.z.t

    alias_maps = hash:/etc/aliasesalias_database = hash:/etc/aliasesmailbox_size_limit = 0recipient_delimiter = +unknown_local_recipient_reject_code = 550

    mailbox_transport = cyrusvirtual_alias_domains = mysql:/etc/postfix/mydestination.mysqlvirtual_alias_maps = mysql:/etc/postfix/virtual.mysqlsender_canonical_maps = mysql:/etc/postfix/canonical.mysql

    smtpd_sasl_auth_enable = yessmtpd_recipient_restrictions = permit_sasl_authenticated, permit_mynetworks, reject_unauth_destinationsmtpd_sasl_security_options = noanonymoussmtpd_sasl_local_domain =broken_sasl_auth_clients = yes

    Donde x.y.z.t es la IP pblica de la mquina. Si el servidor tuviera una IP privada, tambin deberamos aadirla a la lista. Editamos ahora el fichero /etc/postfix/master.cf yaadir la siguiente lnea:

    cyrus unix n n pipe flags= user=cyrus argv=/usr/sbin/cyrdeliver r ${sender} m ${extension} ${user}

    Como puede apreciarse, usaremos el programa cyrdeliver para depositar los correos en el buzn en lugar de LMTP. Se puede aadir la opcin v al final de la lnea siguientepara aumentar el nivel de informacin enviada a los logs:

    smtp inet n smtpd v

    Creamos /etc/postfix/sasl/smtpd.conf con permisos 644 (root:postfix) con el siguiente contenido:

    pwcheck_method: saslauthdmech_list: PLAIN LOGINlog_level: 0

    Puede darse al parmetro log_level un valor de 7 para aumentar la cantidad de informacin que se aade a los logs y facilitar as la depuracin de errores. Aadimos elusuario postfix al grupo sasl para que pueda leer el socket de saslauthd:

    adduser postfix sasl

    Aadimos etc/postfix/sasl/smtpd.conf a la variable FILES del script /etc/init.d/postfix para que se copie el fichero a la jaula de Postfix cada vez que se reinicie el servicio.

    El siguiente paso es aadir soporte a Postfix para las expresiones regulares de OpenMailAdmin. Editamos /var/www/openmailadmin/samples/oma_mail.daimon.php ycambiamos la primera lnea para que apunte correctamente al intrprete y el script se ejecute adecuadamente:#!/usr/bin/env php

    Luego modificamos las siguientes variables para que queden as:

    $MTA['virtual'] = '/etc/postfix/virtual';$MTA['regexp'] = '/etc/postfix/virtual.regex';$MTA['domains'] = '/etc/postfix/domains';$PASSWD_CACHE = NULL;

    $DB = array('TYPE' => 'mysql', 'HOST' => 'localhost',

    BULMA: Servidor de correo con Postfix, Cyrus y MySQL administrado desde OpenMailAdmin

    8/22

  • 'USER' => 'postfix', 'PASS' => 'my_passwd', 'DB' => 'postfix', 'PREFIX'=> '', );

    Establecemos los permisos correctos en el fichero:

    chmod 770 /var/www/openmailadmin/samples/oma_mail.daimon.php

    Editar el crontab de root con crontab e y aadimos la siguiente lnea:

    0 */2 * * * /var/www/openmailadmin/samples/oma_mail.daimon.php

    Alternativamente, podemos crear /etc/cron.d/oma_mail.daimon con el siguiente contenido:

    0 */2 * * * root /var/www/openmailadmin/samples/oma_mail.daimon.php

    Y solicitamos al daemon que recargue la configuracin con el comando siguiente:

    /etc/init.d/cron reload

    Esta configuracin har que el script se ejecute cada media hora, con lo cual habr que tener en cuenta que, si aadimos una nueva expresin regular para algn buzn, o biendeberemos ejecutar manualmente el script desde la consola, o bien esperar unos minutos. El script nos generar un fichero llamado virtual.regexp en /etc/postfix quecontendr un volcado de la tabla virtual_regexp. Configuraremos Postfix para que interprete ese fichero y podamos usar as el soporte para expresiones regulares deOpenMailAdmin (muy til cuando tenemos muchos dominios). Editamos /etc/postfix/main.cf:

    virtual_alias_maps = mysql:/etc/postfix/virtual.mysql, regexp:/etc/postfix/virtual.regex

    Finalmente, solicitamos a Postfix que actualice su configuracin con las modificaciones realizadas con el comando siguiente:

    /etc/init.d/postfix reload

    Configuracin de Cyrus IMAP

    Acerca de Cyrus IMAP

    Cyrus IMAP(10) (Internet Message Access Protocol) es desarrollado y mantenido por el Andrew Systems Group(28) de la Carnegie Mellon University(29).

    A diferencia de otros servidores IMAP, Cyrus usa su propio mtodo para almacenar el correo de los usuarios. Cada mensaje es almacenado en su propio fichero. El beneficiode usar ficheros separados es una mayor fiabilidad ya que slo un mensaje se pierde en caso de error del sistema de ficheros. Los metadatos, tales como el estado de unmensaje (ledo, etc.) se almacenan en una base de datos. Adems, los mensajes son indexados para mejorar el rendimiento de Cyrus, especialmente con muchos usuarios eingentes cantidades de mensajes. No hay nada tan rpido como el servidor IMAP Cyrus.

    Otra caracterstica muy importante es que no son necesarias cuentas locales de Linux para cada usuario. Todos los usuarios son autenticados por el servidor IMAP. Esto loconvierte en una magnfica solucin cuando se tiene una gran cantidad de usuarios.

    La administracin es llevada a cabo mediante comandos especiales de IMAP. Esto le permite usar tanto la interfaz de lnea de comandos como los interfaces web. Estemtodo es mucho ms seguro que un interfaz web para /etc/passwd.

    Desde la versin 2.1 de Cyrus, se usa la versin 2 de la librera SASL para la autenticacin. En la configuracin descrita en este artculo se implementa una autenticacin detres capas. Cyrus se autentica con saslauthdaemon, quien redirige la peticin al mecanismo que le hayamos definido, por ejemplo PAM, que buscar la informacin delusuario en la base de datos MySQL(8).

    Instalacin y configuracin

    Editamos el fichero de configuracin /etc/cyrus.conf para comentar las lneas de los servicios POP3 y NNTP, pues slo usaremos IMAP para acceder a los buzones. Luegoeditamos el fichero /etc/imapd.conf y aadimos o modificamos las siguientes directivas de configuracin:

    admins: cyrus

    BULMA: Servidor de correo con Postfix, Cyrus y MySQL administrado desde OpenMailAdmin

    9/22

  • sasl_pwcheck_method: saslauthdallowusermoves: yesduplicatesuppression: 0sasl_mech_list: PLAIN LOGINsasl_minimum_layer: 0umask: 027

    El manual de Cyrus IMAP contiene informacin acerca de todas las directivas (man imapd.conf). Si se desea poder usar puntos en el nombre de usuario, tal [email protected], entonces deberemos aadir tambin la siguiente directiva:

    unixhierarchysep: yes

    Se puede descomentar la lnea siguiente en /etc/default/cyrus2.2 para aumentar el nivel de informacin enviada a los logs:

    CYRUS_VERBOSE=1

    (Re)iniciamos los servicios para activar la nueva configuracin:

    /etc/init.d/saslauthd start/etc/init.d/cyrus2.2 restart/etc/init.d/postfix restart

    A estas alturas ya deberamos ser capaces de conectarnos al sevidor IMAP y administrarlo mediante la herramienta de consola cyradm. Usaremos el siguiente comando paraacceder:

    cyradm user cyrus server localhost auth login

    Para monitorizar los logs podemos usar los siguientes comandos:

    tail f /var/log/mail.log | cczetail f /var/log/auth.log | ccze

    Cifrado del canal (TLS/SSL)Acerca de TLS/SSL

    Por defecto, toda comunicacin en Internet se hace sin ningn tipo de cifrado y sin una autenticacin fiable. Esto significa que cualquiera con acceso fsico a la lnea de datospor la que viaja un paquete puede espiar dicha comunicacin. An peor, es posible redirigir o alterar esa comunicacin para que la informacin que se desea mandar sepierda y nadie se d cuenta.

    De cara a solventar estos problemas de seguridad, Netscape, Inc.(30) introdujo el protocolo SSL(31) (Secure Sockets Layer), que ha ido evolucionando en el protocoloestandarizado TLS(32) (Transportation Layer Security). Ofrece tanto cifrado de la comunicacin (frenando las escuchas) como autenticacin fuerte (asegurando que ambaspartes de una comunicacin son correctamente identificadas y que la comunicacin no puede ser alterada).

    Postfix/TLS no implementa el protocolo TLS por s mismo, sino que usa el paquete OpenSSL(33) para esta tarea. En el website de OpenSSL pueden encontrarse enlaces adocumentacin que profundiza en el protocolo y sus caractersticas.

    Instalacin y configuracin

    En estos momentos tenemos envo por SMTP en el puerto 25 y recepcin por IMAP en el puerto 143, suficiente para comprobar el buen funcionamiento de la instalacin.Vamos a aadir cifrado del canal mediante TLS y SSL para proteger tanto las contraseas como el contenido de los mensajes de correo. Empezaremos por Cyrus IMAPeditando el fichero /etc/cyrus.conf:

    imap cmd="imapd U 30" listen="localhost:imap" prefork=0 maxchild=100imaps cmd="imapd s U 30" listen="imaps" prefork=0 maxchild=100

    Aadimos el usuario cyrus al grupo sslcert para que pueda acceder a la clave privada del certificado:

    adduser cyrus sslcert

    BULMA: Servidor de correo con Postfix, Cyrus y MySQL administrado desde OpenMailAdmin

    10/22

  • Editamos ahora el fichero de configuracin /etc/imapd.conf:

    sasl_minimum_layer: 128

    tls_cert_file: /etc/ssl/certs/mail.dominio.com_newcert.pemtls_key_file: /etc/ssl/private/mail.dominio.com_newkey.pemtls_ca_file: /etc/ssl/certs/cacert.org.pem

    Y reinciamos Cyrus IMAP para que se activen los cambios (recargar la configuracin en este caso no basta pues no se vera que hemos aadido el usuario cyrus al gruposslcert):

    /etc/init.d/cyrus2.2 restart

    Con estos cambios ya tenemos soporte de SSL para IMAP en el puerto 993 y acceso al 143 nicamente por el localhost (para SquirrelMail). Mediante la utilidad imtestpodremos comprobar la correctitud de los cambios:

    imtest a w m login s localhost

    Ahora nos falta activar el TLS en Postfix. Para ello editamos el fichero /etc/postfix/main.cf:

    smtpd_use_tls = yessmtpd_tls_auth_only = yessmtpd_tls_key_file = /etc/ssl/private/mail.dominio.com_newkey.pemsmtpd_tls_cert_file = /etc/ssl/certs/mail.dominio.com_newcert.pemsmtpd_tls_CAfile = /etc/ssl/certs/cacert.org.pemsmtpd_tls_loglevel = 3smtpd_tls_received_header = yessmtpd_tls_session_cache_timeout = 3600stls_random_source = dev:/dev/urandom

    Es conveniente cambiar la directiva smtpd_tls_auth_only a yes una vez tengamos el servidor en produccin para que acepte nicamente conexiones sobre TLS en lugar deadems de conexiones sin cifrar. Mientra tanto, dejar este parmetro con el valor no nos puede ayudar a depurar errores.

    SpamAssassin

    Acerca de SpamAssassin

    SpamAssassin(14) es un filtro de correo que trata de identificar el spam mediante el anlisis del texto y el uso en tiempo real de algunas listas negras a travs de Internet. Apartir de su base de datos de reglas, utiliza un amplio abanico de pruebas heursticas en las cabeceras y el cuerpo de los correos para identificar el spam, tambin conocidocomo correo electrnico comercial no solicitado. Una vez identificado, el correo puede ser opcionalmente marcado como spam o ms tarde filtrado usando el cliente decorreo del usuario.

    SpamAssassin normalmente identifica acertadamente entre un 95 y un 99% del spam, dependiendo del tipo de correo que se reciba. Tambin incluye soporte para informarde mensajes de spam, automtica o manualmente, a bases de datos como Vipul's Razor(34).

    Instalacin y configuracin

    Ms sencillo, imposible:

    aptget install spamassassin spamc

    Clam AntiVirus

    Acerca de ClamAV

    ClamAV(13) es una herramienta antivirus GPL para UNIX. El propsito principal de este software es la integracin con los servidores de correo (escaneo de datos adjuntos).El paquete proporciona un servicio multihilo flexible y escalable, un analizador de lnea de comandos y una utilidad para la actualizacin automtica via Internet. Losprogramas estn basados en una librera distribuida con el paquete Clam AntiVirus, la cual puede ser usada por su propio software. Y lo ms importante, la base de datos semantiene actualizada constantemente.

    BULMA: Servidor de correo con Postfix, Cyrus y MySQL administrado desde OpenMailAdmin

    11/22

  • Otras caractersticas destacables son el soporte de firmas digitales en la actualizacin de la base de datos, el anlisis durante el acceso bajo Linux(35) y FreeBSD(36), ladeteccin de ms de 20000 virus, gusanos y troyanos, el soporte integrado para archivos comprimidos con Rar(37), Zip, Gzip(38) y Bzip2(39) y formatos de correo Mbox(40),Maildir(41) y ficheros crudos de correo.

    Instalacin y configuracin

    Casi tan sencillo como SpamAssassin. Primero instalamos los paquetes necesarios:

    aptget install rar unrar lha arj unzoo zip unzip bzip2 gzip cpio file lzop nomarchaptget install clamav clamavbase clamavdaemon clamavfreshclam libclamav1 clamavdocs

    Luego nos aseguramos de que la directiva AllowSupplementaryGroups existe en el fichero /etc/clamav/clamd.conf. Finalmente, aadimos el usuario clamav al grupo amavisy reiniciamos los servicios:

    adduser clamav amavis

    /etc/init.d/clamavdaemon restart/etc/init.d/clamavfreshclam restart

    Amavisdnew

    Acerca de Amavisdnew

    Amavisdnew(42) es un interfaz de alto rendimiento y fiabilidad entre el MTA y uno o ms filtros de contenidos: antivirus o el mdulo Mail::SpamAssassin de Perl. Estescrito en Perl, asegurando alta fiabilidad, portabilidad y facilidad de mantenimiento. Se comunica con el MTA via (E)SMTP o LMTP, o mediante el uso de otros programas.No existen problemas de sincronizacin en su diseo que pudieran causar prdidas de correos.

    Normalmente se posiciona dentro o cerca del gestor de correo principal, no necesariamente donde se ubiquen las cuentas de correo de los usuarios (donde tiene lugar el envofinal). Si se est buscando una solucin que soporte configuracin por usuario y ratios de mensajes pequeas que se ubique al final del proceso de envo (p.e. llamado desdeprocmail o en sustitucin de un agente local de envo), posiblemente puedan encontrarse otras soluciones ms apropiadas.

    Cuando est habilitado el uso de Mail::SpamAssassin (SA), se llama a SA una sola vez por mensaje (independientemente del nmero de destinatarios). Amavisdnew sebeneficia del uso del mdulo de Perl Net::Server, el cul ofrece un rpido entorno multihilo. Amavisdnew ofrece un servidor SMTP que cumple con el RFC 2821, unservidor LMTP que cumple con el RFC 2033, un cliente SMTP y genera notificaciones de estado de envo (o no) que cumplen los RFC 1892 y 1894. Esto lo hace adecuadopara mltiples analizadores de virus y de correo publicitario en plataformas de correo donde la fiabilidad y el cumplimiento de los estndares son importantes.

    Instalacin y configuracin

    En primer lugar, instalaremos el paquete amavisdnew:

    aptget install amavisdnew

    Si nuestro /etc/hostname no es un FQDN, es decir, si es un nombre del estilo servidor en lugar de mail.dominio.com, deberemos modificar el fichero/etc/amavis/conf.d/50user, aadiendo mail.dominio.com para que Amavis tenga un valor adecuado de esa variable $myhostname.

    $myhostname = "mail.dominio.com";

    Activamos el uso del antivirus ClamAV y el filtro antispam SpamAssassin en la configuracin de Amavis editando el fichero /etc/amavis/conf.d/15content_filter_mode,donde descomentaremos las lneas:

    @bypass_virus_checks_maps = ( \%bypass_virus_checks, \@bypass_virus_checks_acl, \$bypass_virus_checks_re);

    @bypass_spam_checks_maps = ( \%bypass_spam_checks, \@bypass_spam_checks_acl, \$bypass_spam_checks_re);

    De esta forma, dejaremos pasar los correos identificados como spam, aunque siguen siendo marcados como tales mediante cabeceras en el correo. De este modo, losdestinatarios seguirn recibiendo toda su correspondencia pero podrn filtrarla fcilmente usando SIEVE y las cabeceras que amavisdnew habr aadido al mensaje. Peropara que se produzca el comportamiento descrito, deberemos tambin editar el fichero /etc/amavis/conf.d/20debian_defaults y asegurarnos que la variablefinal_spam_destiny tenga el valor D_PASS:

    BULMA: Servidor de correo con Postfix, Cyrus y MySQL administrado desde OpenMailAdmin

    12/22

  • $final_spam_destiny = D_PASS;

    A continuacin se presenta una configuracin recomendada, pero opcional, de adjuntos permitidos y no permitidos. Es preciso que se evale la red interna y las necesidadesparticulares de cada caso, pues la siguiente configuracin es bastante restrictiva. La conseguimos descomentando las siguientes lneas en el fichero/etc/amavis/conf.d/20debian_defaults:

    qr'^application/xmsmetafile$'i,qr'^\.wmf$',qr'^message/partial$'i, qr'^message/externalbody$'i,[ qr'^\.(Z|gz|bz2)$' => 0 ],[ qr'^\.(rpm|cpio|tar)$' => 0 ],[ qr'^\.(zip|rar|arc|arj|zoo)$'=> 0 ],qr'.\.(ade|adp|app|bas|bat|chm|cmd|com|cpl|crt|emf|exe|fxp|grp|hlp|hta|inf|ins|isp|js|jse|lnk|mda|mdb|mde|mdw|mdt|mdz|msc|msi|msp|mst|ops|pcd|pif|prg|reg|scr|sct|shb|shs|vb|vbe|vbs|wmf|wsc|wsf|wsh)$'ix,qr'.\.(mim|b64|bhx|hqx|xxe|uu|uue)$'i,qr'^\.(exe|lha|tnef|cab|dll)$',

    Esta configuracin permite el paso de cualquier adjunto comprimido en formato gzip, bzip2, rpm, cpio, tar, zip, rar, arc, arj y zoo e impide el paso de todas las demsextensiones que aparecen (wmf, ade, adp, app, etc). Finalmente, de manera opcional tambin, podemos decirle a Amavis que modifique el asunto del correo y le aada***SPAM*** cuando identifique un correo como spam (tambin en el fichero /etc/amavis/conf.d/20debian_defaults):

    $sa_spam_subject_tag = '***SPAM*** ';

    Una vez hayamos configurado amavisdnew a nuestra medida, deberemos reiniciar el daemon para que se actie la nueva configuracin:

    /etc/init.d/amavis restart

    Ahora que ya tenemos amavisdnew funcionando, vamos a decirle a Postfix que haga uso del nuevo filtro de contenidos. Para ello editaremos primero el fichero/etc/postfix/master.cf, al cul aadiremos las dos siguientes directivas en su seccin Interfaces to nonPostfix software:

    smtpamavis unix y 2 smtp o smtp_data_done_timeout=1200 o smtp_send_xforward_command=yes o disable_dns_lookups=yes o max_use=20

    127.0.0.1:10025 inet n y smtpd o content_filter= o local_recipient_maps= o relay_recipient_maps= o smtpd_restriction_classes= o smtpd_delay_reject=no o smtpd_client_restrictions=permit_mynetworks,reject o smtpd_helo_restrictions= o smtpd_sender_restrictions= o smtpd_recipient_restrictions=permit_mynetworks,reject o smtpd_data_restrictions=reject_unauth_pipelining o smtpd_end_of_data_restrictions= o mynetworks=127.0.0.0/8 o smtpd_error_sleep_time=0 o smtpd_soft_error_limit=1001 o smtpd_hard_error_limit=1000 o smtpd_client_connection_count_limit=0 o smtpd_client_connection_rate_limit=0 o receive_override_options=no_header_body_checks,no_unknown_recipient_checks

    Por ltimo, en el fichero /etc/postfix/main.cf, indicaremos a Postfix que utilice un nuevo filtro de contenidos. Postfix redirigir el trfico al puerto 10024 de la interfazloopback. Una vez amavisdnew haya finalizado su trabajo, devolver el mensaje a Postfix a travs del puerto 10025, donde hemos habilitado un smtpd.content_filter=smtpamavis:[127.0.0.1]:10024

    Ahora tan slo queda reiniciar el servidor Postfix mediante el comando:

    /etc/init.d/postfix restart

    BULMA: Servidor de correo con Postfix, Cyrus y MySQL administrado desde OpenMailAdmin

    13/22

  • Medidas antispam (antiUCE) en PostfixLas medidas antiUCE (del ingls, Unsolicited Commercial Email) son una serie de mecanismos que se habilitarn en Postfix para filtrar el uso abusivo de nuestro servidory tratar de denegar la entrada de una buena parte del correo no solicitado en l. En primer lugar, aadimos las siguientes lneas al fichero /etc/postfix/main.cf:

    smtpd_helo_required = yesdisable_vrfy_command = yesstrict_rfc821_envelopes = yes

    smtpd_recipient_restrictions = reject_invalid_hostname, reject_non_fqdn_hostname, reject_non_fqdn_sender, reject_non_fqdn_recipient, reject_unknown_sender_domain, reject_unknown_recipient_domain, permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination, check_recipient_access pcre:/etc/postfix/recipient_checks.pcre, check_helo_access hash:/etc/postfix/helo_checks, check_helo_access pcre:/etc/postfix/helo_checks.pcre, reject_rbl_client relays.ordb.org, reject_rbl_client sbl.spamhaus.org,# check_policy_service inet:127.0.0.1:60000, permit

    smtpd_data_restrictions = reject_unauth_pipelining, permit

    Nota: la lnea check_policy_service inet:127.0.0.1:60000, que indica a Postfix que haga uso del servidor de polticas del puerto 60000, est comentada porque Postgrey seinstalar en el apartado siguiente.

    De este modo, a falta de especificar los ficheros referenciados, establecemos el siguiente flujo en las restricciones aplicadas al smtp_recipient_restrictions (ntese que elorden es relevante):

    Las primeras sentencias nos aseguran que el proceso de HELO/EHLO y el envoltorio del mensaje son correctos. Y en la ltima deshabilitamos las verificaciones dedirecciones de correo.

    1.

    Deshabilitamos la concatenacin (del ingls, pipelining) de comandos (generalmente slo los spammers tratan de concatenarlos, particularmente durante ataques dediccionario).

    2.

    Permitimos cualquier cosa que pase las restricciones de ms arriba y que pertenezca a mynetworks (el destino no importa).3. Permitimos a los clientes que se han autenticado por SASL.4. Rechazamos clientes sin autenticar.5. Comprobamos ciertas direcciones de destinatarios antes de aplicar cualquier lista negra local o de DNS.6. Comprobamos las listas negras locales, las listas blancas locales y las listas negras y blancas combinadas (comnprobacin de HELO/EHLO, remitente (origen en elenvoltorio) y cliente (servidor que enva)).

    7.

    Comprobamos las listas negras de DNS y de hosts que permiten relay abiertamente.8. Comprobamos las listas grises de Postgrey (desactivado hasta el punto siguiente del artculo).9.

    Slo aparecen los dos servidores de listas negras de DNS y RHS que utilizo. El primero es el que, particularmente, considero mejor, pues es una base de datos de servidoresque tienen relay abierto o activado (tcnicamente es una respuesta de s o no con criterios totalmente objetivos). Queda a merced del lector aplicar ms o menos listas negras,pero, en cualquier caso, es muy recomendable pasarse primero por sus respectivas webs y tener bien claro qu criterios siguen para considerar a un servidor de correo comodigno de aparecer en sus listas negras.

    Mediante la directiva check_recipient_access aplicamos sobre el destinatario del mensaje las comprobaciones detalladas en el fichero /etc/postfix/recipient_checks.pcre, quese resumen en revisar la sintaxis de las direcciones:

    # This file requires PCRE support built into Postfix/^\@/ 550 Invalid address format./[!%\@].*\@/ 550 This server disallows weird address syntax./^postmaster\@/ OK/^hostmaster\@/ OK/^abuse\@/ OK

    BULMA: Servidor de correo con Postfix, Cyrus y MySQL administrado desde OpenMailAdmin

    14/22

  • Ntese que para poder referenciar ficheros con expresiones regulares, por ejemplo en el /etc/postfix/main.cf la lnea pcre:/etc/postfix/recipient_checks.pcre, es necesario tenerinstalado el paquete postfixpcre. Por otra parte, las referencias del tipo dbm:/etc/postfix/helo_checks requieren de la ejecucin del comando postmap para que secree el fichero en formato Berkeley Database con extensin .db.

    En la directiva check_helo_access se lleva a cabo una comprobacin muy sencilla pero muy eficiente a la hora de evitar el spam. El contenido de /etc/postfix/helo_checks esel que sigue:

    # This file must be "compiled" with "postmap"linuxsilo.net REJECT You are not in linuxsilo.netgenma.linuxsilo.net REJECT You are not genma.linuxsilo.netwebmail.linuxsilo.net REJECT You are not webmail.linuxsilo.net66.79.182.201 REJECT You are not 66.79.182.201localhost REJECT You are not me

    Aunque parezcan algo triviales, estas comprobaciones son enormemente efectivas y sencillas. Simplemente se verifica que el comando HELO/EHLO enviado por el host quese conecta a nuestro servidor no use ni nuestro dominio, ni nuestra IP pblica o privada, ni localhost. Otra comprobacin que podra hacerse sobre el comando HELO/EHLOsera la de la sintaxis del host, que debe cumplir el estndar del RFC. Esta comprobacin aparece comentada en el main.cf de ms arriba, pues no la uso en la actualidad. Encualquier caso, ste sera el contenido del fichero referenciado:

    # This file requires PCRE support built into Postfix/^[09]+(\.[09]+){3}$/ REJECT Invalid hostname

    Con la directiva check_sender_access podemos realizar comprobaciones sobre el remitente del mensaje. En mi caso particular, este fichero nicamente contiene elcomentario inicial, pues no le doy uso alguno, pero puede que el lector quiera darle algn tipo de uso parecido al que se propone a continuacin para/etc/postfix/sender_checks:

    # This file must be "compiled" with "postmap"spammers.com 554 Spam not tolerated [email protected] OKmorespammers.com REJECT

    Segn este contenido, rechazaramos todo el correo de los dominios spammers.com y morespammers.com excepto el del usuario [email protected].

    Mediante la directiva check_client_access podemos realizar comprobaciones sobre el cliente que enva el mensaje. En el main.cf propuesto ms arriba aparecen dosreferencias a esta directiva, una usando una tabla de hashing y otra expresiones regulares. El autor del artculo tampoco las usa en estos momentos, y los ficheros nocontienen ms que la lnea de comentario inicial pero, de todas maneras, a continuacin se proponen posibles usos. Este sera un ejemplo de contenido para el fichero/etc/postfix/client_checks:

    # This file must be "compiled" with "postmap"spammers.com 554 Spam not tolerated here10 554 Go away!myfriendsdomain.com OK172.16 OK

    De este modo, pese a que el dominio myfriendsdomain.com y la IP 172.11.0.0/16 pertenezcan a listas negras, nosotros decidimos aceptar los accesos que venga de ellos.Asimismo, rechazamos todas las conexiones que provengan del dominio spammers.com y del rango de IPs 10.0.0.0/8. Con expresiones regulares podemos conseguirresultados ms complejos, como los del fichero /etc/postfix/client_checks.pcre:# This file requires PCRE support built into Postfix/10\.9\.8\.7/ OK/10\.9\.([89]|10)\.\d+/ 554 Go away. We don't want any!

    Esta expresin regular rechazara las conexiones desde el rango 10.9.8.0 10.9.10.255 excepto la direccin 10.9.8.7.

    Tras ejecutar los comandos postmap necesarios sobre los ficheros hash tan slo nos queda reinicar Postfix con el comando:/etc/init.d/postfix restart

    Terminologa y notas acerca de las restricciones y las listas de acceso

    HELO/EHLO es lo que la mquina que enva le dice que es a nuestra mquina. Puede disfrazarse fcilmente y frecuentemente se configura de manera incorrecta.HELO/EHLO se comprueba a travs de las restricciones en el helo y el hostname del smtpd.

    BULMA: Servidor de correo con Postfix, Cyrus y MySQL administrado desde OpenMailAdmin

    15/22

  • Sender es el envoltorio de la direccin remitente (Mail From en la comunicacin SMTP), no la direccin IP de la mquina cliente ni su hostname, ni tampoco el campoFrom: de las cabeceras (aunque el envoltorio del remitente perfectamente puede ser el mismo que el From: de las cabeceras). Sender se comprueba mediante las restriccionesdel remitente en el smtpd.

    Client es la direccin IP de la mquina que realiza el envo, y posiblemente el hostname (si puede obtenerse alguno de la resolucin inversa de la direccin IP). Client secomprueba con las restricciones del cliente en el smtpd.

    Recipient hace referencia a la direccin de correo pasada en el comando RCPT TO durante la comunicacin SMTP, no el To: ni el Ccc: u otros campos de las cabeceras.Recipient se comprueba mediante las restricciones del destinatario en el smtpd.

    Si se sitan las listas de acceso antes de las comprobaciones de listas negras de DNS, tal y como se muestra en la configuracin del main.cf ms arriba, pueden servir tantocomo listas negras que como listas blancas. Pero es muy importante ser cauteloso a la hora de usar las listas blancas pues, por ejemplo, si se le da el OK a algo en la directivasmtpd_recipient_restrictions antes del reject_unauth_destination, podramos dejar el servidor haciendo relay abierto para todo aquel que tenga el OK, o a los que seanfalsificables.

    Postgrey

    Acerca de Postgrey

    Postgrey(15) (Postfix Greylisting Policy Server) es un servidor de polticas para Postfix que implementa listas grises (del ingls, greylisting) desarrollado por DavidSchweikert(43) del ISG.EE.(44) Cuando Postfix recibe una peticin de envo de un correo electrnico via SMTP, ste construye el tro IP del cliente, remitente y destinatario.Si es la primera vez que se tiene constancia de esta combinacin o si la primera vez que se vio fue hace menos de 5 minutos, entonces el correo es rechazado con un cdigode error temporal. Es de esperar que los servidores que envan correo no deseado o virus no reintentarn el envo, aunque es un requerimiento estndar segn el RFC (delingls, Request For Comments). El siguiente grfico muestra la efectividad de Postgrey:

    Instalacin y configuracin

    La instalacin y configuracin de Postgrey es muy sencilla. En primer lugar instalamos el paquete postgrey, que ya nos deja una configuracin satisfactoria para nuestrasnecesidades:

    aptget install postgrey

    Y en segundo lugar, tal y como se comenta en el punto anterior de este tutorial, descomentamos la lnea siguiente de la directiva smtpd_recipient_restrictions del fichero/etc/postfix/main.cf:

    check_policy_service inet:127.0.0.1:60000

    Finalmente, solicitamos al daemon de Postfix que recargue la configuracin:

    /etc/init.d/postfix reload

    Mailman

    BULMA: Servidor de correo con Postfix, Cyrus y MySQL administrado desde OpenMailAdmin

    16/22

  • Acerca de Mailman

    Mailman(16) es un software libre que permite gestionar listas de distribucin, noticias y correo electrnicos. Mailman est integrado con la web, permitiendo a sus usuariosuna fcil administracin de sus cuentas, as como a sus propietarios administrar las listas. Mailman incluye soporte para crear archivos de correos, procesamiento automticode correo rechazado, filtrado de contenido, envo en modo compendio o resumen, filtros de spam, etc.

    Instalacin y configuracin

    A continuacin se instalar y configurar Mailman para ser accedido a travs de https y se integrar con Postfix. An as, tras la instalacin del paquete, es conveniente leerla documentacin disponible en /usr/share/doc/mailman , principalmente en /usr/share/doc/mailman/README.Debian.gz y en/usr/share/doc/mailman/README.POSTFIX.gz . En ella se detallan las modificaciones necesarias en Apache para el correcto funcionamiento de la interfaz web, as como laforma de integrar Postfix y Mailman. Acto seguido se va a configurar mailman, integrndolo con Postfix, para el dominio local.

    Primero procederemos a instalar el paquete Debian de Mailman mediante el comando:

    aptget install mailman

    Editaremos ahora el fichero del site de Apache que hemos venido configurando durante el tutorial, /etc/apache2/sitesavailable/mail.dominio.com y aadiremos lassiguientes directivas:

    ScriptAlias /mailman/ /usr/lib/cgibin/mailman/Alias /pipermail/ /var/lib/mailman/archives/public/Alias /images/mailman/ /usr/share/images/mailman/

    Una solicitud de recarga de configuracin a Apache bastar para activar los cambios:

    /etc/init.d/apache2 reload

    Luego pasaremos a modificar el fichero /etc/mailman/mm_cfg.py de Mailman, del cul modificaremos las dos siguientes variables:

    DEFAULT_URL_PATTERN = 'https://%s/cgibin/mailman/'MTA='Postfix'

    Forzamos a Mailman que genere los alias mediante la ejecucin del script genaliases:/var/lib/mailman/bin/genaliases

    Y pasamos a modificar la configuracin de Postfix para integrar ambos programas. Aadiremos o modificaremos los siguientes parmetros en el fichero /etc/postfix/main.cf:

    alias_maps = hash:/etc/aliases, hash:/var/lib/mailman/data/aliasesalias_database = hash:/etc/aliases, hash:/var/lib/mailman/data/aliasesmailman_destination_recipient_limit = 1unknown_local_recipient_reject_code = 550owner_request_special = norecipient_delimiter = +

    Solicitando a Postfix que recargue la configuracin y regenerando los alias habremos terminado con Postfix:

    /etc/init.d/postfix reloadnewaliases

    la instalacin de Mailman nos avisa de que es necesario crear una site list llamada mailman y que hasta que no la creemos el daemon del Mailman no arrancar. Ahora es elmomento de crearla y, para ello, ejecutamos el siguiente comando:newlist mailman

    Nota: Es muy recomendable usar una contrasea temporal pues se manda por email. Ms adelante podemos cambiarlo a uno definitivo y dejar la opcin Send monthlyreminders desactivada. Arrancamos el daemon:

    /etc/init.d/mailman start

    Y ya podemos cargar la pgina web de gestin de listas de Mailman:

    BULMA: Servidor de correo con Postfix, Cyrus y MySQL administrado desde OpenMailAdmin

    17/22

  • https://mail.dominio.com/mailman/admin/mailman/

    Ntese que las listas creadas lo sern sobre el dominio local mail.dominio.com. Si creamos la lista marketing, el email al cual deberemos mandar [email protected]. Pero podemos usar OpenMailAdmin para establecer alias sobre la cuenta postmaster usando la pestaa Addresses, de modo que el correo [email protected] se redirija a [email protected] y as hacer las cosas ms fciles para los usuarios.

    SquirrelMail y SIEVE

    Acerca de SquirrelMail

    SquirrelMail(11) es un paquete de correo por web basado en estndares y escrito en PHP(45) 4. Incorpora soporte PHP para los protocolos IMAP y SMTP, y todas sus pginasse crean en puro HTML 4.0(46) (sin requerir el uso de JavaScript), de modo que se garantize la mxima compatibilidad entre navegadores. Tiene muy pocos requerimientos yes muy fcil de instalar y configurar. SquirrelMail tiene toda la funcionalidad que se espera de un cliente de correo electrnico, incluyendo soporte de MIME, agendas decontactos y gestin de carpetas.

    Instalacin y configuracin

    Si bien es, estrictamente hablando, suficiente con la instalacin del paquete squirrelmail, es recomendable instalar los paquetes squirrelmaillocales (para el soportemultiidioma) y php5recode (soporte para la recodificacin de juegos de caracteres en PHP):aptget install squirrelmail squirrelmaildecode squirrelmaillocales php5recode

    Debemos cambiar algunos parmetros de configuracin de SquirrelMail para adaptarlos a nuestra instalacin. Ejecutamos el script de configuracin de que viene con elpaquete:

    /usr/sbin/squirrelmailconfigure

    Y utilizamos el juego de valores predefinidos para Cyrus:Set predefined settings for specific IMAP servers = cyrus

    Si, y slo si, se estableci la direciva unixhierarchysep: yes en /etc/imapd.conf, entonces ser necesario realizar tambin los siguientes cambios:

    Server Settings: Update IMAP Settings: Delimiter = /Folder Defaults: Trash Folder = INBOX/TrashFolder Defaults: Sent Folder = INBOX/SentFolder Defaults: Drafts Folder = INBOX/Drafts

    Opcionalmente, podemos cambiar tambin:

    Organization Preferences: Organization NameOrganization Preferences: Organization LogoOrganization Preferences: Organization TitleMessage of the Day (MOTD): Edit the MOTD

    El siguiente paso es modificar Apache para poder acceder a SquirrelMail a travs suyo. Editamos /etc/apache2/sitesavailable/mail.dominio.com:

    Alias /squirrelmail /usr/share/squirrelmail

    php_flag register_globals off Options Indexes FollowSymLinks DirectoryIndex index.php # access to configtest is limited by default to prevent information leak order deny,allow deny from all allow from 127.0.0.1

    BULMA: Servidor de correo con Postfix, Cyrus y MySQL administrado desde OpenMailAdmin

    18/22

  • Recargamos la configuracin de Apache para que surjan efecto los cambios:/etc/init.d/apache2 reload

    Y ya podemos acceder a nuestro correo por interfaz web:

    https://mail.dominio.com/squirrelmail/

    Habitualmente, los usuarios preferirn un acceso tipo https://webmail.dominio.com/. Para sto ser necesario configurar la entrada pertinente en la zona de DNS (no incluidaen el artculo, pues no es su propsito) y otro dominio virtual de Apache de similares caractersticas al que se usa en este artculo:

    ServerName webmail.dominio.com RewriteEngine on RewriteCond %{HTTP_HOST} ^webmail\.dominio\.com$ [NC] RewriteRule ^(.*)$ https://mail.dominio.com/squirrelmail/$1 [R=301,L]

    De este modo nos aseguramos un acceso siempre sobre canal cifrado y aprovechamos el certificado que hemos creado con anterioridad para el dominio mail.dominio.com.

    Acerca de SIEVE

    SIEVE(12) es un lenguaje que puede usarse para crear filtros de correo electrnico en el momento de la entrega final del correo (en el lado del servidor). No est ligado aningn sistema operativo o servidor de correo en particular. Requiere el uso de la especificacin de mensajes del RFC 822. El lenguaje es suficientemente potente para sertil, pero est limitado de modo que permita la creacin de sistemas de filtrado seguros en el lado del servidor. El objetivo es no permitir a los usuarios hacer nada mscomplejo (y peligroso) que escribir sencillos filtros de correo, adems de facilitar editores basados en interfaces grficas de usuario. El lenguaje no permite definir bucles ofunciones, ni tampoco proporciona variables.

    Se supone que el uso del lenguaje tiene lugar al final de la entrega, cuando el mensaje se mueve a una cuenta accesible por el usuario. En aquellos sistemas donde el MTA(Mail Transport Agent) realiza la entrega final (como es tradicional en los sistemas UNIX), es razonable clasificar cuando el MTA deposita el correo en la cuenta del usuario.Sin embargo, los filtros Sieve pueden ser usados por varios "puntos finales de entrega" del sistema de correo: por el servidor SMTP, por un servidor IMAP o POP quearchive una o ms cuentas de usuario, o por un cliente de correo (MUA, Mail User Agent) que acte como gestor de las entregas (por ejemplo, un cliente POP o IMAP sinconexin).

    Avelsieve(47) (SIEVE Mail Filters Plugin for SquirrelMail) es un plugin para SquirrelMail(48) que permite crear scripts hechos con Sieve en un servidor Cyrus IMAP quetenga habilitado el soporte para dicho lenguaje (Tim's SIEVE daemon). Avelsieve es parte de Cyrusmaster(49), una herramienta de administracin de Cyrus basada en web.Debera proporcionar una interfaz similar a la de los filtros de usuario a los administradores y personal de soporte tcnico.

    Instalacin y configuracin

    Para gestionar los scripts de SIEVE podemos usar el plugin de SquirrelMail Avelsieve SIEVE Mail Filters(47)'. Los siguientes comandos lo descargarn de su pgina webde descargas(50) y lo instalarn en el directorio de SquirrelMail:

    cd /usr/share/squirrelmail/plugins/wget http://email.uoa.gr/download/squirrelmail/avelsieve/avelsieve1.9.6.tar.gztar xzf avelsieve1.9.6.tar.gzrm force avelsieve1.9.6.tar.gzchown recursive root.root avelsievecp archive /usr/share/squirrelmail/plugins/avelsieve/config/config_sample.php /usr/share/squirrelmail/plugins/avelsieve/config/config.php

    Tan slo nos queda activar el plugin usando el script de configuracin de SquirrelMail /etc/squirrelmail/conf.pl. En su seccin Plugins: avelsieve. Asimismo, podemoseditar el fichero de configuracin /usr/share/squirrelmail/plugins/avelsieve/config/config.php y cambiar las opciones que deseemos.

    Mailgraph

    Acerca de Mailgraph

    Mailgraph es un frontend muy sencillo de estadsticas de correo electrnico generadas con RRDtool(51) para Postix y Sendmail que produce grficos diarios, mensuales yanuales de todo el correo recibido, enviado, rechazado y rebotado.

    BULMA: Servidor de correo con Postfix, Cyrus y MySQL administrado desde OpenMailAdmin

    19/22

  • Instalacin y configuracin

    La instalacin consta de dos pasos. El primero es la instalacin del paquete:

    aptget install mailgraph

    Respecto de las dos cuestiones que nos plantear el instalador, nos interesa que Mailgraph arranque como daemon al iniciarse el sistema y no nos interesa contar el correoentrante como saliente, pues estamos usando filtros de contenidos. El segundo paso ser congigurar Apache para hacer accesible Mailgraph. Editamos el fichero deconfiguracin de nuestro dominio, /etc/apache2/sitesavailable/mail.dominio.com, y aadimos la siguiente directiva:

    ScriptAlias /mailgraph/ /usr/lib/cgibin/

    Solicitamos a Apache que recargue la configuracin:

    /etc/init.d/apache2 reload

    Y ya podemos acceder a las grficas mediante la URL siguiente:

    https://mail.dominio.com/mailgraph/mailgraph.cgi

    Preguntas frecuentes

    P: Puede Postfix consultar directamente la base de datos MySQL?R: No

    P: Por qu se usa libpammysql si saslauthd soporta SQL nativamente?R: Porque saslauthd slo soporta contraseas no cifradas y se utiliza una base de datos en el sistema de autenticacin. Esa es la razn por la que se combina con PAM. PAM,en cambio, puede usar cualquier cosa.

    P: He ledo que /etc/postfix/sasl/smtpd.conf debera contener pwcheck_method: pam.R: Eso es cierto para versiones de SASL anteriores a la 2. Ahora hay que usar saslauthd.

    P: Por qu hay que ejecutar saslauthd con el parmetro r?R: Para que la ruta de retorno sea correcta y para que, en un futuro, cuando los usuarios se autentiquen como [email protected], no haya que modificarlo. Si tienesproblemas, no te olvides de monitorizar /var/log/auth.log.

    P: Por qu se mueve el socket de saslauthd a /var/spool/postfix/var/run/saslauthd?R: Porque el servicio smtp se ejecuta enjaulado (del ingls, chroot'ed).

    P: Por qu se ha aadido etc/postfix/sasl/smtpd.conf a la variable FILES?R: Porque Postfix necesita acceder al fichero desde dentro de la jaula. El script en /etc/init.d copia la ltima versin de ese fichero dentro de la jaula cada vez que se reiniciael servicio.

    P: Cmo funciona la cadena de autenticacin?R: Postfix se conecta a saslauthd a travs del socket, el cul solicita a PAM que autentique el usuario, la cul consulta la tabla adecuada de la base de datos de MySQL.

    P: Por qu se utiliza 127.0.0.1 en lugar de localhost en la configuracin de Postfix?R: Para que se use un socket de TCP en lugar de un socket UNIX. De este modo no tenemos que mover el socket de MySQL dentro de la jaula de Postfix.

    Bibliografa

    Configuracin de un completo servidor de correo seguro con Postfix y Cyrus(1) Greylisting: the next step in the spam control war(52) ISP Mailserver Solution Howto(53) Postfix SMTP AUTH with TLS on Debian GNU/Linux(54) Postfix MySQL Howto(55) Enabling SASL in Postfix(56)

    BULMA: Servidor de correo con Postfix, Cyrus y MySQL administrado desde OpenMailAdmin

    20/22

  • Postfix FAQ(57) Postfix Virtual Domain Hosting Howto(58) Postfix SMTPAUTH 4 DUMMIES(59) Running Cyrus IMAP. Configuring virtual domains with Cyrus+Postfix in FreeBSD 5.4(60) ISPstyle Email Service with DebianSarge and Postfix 2.1(61) Sarge postfix/saslauthd issues(62) OpenMailAdmin PostfixSASLCyrusMySQLHOWTO(63) OpenMailAdmin Configure Support for Multiple Servers(64) OpenMailAdmin Detailed Installation Instructions(65) OpenMailAdmin Compiling Postfix with TLS/SSL(66) PostfixCyrusWebcyradmHOWTO(67) Postfix and SpamAssassin(68)

    Historial de revisiones

    Fecha Versin Cambios

    08/10/2006 1.0 Documento inicial

    Lista de enlaces de este artculo:

    http://linuxsilo.net/articles/postfix.html1. http://www.debian.org/releases/etch/2. http://www.debian.org/3. http://www.debian.org/intro/free4. http://www.kernel.org/5. http://www.gnu.org6. http://www.debian.org/distrib/packages7. http://www.mysql.com/8. http://www.imc.org/ietfsasl/9. http://asg.web.cmu.edu/cyrus/imapd/10. http://www.squirrelmail.org/11. http://www.cyrusoft.com/sieve/12. http://www.clamav.net/13. http://www.spamassassin.org/14. http://isg.ee.ethz.ch/tools/postgrey/15. http://www.gnu.org/software/mailman/16. http://www.openmailadmin.org/17. http://www.kernel.org/pub/linux/libs/pam/18. http://bugs.debian.org/cgibin/bugreport.cgi?bug=37383419. http://packages.debian.org/unstable/admin/libpammysql20. http://www.cacert.org/21. http://www.ietf.org/22. http://asg.web.cmu.edu/sasl/sasllibrary.html23. http://asg.web.cmu.edu/sasl/24. http://www.postfix.org/25. http://www.sendmail.org/26. http://www.postfix.org/documentation.html27. http://asg.web.cmu.edu/28. http://www.cmu.edu/29. http://www.netscape.com/30. http://wp.netscape.com/eng/ssl3/31. http://www.ietf.org/html.charters/tlscharter.html32. http://www.openssl.org/33. http://razor.sourceforge.net/34. http://www.linux.org/35. http://www.freebsd.org/36.

    BULMA: Servidor de correo con Postfix, Cyrus y MySQL administrado desde OpenMailAdmin

    21/22

  • http://www.rarlab.com/37. http://www.gzip.org/38. http://sources.redhat.com/bzip2/39. http://www.qmail.org/qmailmanualhtml/man5/mbox.html40. http://www.qmail.org/qmailmanualhtml/man5/maildir.html41. http://www.ijs.si/software/amavisd/42. http://people.ee.ethz.ch/~dws/43. http://isg.ee.ethz.ch/44. http://www.php.net/45. http://www.w3.org/TR/1998/REChtml4019980424/46. http://email.uoa.gr/projects/squirrelmail/avelsieve.php47. http://www.squirrelmail.org/plugin_view.php?id=7348. http://email.uoa.gr/projects/cyrusmaster/49. http://email.uoa.gr/projects/squirrelmail/avelsieve_download.php50. http://oss.oetiker.ch/rrdtool/51. http://projects.puremagic.com/greylisting/52. http://www.marlow.dk/site.php/tech/postfix53. http://archives.neohapsis.com/archives/postfix/200307/2992.html54. http://www.postfix.org/MYSQL_README.html55. http://linsec.ca/misc_services/postfix_sasl.php56. http://www.seaglass.com/postfix/faq.html57. http://www.postfix.org/VIRTUAL_README.html58. http://www.nervous.it/txt/PostfixSMTPAUTH4DUMMIES.html59. http://www.onlamp.com/pub/a/onlamp/2005/10/06/cyrus_imap.html60. http://workaround.org/articles/ispmailsarge/61. http://www.webservertalk.com/archive99200591127395.html62. http://openmailadmin.ossdl.de/wiki/howto/PostfixSASLCyrusMySQL63. http://openmailadmin.ossdl.de/wiki/Documentation/Installation/MultiServer64. http://openmailadmin.ossdl.de/wiki/Documentation/Installation/Detailed65. http://openmailadmin.ossdl.de/wiki/howto/Postfix66. http://www.delouw.ch/linux/PostfixCyrusWebcyradmHOWTO/html/67. http://ezine.daemonnews.org/200309/postfixspamassassin.html68.

    Email del autor: jsabater _ARROBA_ linuxsilo.netPodrs encontrar este artculo e informacin adicional en: http://bulma.net/body.phtml?nIdNoticia=2349

    BULMA: Servidor de correo con Postfix, Cyrus y MySQL administrado desde OpenMailAdmin

    22/22