Frontales de correo con Software Libre
Por Javier Turégano
El mundo del correo electrónico ha estado dominado desde los inicios por soluciones basadas en Software Libre. En un principio casi un 90% de los servidores de correo utilizaban el tan amado y odiado Sendmail. Poco a poco la oferta se ha ido diversificando con la aparición de muchas más soluciones tanto procedentes del software libre (Postfix, Qmail, Exim, etc..) cómo del privativo, asi cómo con la aparición de los grandes proveedores de servicios gratuitos de correo cómo gmail, hotmail y demás.
Pero en esta ocasión no vamos a hablar de una implementación completa de un sistema de correo con software libre, que las hay y muy potenntes, sino sólo de una de las partes que pueden formar parte de un sistema de correo mediano/grande: los servidores frontales. Llamaremos frontales a los servidores encargados de recibir el correo desde el exterior y reenviarlo a su servidor de buzones correspondiente, así cómo de enviar el correo de los usuarios hacia internet. Resumiendo, los frontales serán la puerta de entrada y salida del correo de nuestra organización.

Pero, ¿cuales son las ventajas que nos ofrece destinar servidores a realizar esta tarea en lugar de conectar directamente nuestros servidores finales con el usuario?
- Separación de servicios: Ya que los frontales se encargan del enrutado de correo y cómo veremos más tarde tareas cómo el filtrado del mismo, liberan a los servidores de buzón para que realicen su tarea real: almacenar y gestionar los correos de los usuarios.
- Mejora de la seguridad: Que se desprende del apartado anterior y de la posibilidad de realizar una configuración más segura de los frontales, independientemente de la configuración o el software de los servidores de buzón.
- Punto ideal para implementar el filtrado de correo: Al ser el punto de entrada y salida de todo el correo, este también será el punto ideal para implementar los sistemas de filtrado antispam y antivirus. Estos podrán estar en el mismo servidor frontal o podemos delegarlo en servidores dedicados al filtrado.
- Escalabilidad horizontal: Cada frontal de correo pude realizar su tarea de forma paralela e independiente del resto de frontales, ya que su tarea es la de enrutar correo. Por tanto podemos considerar a los frontales cómo un servicio sin estado respecto al resto de sistemas, es decir no necesita información del resto ni elementos que pueden ser conflictivos cómo el almacenamiento compartido de los servidores de buzón. Gracias a esta característica el crecimiento horizontal de nuestra plataforma va a ser prácticamente ilimitado, si detectamos que no tenemos suficiente potencia para asumir la carga bastará con añadir más servidores con una configuración idéntica a la actual a la línea de frontales.
- Buffer de correo: En caso de caída de los servidores de buzón, los servidores frontales serían capaces de mantener encolados los mensajes hasta que se subsanara el problema de los servidores de buzón, dándonos flexibilidad para no perder ningún correo.
Otra de las grandes ventajas de utilizar este sistema basado en servidores frontales es que podemos tener varios sistemas de correo dentro de nuestra organización: por ejemplo, un sistema basado en software libre (postfix, courier, etc..), otro basado en las soluciones de Microsoft y otro en soluciones de SUN, y tener una única via de entrada unificada para todos ellos, ofreciendo al usuario un único punto de entrada.
Para la implementación de los servicios smtp de los frontales Postfix será nuestra opción preferida, ya que nos ofrece una solución muy potente, flexible y confiable. Así de forma fácil podemos ofrecer los siguientes servicios en nuestros servidores frontales: envío smtp autenticado y/o basado en redes de confianza, smtps cifrado mediante SSL o TLS, filtrado antivirus y antispam combinandolo con amavis, spamassassin, clamav y/o cualquier antivirus
No vamos a detallar la configuración de Postfix en este post, pero únicamente indicar que para implementar un frontal que trabaje con distinto servidores de buzón únicamente necesitaremos utilizar la tabla transport de Postfix y poder definir así de forma sencilla el servidor de destino de los mensajes. Esta tabla puede estar implementada a través de un servicio de usuarios central cómo puede ser ldap o una base de datos y nos da la flexibilidad de trabajar a nivel de dominio o de usuario concreto. Así por ejemplo podríamos enviar los mensajes de usuarios más prioritarios a un servidor de buzón dedicado para ellos, reenviar por dominio todos los mensajes de las listas de correo a un servidor dedicado para ello o simplemente enviar el correo de cada usuario al buzón que le corresponda.
Por otro lado y de cara a que la lectura de buzones también se realizara a través de los frontales y así ofrecer ese punto único de cara al usuario, podríamos utilizar un proxy pop/imap cómo Perdition. Perdition nos permite también utilizar una fuente de datos externa, cómo ldap, para determinar sobre que servidor de buzón debe realizar la conexión teniendo en cuenta qué usuario está intentando realizar la conexión.
Andago ha llevado a cabo la implementación de este sistema de frontales en todas sus soluciones de correo electrónico implantadas en aquellos clientes que han requerido de un sistema confiable y escalable de correo con un éxito bastante elevado.
Javier Turégano