Facultad de Ingeniería Eléctrica Departamento de Telecomunicaciones y Electrónica TRABAJO DE DIPLOMA Propuesta de implementación de un servidor de correo sobre Linux para sustituir el servidor de correo MDeamon Autor: Héctor Alain Álvarez Gómez Tutor: Lic. Raúl Comas Rodríguez Santa Clara 2008 "Año 50 del triunfo de la Revolución" Universidad Central “Marta Abreu” de Las Villas Facultad de Ingeniería Eléctrica Departamento de Telecomunicaciones y Electrónica TRABAJO DE DIPLOMA Propuesta de implementación de un servidor de correo sobre Linux para sustituir el servidor de correo MDeamon Autor: Héctor Alain Álvarez Gómez [email protected] [email protected] Tutor: Lic. Raúl Comas Rodríguez [email protected] Consultante: Msc. Ramón Torres Rojas [email protected] [email protected] Santa Clara 2008 "Año 50 del triunfo de la Revolución" Hago constar que el presente trabajo de diploma fue realizado en la Universidad Central “Marta Abreu” de Las Villas como parte de la culminación de estudios de la especialidad de Ingeniería en Telecomunicaciones y Electrónica, autorizando a que el mismo sea utilizado por la Institución, para los fines que estime conveniente, tanto de forma parcial como total y que además no podrá ser presentado en eventos, ni publicados sin autorización de la Universidad. Firma del Autor Los abajo firmantes certificamos que el presente trabajo ha sido realizado según acuerdo de la dirección de nuestro centro y el mismo cumple con los requisitos que debe tener un trabajo de esta envergadura referido a la temática señalada. Firma del Tutor Firma del Jefe de Departamento donde se defiende el trabajo Firma del Responsable de Información Científico-Técnica Pensamiento PENSAMIENTO Los problemas significativos que enfrentamos no pueden resolverse con el mismo nivel de pensamiento que teníamos cuando los creamos. Albert Einstein. I Agradecimientos AGRADECIMIENTOS A mi tutor Raúl Comas y consultante Ramón Torres, por servirme de guía y por la ayuda que me brindaron en la confección de este trabajo. A mi esposa Yanet, sin cuya comprensión y amor no hubiera culminado mis estudios. A mi querida “hermanita” y a mi madre Susanita. A todos los profesores que con su experiencia profesional han contribuido a mi formación. A mis compañeros de estudio, con los que compartí todos estos años. A mi familia toda, que no alcanzarían estas páginas para poder nombrarlos. A Idelma, por su apoyo incondicional. Gracias a todos… II Dedicatoria DEDICATORIA A mi madre, hermana, esposa y muy en especial a mi pequeña pili, Leyi III Resumen RESUMEN Hoy en día muchas de las empresas e instituciones a nivel mundial se proyectan en la migración de los servicios de Windows a Linux. Realizar un estudio de nuevas soluciones y la implementación de algunas de ellas en software libre es el camino seguido por nuestro país, donde no estamos exentos de estos cambios y por ende en el año 2002 fue lanzada una estrategia guiada por el MIC para favorecer la inserción en el país de las tecnologías libres, lo que reafirmó dos años después con el acuerdo 684/04. El correo electrónico es el servicio más utilizado de Internet. Entre los software de correo propietarios más utilizados encontramos el MS Exchange de Microsoft y MDaemon de AltN Technologies. Este trabajo tiene como objetivo esencial ofrecer una propuesta de solución para la inserción de un servidor de correo electrónico de código abierto sobre plataforma Linux como sustituto de los anteriormente mencionados Se analizan las características de un programa de colaboración basados en software libre (Zimbra Colaboration Suite Open Source) y se muestran algunas opciones de su configuración. IV Índice INDICE INTRODUCCIÓN 1 CAPITULO 1 SERVIDORES DE CORREO. 4 Introducción 4 1.1 Introducción a los Servidor de correo 4 1.2 SMTP. Protocolo simple para la transferencia de correo. 6 1.2.1 Funcionamiento 7 1.2.2 Ejemplo de una comunicación SMTP 7 1.2.3 Formato del mensaje 9 1.3 Protocolos IMAP Y POP 9 1.3.1 IMAP, Protocolo de acceso a mensajes de Internet 10 1.3.2 POP: Protocolo de Oficina de Correos 10 1.4 Principales servidores de correo sobre Linux 11 1.4.1 Sendmail 12 1.4.2 Postfix 12 1.4.3 Exim 14 1.4.4 Qmail 14 1.4.5 Cómo elegir el agente de transferencia de correo 15 Conclusiones del capítulo 16 CAPITULO 2 EL SOFTWARE COLABORATIVO Y LA SEGURIDAD EN LAS COMUNICACIONES POR CORREO. Introducción 17 17 2.1 El sistema operativo del Servidor 17 2.2 Software libre en cuba 18 2.3 El software colaborativo 20 2.3.1 Tipos de colaboración 20 2.3.2 Microsoft Exchange Server 22 2.3.3 MDaemon 23 2.3.4 La Suite de Colaboración Zimbra 24 2.3.4.1 Beneficios de Zimbra 25 2.3.4.2 ZCS. Cliente Ajax 26 2.3.4.3 Los paquetes que incluye Zimbra 27 2.4 Seguridad en el correo electrónico 28 V Índice 2.4.1 Recibiendo correo seguro 29 2.4.1.1 Spam 29 2.4.1.2 Correos Web 30 2.4.1.3 Archivos Anexados 30 2.4.1.4 Encabezados Falsos 30 2.4.2 Enviando Correo seguro 31 2.4.2.1 Certificados digitales 31 2.4.2.2 Encriptación / Cifrado 32 2.4.3 Seguridad en las Conexiones 34 Conclusiones del capitulo 34 35 CAPITULO 3 PROPUESTA DE IMPLEMENTACIÓN DE ZIMBRA OPEN SOURCE. Introducción 35 3.1 Caracterización y estructura de la red de la ERMPSS 35 3.2 Perspectiva inicial 36 3.3 Configuración del cortafuego local. Iptables 37 3.4 Procedimientos y requisitos para la instalación de ZCS Open Sourse 38 3.4.1 Requerimientos del sistema 39 3.4.2 Prerrequisitos de la instalación 40 3.4.3 Instalación 40 3.5 Administración y configuración 41 3.5.1 Conexión segura entre los clientes y el servidor 41 3.5.1.1 Renovando el certificado 42 3.5.2 El motor del antivirus 42 3.5.3 Recogida externa del correo 43 3.6 Disposición de los clientes 45 3.7 Cambiando los puertos 46 CONCLUSIONES 48 RECOMENDACIONES 49 REFERENCIAS BIBLIOGRÁFICA 50 BIBLIOGRAFÍA 52 ANEXOS 54 VI Introducción INTRODUCCIÓN El uso de Agentes de Transporte de Correo o MTA (Mail Transport Agent) y otras soluciones comerciales son una preocupación, principalmente por el costo de mantenimiento, soporte, licencias de estos programas. Esto ha conllevado a muchas instituciones en todo el mundo a fomentar la estrategia de migrar las aplicaciones y servicios hacia sistemas de código abierto. Actualmente se conocen varios servidores de código abierto entre los que destacan: Exim, Postfix, Qmail y Sendmail los cuales suelen ser más estables, se desempeñan mejor y son más seguros que los MTA sobre Windows. La problemática mayor radica en el manejo y la complejidad en la configuración de los mismos. El proceso para suplir un servidor de correo sobre Windows por otro de código abierto ha resultado un proceso que requiere un gran esfuerzo para lograr un sustituto ideal que represente la mayor parte de las características y comodidades, principalmente de administración que brindan los MTA sobre Windows como son el Microsoft Exchange o el MDaemon. Estos dos están incluidos en un grupo de programas conocido en Internet como software colaborativo (groupware). Su uso abarca desde las videoconferencias a través de Internet, los programas de mensajería instantánea, gestionar agendas, organizar reuniones, organizar documentos; o sea permiten optimizar y organizar el trabajo en grupo en una institución o empresa. En este trabajo está basado en la búsqueda de un sustituto a estos servidores de Windows que corra en plataforma Linux. En el documento se exponen pasos del proceso de instalación y configuración de un sistema de correo sobre Linux basado en la versión Open Sources de Zimbra Collaboration Suite que se desea implementar en la Empresa de Recuperación de Materias Primas Sancti Spíritus (ERMPSS). Y como lograr una comunicación segura en el envío de la mensajería. Además nos dará la posibilidad de dejar listo un servidor Web para uso de la entidad. 1 Introducción El problema encontrado es lograr un sustituto del servidor de correo actual que trabaje sobre plataforma Linux, sea más estable y seguro, tenga una interfaz de administración asequible, permita el trabajo con los clientes que existen ya en la red y cumpla con la mayoría de las funciones del groupware. Por lo que nos hemos planteado las siguientes interrogantes científicas: • ¿Cual es la situación actual que presenta el desarrollo de soluciones para servidores de correo de código abierto? • ¿Cómo sustituir el servidor de correo de forma tal que no afecte los clientes? • ¿Se puede lograr una comunicación segura en el envío de los mensajes entre los clientes y el servidor? Por tanto el objetivo de este trabajo es elaborar una propuesta para la inserción de un servidor de correo electrónico de código abierto sobre plataforma Linux en la Empresa Provincial de Recuperación de Materias Primas de Sancti Spíritus. Las tareas de investigación que se proponen son: 1. Realizar un estudio del estado del arte sobre los servidores de correo de código abierto más utilizados analizando sus características. 2. Analizar la solución para la inserción del servidor y realizar una valoración de la misma. 3. Configuración para el trabajo óptimo y seguro del mismo. El trabajo está organizado como sigue: índice, introducción, el desarrollo compuesto por tres capítulos, conclusiones, recomendaciones, referencias bibliográficas, bibliografía y anexos. El capítulo1 se dedicará a un estudio del arte de los servidores de correo de código abierto más utilizados y los protocolos de comunicación entre los mismos. 2 Introducción En el capítulo2 se realizará un análisis de los groupware más utilizados en Windows, se comparan con el que se desea implementar y se profundiza en las características del mismo. Además se estudia como utilizar el correo de forma segura y proteger la confidencialidad de los mensajes. En el capítulo 3 se desarrolla la propuesta de inserción, se da una presentación del proceso de instalación, configuración, y las posibilidades y herramientas del mismo posteriores a la instalación. 3 Capitulo1 CAPITULO 1 SERVIDORES DE CORREO Introducción En este capítulo se expone el estado del arte de los servidores de correo, se abordarán los protocolos principales que se utilizan en una comunicación entre servidores y clientes, como son el SMTP, POP e IMAP. Se realiza un estudio de las soluciones para servidores de correo de código abierto que corren en sistemas Linux. Y por último se muestran los principales criterios que tienen en cuenta los usuarios en Internet a la hora de elegir uno u otro servidor. 1.1 Introducción a los Servidor de correo Un servidor de correo es una aplicación que nos permite enviar mensajes de un usuario a otros, con independencia de la red que dichos usuarios estén utilizando. Para lograrlo se definen una serie de protocolos, o sea, un conjunto de instrucciones o estándares por medio de los cuales los servidores y las aplicaciones se comunican, cada uno con una finalidad concreta. Si el correo debe enviarse a través de una red que usa TCP/IP, se usará normalmente SMTP. SMTP son las siglas de Simple Mail Transfer Protocol, o Protocolo Simple de Transferencia de Correo que se define en el RFC 788 y RFC 821. SMTP usualmente conecta con la máquina del destinatario directamente, negociando la transferencia del mensaje con el servidor SMTP del otro lado. Otra forma de mantener todos los apartados postales en un anfitrión central es utilizar POP o IMAP. POP (Post Office Protocol), es decir, Protocolo de Oficina Postal y permite a los usuarios tener acceso a sus archivos de correo guardados en el servidor y pasárselos al usuario a través de una conexión TCP/IP. IMAP (Internet Message Access Protocol), o Protocolo de Acceso a Mensajes de Internet, es similar a POP, excepto que es más general. [Kirch, Olaf (2002)] 4 Capitulo1 Así pues, un servidor de correo consta en realidad de dos servidores: un servidor SMTP que será el encargado de enviar y recibir mensajes, y un servidor POP/IMAP que será el que permita a los usuarios obtener sus mensajes. Para obtener los mensajes del servidor, los usuarios se sirven de clientes (programas que implementan un protocolo POP/IMAP). Existen clientes que se ejecuta en la máquina del usuario (Mozilla Thunderbird, Evolution, Microsoft Outlook, Outlook Express). Sin embargo existe otra posibilidad: que el cliente de correo no se ejecute en la máquina del usuario; es el caso de los clientes vía web, como GMail, Hotmail, OpenWebmail, SquirrelMail o Terra. En ellos la arquitectura del servicio es más compleja: En una máquina (A) tenemos el servidor SMTP y el servidor POP/IMAP. En otra (B) tenemos un servidor web con una aplicación cliente POP/IMAP. El usuario conecta vía Web con (B) y entonces el cliente POP/IMAP establece una conexión POP/IMAP con el servidor de la máquina A; éste servidor le devuelve a B los mensajes del usuario, y una vez recibidos, el cliente genera una página web con los mensajes recibidos. La página web se pasa al servidor web que será el que la envíe al explorador web del usuario. En cualquier caso, los protocolos SMTP/POP/IMAP son inseguros en cuanto a que los mensajes viajan en claro por la red, es decir, es fácil obtener nuestros mensajes y contraseñas. Para ello se suele añadir una capa SSL, es decir, un método de cifrado que puedan implementar tanto el servidor como el cliente. En el caso del correo vía web se pueden utilizar dos capas SSL: una entre A y B y otra entre el servidor web de B y el navegador web del usuario. En la Tabla1 se muestra el porcentaje del uso de software servidor de correo electrónico en Internet [SecuritySpace, (marzo 2007)]. 5 Capitulo1 Tabla1 Uso de servidores de correo en Internet Servidor de correo electrónico Sendmail Microsoft Exim Postfix IMail MDaemon MailEnable Merak Lotus Domino CommuniGate Pro Trend Micro WinWebMail Kerio GroupWise ArGoSoft XMail SurgeSMTP Otros Porcentaje de uso en Internet 31.50% 21.20% 18.74% 13.57% 4.03% 2.38% 2.18% 0.95% 0.91% 0.58% 0.54% 0.47% 0.46% 0.46% 0.35% 0.27% 0.19% 1.22% 1.2 SMTP. Protocolo simple para la transferencia de correo. El SMTP es un protocolo de red basado en texto utilizado para el intercambio de mensajes de correo electrónico entre computadoras y/o distintos dispositivos (PDA's, Celulares, etc). En 1982 se diseño el primer sistema para intercambiar correos electrónicos para ARPANET, definido en dos RFC (Request for comments) Peticiones de Comentarios: RFC 821 y RFC 822. La primera de ellas define el protocolo y la segunda el formato del mensaje. Con el tiempo se ha convertido en uno de los protocolos más usados en Internet. Para adaptarse a las nuevas necesidades surgidas del crecimiento y popularidad de Internet se han hecho varias ampliaciones al mismo, como poder enviar texto con formato o archivos adjuntos. 6 Capitulo1 1.2.1 Funcionamiento SMTP se basa en el modelo cliente-servidor, donde un cliente envía un mensaje a uno o varios receptores, usando normalmente el puerto 25 en el servidor para establecer la conexión. Funciona con un conjunto de reglas limitado: 1. Aceptan un mensaje entrante. 2. Comprueban las direcciones del mensaje. 3. Si son direcciones locales, almacenan el mensaje para después recuperarlo. 4. Si son direcciones remotas, envían el mensaje. Por tanto, los servidores SMTP son funcionalmente similares a los routers de paquetes. [Ferrer, Fernando (2004)] Normalmente, un mensaje pasará a través de varias pasarelas SMTP antes de llegar a su destino final. En cada parada, el servidor SMTP evalúa el mensaje y lo almacena o lo envía. También puede suceder que si el servidor SMTP encuentra un mensaje que no se puede enviar, este devuelva un mensaje de error al remitente explicando el problema. 1.2.2 Ejemplo de una comunicación SMTP En primer lugar se ha de establecer una conexión entre el emisor y el receptor. Esto puede hacerse automáticamente con un programa cliente de correo o mediante un cliente telnet. En el siguiente ejemplo se muestra una conexión típica. Se nombrará con la letra C al cliente y con S al servidor. S: 220 Servidor ESMTP C: HELO S: 250 Hello, please meet you C: MAIL FROM: [email protected] S: 250 Ok C: RCPT TO: [email protected] S: 250 Ok 7 Capitulo1 C: DATA S: 354 End data with <CR><LF>.<CR><LF> C: Subject: Campo de asunto C: From: [email protected] C: To: [email protected] C: C: Hola, C: Esto es una prueba. C: Adios. C: . S: 250 Ok: queued as 12345 C: quit S: 221 Bye En el ejemplo pueden verse los comandos básicos de SMTP: ● HELO, para abrir una sesión con el servidor ● MAIL FROM, para indicar quien envía el mensaje ● RCPT TO, para indicar el destinatario del mensaje ● DATA, para indicar el comienzo del mensaje, éste finalizará cuando haya una línea únicamente con un punto. ● QUIT, para cerrar la sesión Las respuestas que da el servidor pueden ser de varias clases: ● 2XX, para una respuesta afirmativa ● 3XX, para una respuesta temporal afirmativa ● 4XX, para una respuesta de error, pero se espera a que se repita la instrucción ● 5XX, para una respuesta de error Una vez que el servidor recibe el mensaje finalizado con un punto puede bien almacenarlo si es para un destinatario que pertenece a su dominio, o bien retransmitirlo a otro servidor para que finalmente llegue a un servidor del dominio del receptor. [Hazle, Philip (2001)] 8 Capitulo1 1.2.3 Formato del mensaje Como se muestra en el ejemplo anterior, el mensaje es enviado por el cliente después de que éste mande el comando DATA al servidor. El mensaje está compuesto por dos partes: ● Cabecera: en el ejemplo las tres primeras líneas del mensaje son la cabecera. En ellas se usan unas palabras clave para definir los campos del mensaje. Estos campos ayudan a los clientes de correo a organizarlos y mostrarlos. Los más típicos son asunto (subject), emisor (from) y receptor (to). Estos dos últimos campos no hay que confundirlos con los comandos MAIL FROM y RCPT TO, que pertenecen al protocolo, pero no al formato del mensaje. ● Cuerpo del mensaje: es el mensaje propiamente dicho. En el SMTP básico está compuesto únicamente por texto, y finalizado con una línea en la que el único carácter es un punto. 1.3 Protocolos IMAP Y POP Los clientes de correo o MUA (Mail User Agent) Agentes de Usuarios de Correo son los encargados de ofrecer al usuario la posibilidad de acceder a su correo. La alternativa más utilizada es proporcionar al usuario un acceso remoto a su buzón, evitando de esta forma que los usuarios puedan entrar en la maquina que mantiene el servidor de correo. Los protocolos IMAP y POP permiten al usuario a través de un cliente de correo que los soporte, acceder remotamente a los buzones. [Terrasa Barrena, Andrés y Ferrer García, Fernando (2004)] Para enviar los mensajes, los MUA se pueden conectar a un MTA (Mail Transport Agent) Agente de Transporte de Correos determinado, utilizando SMTP. En cambio para descargar la mensajería un MUA puede emplear alguna variante de dos protocolos fundamentales: POP o IMAP. Estos se diferencian en que el primero descarga la mensajería en la máquina local y el segundo permite manipularla directamente en el servidor y descargarla selectivamente. Un programa servidor o MTA no necesariamente acepta conexiones para descargar la mensajería que el manipula pues no siempre constituyen el destino final de la 9 Capitulo1 misma. Esta función constituye un servicio adicional, o sea si el sistema además de gestionar el envío de la mensajería mediante un MTA, permite descargarla debe ejecutarse también un programa servidor de POP o IMAP que brinde dicha funcionalidad. 1.3.1 IMAP, Protocolo de acceso a mensajes de Internet Desarrollado por la Universidad de Stanford, IMAP es un protocolo utilizado para administrar y recuperar mensajes de correo electrónico. La última versión IMAP4, es similar a POP3 pero posee una gran cantidad de funciones adicionales. IMAP4 se conoce como el protocolo utilizado para administrar mensajes de correo electrónico en el servidor en lugar de hacerlo en el equipo local, lo que permite leer el correo desde diferentes puestos sin la necesidad de transferir los mensajes entre las diferentes máquinas. Los mensajes pueden buscarse por contraseña, organizarse en carpetas, específicamente seleccionados para descargarse, y otras funciones, todas mientras están en el servidor. Por consiguiente IMAP le exige menos al equipo del usuario y centraliza el correo electrónico para que pueda accederse desde ubicaciones múltiples. El protocolo incluye funciones de creación, borrado y renombrado de buzones. Es completamente compatible con Standard como MIME (Multipurpose Internet Mail Extensions) Extensión de Correo Electrónico para Multipropósitos en Internet. Soporta accesos concurrentes a buzones compartidos. El cliente de correo no necesita conocer el formato de almacenamiento de los ficheros en el servidor. [Terrasa Barrena, Andrés y Ferrer García, Fernando (2004)] 1.3.2 POP: Protocolo de Oficina de Correos POP2 llegó a ser el protocolo estándar a mediados de 1980 y requería que SMTP enviara los mensajes. Fue reemplazado por la nueva versión, POP3, que puede ser utilizada con o sin SMTP Al contrario de otros protocolos creados con anterioridad como el SMTP el POP no necesita una conexión permanente a Internet, puesto que es en el momento de la conexión cuando solicita al servidor el envío de la correspondencia almacenada en el servidor para dicho usuario. 10 Capitulo1 Si se está permanentemente conectado a Internet pueden configurarse los programas cliente de correo de tal forma que la petición al servidor de correo se efectúe automáticamente cada cierto tiempo y de esta forma avise al usuario de que tiene correo pendiente de recibir. La situación actual es que se utiliza el protocolo SMTP para el envío de correo y para la recepción de correo se utiliza el protocolo POP, en su tercera versión (POP3). En la Figura 1 se representa de forma simplificada como funciona el servicio de correo electrónico y los elementos que intervienen en este proceso [Castellanos Leyva, Alina (2002)] Figura1 Representación esquemática del servicio de correo electrónico 1.4 Principales servidores de correo sobre Linux Dentro de los más difundidos servidores de correo o MTA que existen para Linux destacan cuatro: 1. Sendmail 2. Postfix 3. Exim 4. Qmail 11 Capitulo1 Los mismos son los encargados de entregar los mensajes entre los diversos sistemas mediante las secciones SMTP. No se deben confundir los mismos con los conocidos GroupWare que son sistemas de trabajo en grupo que además del servidor de correo integran otras aplicaciones como servidores web, bases de datos, calendarios compartidos, agendas, mensagería instantánea entre otros. Más adelante se referirá los mismos. 1.4.1 Sendmail El Sendmail fue originalmente escrito por Eric Allman mientras era estudiante y miembro del personal en la Universidad de Berkeley en California. En 1999, se fundó Sendmail, Inc. en Emeryville, California. Sendmail, Inc. tomó el desarrollo y mantenimiento de la versión de código abierto de Sendmail, y empezó el trabajo en una versión comercial. Sendmail, Inc. tiene el sitio web: http://www.sendmail.org/ [Costales, Bryan (2002)] El Sendmail es el más ampliamente usado software de correo electrónico en el mundo hoy. Es multiplataforma, o sea puede ser utilizado tanto en sistemas Unix como Windows. Esta herramienta es una fuente de confusión para muchos administradores del sistema, la mayoría siente pavor de la configuración del Sendmail. Este miedo tiene una base muy racional: la complejidad y falta de familiaridad. La configuración de Sendmail es tan compleja como cualquier otro leguaje de programación, y al contrario de muchos otros, se usan los lenguajes de configuración de Sendmail infrecuentemente. [Hunt, Craiq (2003)] Es criticado su alto número de alertas de seguridad (la mayoría de ellas parchadas a las pocas horas). La última versión que se puede encontrar es la 8.14.1 (3 de abril de 2007). 1.4.2 Postfix Postfix es un MTA de software libre, código abierto, un programa para el enrutamiento y envío de correo electrónico, creado con la intención de que sea una alternativa más rápida, fácil de administrar y segura al ampliamente utilizado Sendmail, pues se construyó con un conocimiento del alcance y ambiente hostil que él tendría que enfrentar. De hecho, su creación se motivó por la necesidad de superar algunos de los problemas de software escrito en una edad más inocente, como es el caso del Sendmail. [D. Dent, Kyle (2003)] 12 Capitulo1 Formalmente conocido como VMailer e IBM Secure Mailer, fue originalmente escrito por Wietse Venema durante su estancia en el Thomas J. Watson Research Center de IBM, y continúa siendo desarrollado activamente. Su última versión es la 2.5.0 (23 de enero de 2008), la última versión de prueba: 2.6 (27 enero de 2008). Es usado sobre plataformas tipo Unix; su sitio web se puede encontrar en http://www.postfix.org/ Postfix es el agente de transporte por omisión en diversas distribuciones de Linux y en las dos últimas versiones del Mac OS X (Panther y Tiger). Postfix fue construido poniendo especial atención a lo siguientes puntos: • Seguridad: El sistema Postfix no confía en ningún tipo de dato, comprobando siempre su fuente. Trabaja por defecto dentro de una jaula (chroot) localizada en /var/spoo/postfix, y por tal motivo es todavía más seguro reduciendo enormemente los riesgos para el sistema en el caso del surgimiento de una vulnerabilidad. Si algo fallara, el mecanismo de protección de Postfix intenta prevenir que cualquiera de los procesos bajo su control gane derechos que no deberían tener. Ya que el sistema está formado por varios programas que funcionan sin una relación directa entre ellos (a diferencia de un sistema monolítico como Sendmail), si algo va mal, el riesgo de que este problema pueda ser explotado por un atacante se minimiza. • Simplicidad y Compatibilidad: Postfix está pensado para ponerlo en marcha desde cero en unos pocos minutos. Además, si el administrador quiere sustituir otro MTA como Sendmail, Postfix puede utilizar los ficheros de configuración antiguos. [D. Dent, Kyle (2003)] • Robusto y Estable: 13 Capitulo1 Postfix está escrito pensando en que ciertos componentes de la red de correo pueden fallar ocasionalmente, anticipándose a lo que pueden ir mal en una transacción de correo, Postfix es capaz de mantenerse en marcha y corriendo en la mayoría de estas circunstancias. Si por ejemplo un mensaje no puede ser entregado, este es programado para ser entregado mas tarde sin iniciar un reintento continuo por enviarlo. 1.4.3 Exim Exim (Experimental Internet Mailer) es un agente de transporte de correo desarrollado por la Universidad de Cambridge y puede ser utilizado en la mayoría de los sistemas Unix (entre ellos Linux). Exim es el MTA por defecto en las distribuciones Debian GNU/Linux Si bien puede compilarse en sistemas operativos Windows, se recomienda que sea utilizado en producción sobre sistemas operativos de la familia Unix. Se distribuye sin costo bajo la licencia GNU GPL por lo que es, además, software libre. [Hazle, Philip (2001)]. Su más reciente versión la 4.68 (30 de agosto de 2007) se puede encontrar en su sitio web: http://www.exim.org/ Tiene una gran flexibilidad en los caminos que pueden seguir los mensajes según su origen y por presentar funcionalidades para control de spam, listas de bloqueo basados en DNS (DNSBL), virus, control de relay, usuarios y dominios virtuales y otros, se configuran y mantienen en forma más o menos sencilla. El proyecto cuenta con buena documentación, ejemplos y notas claras de “como hacer” determinadas tareas. En términos generales se destaca que no existen situaciones para las que Exim sea una opción incorrecta y en muchas situaciones se desempeña como la mejor opción. 1.4.4 Qmail Es un servidor de correo electrónico MTA hecho para Unix. Desarrollado por D. J. Bernstein Utiliza el formato maildir para almacenar mensajes (un archivo por mensaje), eliminando varios problemas asociados al manejo del formato mbox. Qmail es distribuido como código fuente (source code), escrito en lenguaje C. El programa ha demostrado ser 14 Capitulo1 absolutamente seguro, estable y eficiente, permaneciendo virtualmente inalterado (en su versión 1.03 del 15 de junio de 1998). Su sitio web se encuentra en: http://www.qmail.org/ 1.4.5 Cómo elegir el agente de transferencia de correo Ningún MTA cumple perfectamente con todas las medidas y requisitos que se desearían; habitualmente la selección de los citados se realiza según los siguientes criterios: • La facilidad de administración • La seguridad • El funcionamiento • La viabilidad a largo plazo La Tabla1 está basada en opiniones personales deducidas de los comentarios subjetivos de la experiencia de los usuarios. [Dan (2007)] Tabla1 Criterios para elegir el MTA de 0 (malo) a 3 (bueno) Si el Sendmail Postfix Exim Qmail Notas usuario: Exim y Postfix tienen buena 1 3 3 0 Es inexperto documentación y ejemplos claros Postfix es seguro y moderno; el Se preocupa 0 3 2 3 Qmail es seguro pero muy viejo por la seguridad Sendmail se considera el más Busca la difícil de configurar y mantener. 0 3 3 0 mínima Postfix y Exim son más molestia predecibles. La forma en que manejan los Explotación 1 2 2 3 recursos del sistema como de los memoria, CPU, etc. recursos Sendmail tiene un puerto de Quiere 3 0 2 0 Windows nativo; Exim está en la soporte en distribución de Cygwin Windows Hay compañías competentes para Necesita el todos los MTAs; el Qmail es 3 3 3 1 apoyo inherentemente menos soportable comercial al ser tan primitivo. 15 Capitulo1 En la tabla anterior se puede apreciar por qué el Exim y el Postfix, con 15 y 14 puntos respectivamente, se encuentran entre los preferidos en estos momentos por la comunidad del software libre, ya sea por su facilidad relativa de configuración, como por la seguridad y estabilidad que brindan. Conclusiones del capítulo En este capítulo se han abordado los protocolos básicos de un sistema de correo. Se hizo una breve descripción de cuatro de los más difundidos MTA. Por último se mostró cuales son las principales apreciaciones de los usuarios cuando tienen que inclinarse para elegir uno u otro servidor; donde se puede ultimar que aunque sea el Sendmail el más difundido en la red, el Exim y Postfix están cobrando terreno por su facilidad de uso y la seguridad que ofrecen en contraparte al complejo Sendmail. 16 Capítulo2 CAPITULO 2 EL SOFTWARE COLABORATIVO Y LA SEGURIDAD EN LAS COMUNICACIONES POR CORREO Introducción Los sistemas de gestión de correo ofrecen una vía simple para integrar los servicios en la red así como la administración de los usuarios a lo largo de una infraestructura de las tecnologías de la información. Un groupware o software colaborativo exitosamente conformado, mejora los servicios a los usuarios, reduce el costo operativo de la administración y mejora la seguridad. Este capítulo está orientado en cuestión al software colaborativo, haciendo mención a dos de los más conocidos en Windows, a las características generales del sistema que se pretende implementar. Además se trata el tema de la seguridad en el intercambio de la información por el correo electrónico. 2.1 El sistema operativo del Servidor ¿Por qué Linux? Linux a diferencia de Windows, es multitarea real, y multiusuario, posee un esquema de seguridad basado en usuarios y permisos de lectura, escritura y ejecución establecidos a los archivos y directorios. Esto significa que cada usuario es propietario de sus archivos, y otro usuario no puede acceder a estos archivos. Esta propiedad no permite el contagio de virus entre archivos de diferentes usuarios y a su vez proporciona una gran confidencialidad. Una diferencia, quizás la más importante de todas, con respecto a cualquier sistema operativo comercial, es el hecho de que es software libre, o sea, que junto con el sistema, se puede obtener el código fuente de cualquier parte del mismo y modificarlo a gusto [Proyecto Cursos - LuCAS]. Esto da varias ventajas, por ejemplo: • La seguridad de saber qué hace un programa tan solo viendo el código fuente, o en su defecto, tener la seguridad que al estar el código disponible, nadie va a agregar “características ocultas” en los programas que distribuye. 17 Capítulo2 • La libertad que provee la licencia GPL permite a cualquier programador modificar y mejorar cualquier parte del sistema, esto da como resultado que la calidad del software incluido en GNU/Linux sea muy buena. • Linux se ha caracterizado siempre por la robustez de su sistema, la cual hereda de Unix, ya que pueden pasar meses e incluso años sin la necesidad de apagar o reiniciar el equipo. • Si una aplicación falla no bloquea totalmente al equipo. • Ideal para las redes ya que fue diseñado en Internet y para Internet. • Es un sistema operativo 100% configurable. • Reconocido por ser un sistema muy seguro, ya que al disponer del código fuente una persona con conocimientos de programación puede advertir y reparar algún fallo. • Se puede decir que decenas de miles de usuarios velan por su seguridad. • Existe una documentación amplia relacionada con el tema. • Cuenta con el soporte de muchas grandes empresas como IBM, Corel, Siemens, Motorola, Sun, etc. • Se puede encontrar ayuda en millones de sitios en Internet como los foros. • Algunos señalan que tenga pocos programas, que posean un equivalente de Windows, lo cual no es cierto. En el Anexo1 se muestra un resumen de algunos programas equivalentes del software propietario que están disponible para Linux. 2.2 Software libre en Cuba Desde hace más de veinte años se discute en todo el mundo el empleo del software libre. Hasta hace poco tiempo era imposible usar una computadora moderna sin la instalación de un sistema operativo propietario, provisto por el fabricante mediante licencias con altas restricciones para su uso. Nadie poseía permiso para compartir programas libremente con otros usuarios de computadora y difícilmente alguien podría modificar los programas para adecuarlos a sus necesidades. 18 Capítulo2 El proyecto GNU, de la Fundación para el Software Libre (Free Software Foundation), creada en 1984, constituye el inicio del Movimiento de Software Libre, y fue instituido para cambiar esa situación. Este proyecto involucró a centenares de programadores en diferentes partes del mundo, en un significativo esfuerzo cooperativo En 1991, Linus Torvalds, presentó el LINUX, el último y más importante componente de este sistema similar al UNIX. El software libre comenzó a desde muy temprano a conocerse en Cuba desde principios de la década de los 90, cuando el proyecto GNU no llegaba aún a los diez años de creado. En aquel momento el escenario de aplicación fundamental eran los servidores —cuestión que ha cambiado muy poco—, aunque desde entonces se ha venido diversificando y generalizando este movimiento en el país, en un proceso no del todo convencional, en ocasiones sustentado por el esfuerzo y la superación autodidacta de profesionales y técnicos. Muchos organismos vienen desarrollando en sus instituciones un trabajo constante y meritorio: EL Ministerio de Salud Pública, el de Educación Superior, de Ciencia Tecnología y Medio Ambiente, de Informática y las Comunicaciones y la Aduana General de la República, entre otros tantos en los que las tecnologías libres muestran un crecimiento sostenido. Hoy en nuestro país se estiman en más de 2 000 los usuarios de distribuciones GNU/Linux, cifra contrastante con unos 200 que se estimaban en 1995. Existen ejemplos como los de la Universidad de las Ciencias Informáticas (UCI), que acertadamente ha dedicado un por ciento de su matrícula al desarrollo de las tecnologías libres, y hoy es pilar en el desarrollo de este campo en el país, con un trabajo ascendente que irradia hacia sus filiales en provincias. [Grau Merconchini, David (2008)] 19 Capítulo2 2.3 El software colaborativo Software colaborativo o groupware se refiere al conjunto de programas informáticos que integran el trabajo en un sólo proyecto con muchos usuarios concurrentes que se encuentran en diversas estaciones de trabajo, conectadas a través de una red (internet o intranet). 2.3.1 Tipos de colaboración El software colaborativo se puede dividir en tres categorías: herramientas de colaboracióncomunicación, herramientas de conferencia y herramientas de gestión colaborativa o en grupo. ¾ Herramientas de colaboración-comunicación. Herramientas electrónica que envían mensajes, archivos, datos o documentos entre personas y facilitan compartir la información (colaboración asíncrona), como por ejemplo: • Correo electrónico. • Correo de voz. • Publicación en Web. ¾ Herramientas de conferencia. Facilitan compartir la información, de forma interactiva (colaboración síncrona), como por ejemplo: • Conferencia de datos - PC en red que comparten un espacio de presentación compartido que cada usuario puede modificar. • Conferencias de voz (o audio conferencia) - teléfonos que permiten interactuar a los participantes. • Conferencias de video - PC en red que comparten señales de audio o video. • Salas de chat o mensajería instantánea - una plataforma de discusión que facilita el intercambio inmediato de mensajes. ¾ Herramientas de gestión colaborativa o en grupo. Facilitan las actividades del grupo, como por ejemplo: 20 Capítulo2 • Calendarios electrónicos - para acordar fechas de eventos y automáticamente y enviar notificaciones y recordatorios a los participantes. • Sistemas de gestión de proyectos - para organizar y hacer seguimiento de las acciones en un proyecto hasta que se finaliza. • Sistemas de control de flujo de actividad - para gestionar tareas y documentos en un proceso organizado de forma estructurada (burocracia). • Sistemas de gestión del conocimiento - para recoger, organizar, gestionar y compartir varios tipos de información. • Sistemas de soporte a redes sociales - para organizar las relaciones de colectivos. Existen muchas herramientas de trabajo en grupo, ya sean de software propietario o libre. Entre las más significativas se pueden citar las siguientes: • eGroupWare solución de trabajo en grupo vía web, (código abierto) • OGo - OpenGroupWare solución de trabajo en grupo vía web, (código abierto) • TalkAndWrite software interactivo en tiempo real que simula la interacción de dos personas que trabajan una al lado de la otra en un documento en común • phpgroupware cuenta con un demo con libre acceso en el cual pueden cambiarse las preferencias a idioma español • Kolab en varios idiomas, soporta correo, directorio, agenda y nativamente interactúa con KDE • Mediawiki el programa informático que utiliza Wikipedia (código abierto) • BSCW - Entorno telemático basado en espacios compartidos de trabajo. Las siglas corresponden a "Soporte básico para trabajo cooperativo". Comercial, con licencias gratuitas para fines educativos y está traducido, entre otros idiomas, al castellano y al catalán. • Redianet - Aplicación para aprovechar una sala o aula con PC en red para colaboración y compartir medios • Jabber - Sistema de mensajería instantáneo (código abierto) • Isabel - Sistema de videoconferencia distribuido y en grupo • Coneix Intranet para la gestión de proyectos implementada en PHP y MySQL. 21 Capítulo2 • Moodle aplicación educativa; programa de gestión de cursos (código abierto) • Civinext Groupware Plataforma desarrollada exclusivamente para administrar de manera eficiente la gestión de toda la comunicación interna y externa de una organización. • K3-exchange(K3x) Soluciones para mejoras de productividad que combinan tecnologías del conocimiento y colaboración. • Lotus Domino: Es el servidor de Lotus Note de IBM, uno de los más difundidos • Ms Exchange software colaborativo líder del gigante Microsoft. • MDaemon un análogo al Ms Exchange de Alt-N Tecnologies. • Zimbra (ZCS) software libre que compite actualmente con Exchange y MDaemon. 2.3.2 Microsoft Exchange Server Microsoft Exchange Server es un software de colaboración entre usuarios, desarrollado por Microsoft. Microsoft Exchange es parte de la familia Microsoft Server ya que es una de las aplicaciones destinadas para el uso de servidores. Exchange es utilizado para brindar soluciones para grandes empresas corporativas. Entre las características más destacables de Exchange podemos nombrar calendarios, contactos, correo electrónico y tareas compartidas; además soporte de páginas Web para móviles y almacenamiento de información. Exchange Server 2003 salió a la venta el 28 de septiembre del 2003, Esta versión de Exchange puede correr sobre Server 2000, solo si tiene el Service Pack 4 y esta disponible para instalarse únicamente en Servidores de 32 bits Actualmente esta disponible el Service Pack 2 para el Exchange Exchange Server 2007 fue dispuesto para sustituir progresivamente al Exchange 2003, las novedades de esta versión de Exchange es que corre en 64bits es decir procesadores x64 y sus respectivas ediciones para Servidores. Exchange 2007 ya no corre en plataforma x86, y esto viene a beneficiar en la seguridad y soporte que tiene la tecnología de 64bits. La versión de prueba si esta disponible en 32 bits 22 Capítulo2 (x86) Este hecho forza a las administradores que están interesados en migrar a Exchange 2007 a reemplazar el hardware a uno mas reciente. Exchange Server 2007 incluye protección integrada con características como transporte perimetral, integración de filtrado alojada y extensibilidad para la protección contra virus y filtrado de correos electrónicos no deseados. [Microsoft Exchange Server (2007)] 2.3.3 MDaemon El Servidor MDaemon de Alt-N Technologies está disponible en dos versiones: MDaemon Standard y MDaemon Pro. MDaemon Standard: El estándar es un servidor de correo SMTP/POP/IMAP. Soporta listas de correo, acceso y administración remota, bloqueo de spam, filtrado de contenidos, listas negras y blancas, búsquedas de DNS inverso y soporte para múltiples dominios. Además ofrece soporte para Protocolo de Acceso Ligero a Directorios (LDAP, Lightweight Directory Access Protocol), un cliente de correo electrónico integrado basado en un navegador. MDaemon Pro agrega además un calendario y una agenda para grupos de trabajo, un sistema de mensajes instantáneos, soporte de múltiples idiomas para WorldClient, creación automática de puertas de enlace de dominio. En la Figura 2 se muestra su GUI (Graphic User Interfaces) Interfaz Gráfica de Usuario. 23 Capítulo2 Figura 2 GUI de MDaemon Pro 2.3.4 La Suite de Colaboración Zimbra ZCS (Zimbra Collaboration Suit) o Suite de Colaboración Zimbra es un programa informático colaborativo o Groupware creado por Zimbra Inc., compañía ubicada en San Mateo, California. Posee tanto el componente de servidor como su respectivo cliente. Dos versiones de Zimbra están disponibles: una versión soportada por la comunidad de Software Abierto (Open Source), y una versión soportada comercialmente (“Zimbra Network”). Zimbra es la solución open source (código abierto) líder para la empresa, proveedores de servicio e instituciones académicas y gubernamentales. Ofrece a los administradores y sus usuarios grandes beneficios. Es la elección por defecto del creciente mercado de servidores de colaboración y mensajería basados en Linux. 24 Capítulo2 La colaboración basada en Ajax (Asincronic Java Script) es el núcleo de ZCS 5. El cliente Web integra correo, contactos, calendario compartido, VoIP, autoría de documentos en línea y compartida. Con la tecnología Zimlet se facilita la inclusión e integración con las herramientas ya utilizadas en la red. ZCS 5 además proporciona herramientas de línea de comando para la administración, y soporta API's estándar (IMAP / POP / iCal) las cuales permiten una compatibilidad total con Microsoft Outlook, Apple y Linux. Zimbra Mobile, permite integración de acceso móvil open source, la cual no requiere de terceros o servidores extras. Zimbra ha cambiado el enfoque de mensajería y colaboración y ha recibido importantes reconocimiento en la industria del mercado estos se muestran en el Anexo 2. 2.3.4.1 Beneficios de Zimbra La creciente complejidad de administrar grandes volúmenes de correo con sistemas ineficientes, es una tarea ardua, máxime si se pierden mensajes o se corrompen los buzones ZCS 5 soluciona algunos problemas que enfrentan administradores y usuarios finales: Beneficios para el Administrador ¾ Mayor Desempeño. Respaldo y recuperación de cuentas rápida ¾ Escalabe. Clusterización y soporte nativo de almacenamiento jerárquico. ¾ Fácil de Integrar. Soporta autenticación contra Microsoft Active Directory y ambientes LDAP existentes. ¾ Extensible. Integración con las aplicaciones web corporativas ¾ Anti-spam y Anti-virus incluidos Beneficios para el Usuario final ¾ Cliente web Ajax con búsquedas, calendario compartido, documentos y correo totalmente integrados. 25 Capítulo2 ¾ Flexible. Puede utilizar el cliente web, Microsoft Outlook, o Apple para acceder a los correos, contactos y reuniones. ¾ Soporte para dispositivos móviles: Blackberry, Palm Treo, Nokia, Motorola, etc. ¾ Libertad de elección. Windows, Apple y Linux. ¾ Los Zimlets facilitan el trabajo del usuario, son funciones parecidas a los plugins. 2.3.4.2 ZCS. Cliente Ajax El cliente web Ajax de ZCS es una herramienta excelente para los entornos empresariales, académicos y gubernamentales. ZCS facilita la colaboración y el trabajo con grandes volúmenes de correo. Sus beneficios son: ¾ Uso y búsquedas intuitivas • Vista por Conversación agrupa los mensajes del mismo asunto. • Búsqueda avanzada provee una herramienta para búsqueda, y guardar los resultados en una carpeta virtual. • Resaltado automático de mensajes importantes. • Visor de adjuntos como HTML, impide que su equipo se contagie con virus. ¾ Libreta de Contactos • Soporta múltiples Libretas de Contactos: personal, Lista Global de Direcciones y las que le han sido compartidas. • Auto-completado de direcciones ¾ Calendario • Vista múltiple de calendarios. • Administración de recursos y agenda de grupos, acceso delegado. • Permite Compartir, publicar o suscribir calendarios de terceros. ¾ Creación de Documentos • Se pueden crear, compartir, y publicar Documentos y Carpetas. 26 Capítulo2 • Editor HTML WYSIWYG (What You See Is What You Get) que facilita la tarea de agregar Hojas de Cálculo, imágenes, etc. • Es la primera aplicación en utilizar la tecnología AJAX Linking and Embedding ¾ Integración con VoIP • Mensajería Unificada que permite a los usuarios realizar llamadas, conferencias y acceder a su casilla de voz desde Zimbra Collaboration Suite. ¾ Mensajería instantánea • Mensajería instantánea directamente en Zimbra, permitiendo a los usuarios tener múltiples conversaciones abiertas como grupos de Chat. • Indexación y almacenamiento de las conversaciones, permitiendo búsquedas rápidas y eficientes. 2.3.4.3 Los paquetes que incluye Zimbra En los epígrafes anteriores se vio una panorámica general del software colaborativo MS Exchange, MDaemon y se profundizó en la solución open source de más perspectiva y eficacia en el mundo actual que se puede hallar como equivalente para Linux de los conocidos servidores de correo sobre Windows. Se hizo esta elección sobre todo porque Zimbra presenta tan buenos resultados debido a la recopilación de los mejores paquetes libres sobre los que basa su funcionamiento, como son: ¾ Zimbra Core: Este paquete incluye las librerias, utilidades, herramientas de monitoreo, y la configuración básica de los ficheros. ¾ Zimbra LDAP: La autenticación del usuario se proporciona a través del software OpenLDAP. Cada cuenta en el servidor de Zimbra tiene un único ID de buzón, ése es el punto de referencia para identificar la cuenta. El servidor Zimbra LDAP debe configurarse antes de los otros servidores. Se puede conformar la replicación LDAP, configurando un servidor principal LDAP y los servidores de LDAP de réplica. 27 Capítulo2 ¾ Zimbra MTA: Postfix es el MTA open sourse que recive el correo electrónico via SMTP y dirige cada mensaje al buzón apropiado del servidor Zimbra usando el LMTP (Local Mail Transfer Protocol) Protocolo de Traslado de Correo Local. También incluye el antivirus y componentes del antispam. ¾ Zimbra Store: Incluye los componentes para el servidor del buzón entre los que están: • Data store: es una base de datos de MySQL®. • Message store: es donde se almacenan todos los mensajes del correo electrónico y los adjuntos. • Index store: tecnología de búsqueda e indexación. Los índices de los archivos se mantienen para cada buzón. ¾ Zimbra SNMP: Este paquete es usado para fines de supervisión. ¾ Zimbra Logger: Instala herramientas para agregar reportes al syslog y realizar rastreo de los mensajes. Si no se instala estas funciones no estarán disponibles. ¾ Zimbra Spell: Aspell es el corrector ortográfico usado en el Cliente Web de Zimbra (ZWC). Cuando este se instala también es instalado el paquete Zimbra-Apache. ¾ Zimbra Proxy: El uso de un servidor proxy IMAP/POP permite la recuperación del correo de un dominio para ser dividido por los múltiples servidores Zimbra en una base de usuarios Como se expuso anteriormente el servidor ZCS tiene muchas funcionalidades, mejoras y facilidades de manejo con un ambiente de administración gráfico vía Web que lo hacen competir con los dominantes del mercado: Exchange y MDaemon. A modo de resumen en el Anexo 3 se muestra una comparación entre los mismos. [ServerWatch (2008)] 2.4 Seguridad en el correo electrónico El contenido de un correo electrónico, pasa por un número indeterminado de máquinas hasta llegar hasta su destinatario final. Cada uno de los administradores de estos equipos, situados en cualquier lugar del mundo podría, si lo desea, acceder a la información. Entre los datos enviados a través de un correo electrónico que forman parte de la transmisión 28 Capítulo2 están: el nombre y apellidos, o al menos las direcciones de correo, tanto del emisor, receptor y posibles destinatarios de copias del mensaje. No existe ninguna garantía de que el nombre de la persona o dirección de e-mail, se corresponda con el verdadero emisor del mensaje, es decir, cualquiera puede enviar un correo electrónico en nombre de otro. La única información fiable del emisor, es la dirección IP del ordenador desde el que se ha enviado el mensaje. Aunque, la mayoría de las direcciones IP suelen ser asignadas dinámicamente por un servidor de direcciones, por lo que su vigencia es limitada. 2.4.1 Recibiendo correo seguro Muchas veces se hace uso del correo electrónico sin saber, que esta es una vía de ataque usada frecuentemente en Internet. Hay que tener mucho cuidado con el contenido que se coloca en un correo, nunca se debe poner algo que no se desea que sea leído, pues el correo en sí es un sistema inseguro. Existen estrategias para asegurar el mismo. Aquí se cubre su utilización segura y cómo proteger la confidencialidad. 2.4.1.1 Spam Hoy en día se reciben muchos correos sobre compras, ventas, anuncios, publicidad. A este tipo de anuncios no solicitados se les denomina spam. Este tipo de correos que se reciben pueden proporcionar mucha información de quien envía el correo, cuándo fue abierto y cuántas veces ha sido leído, si ha sido reenviado, etc. Este tipo de tecnología – llamada web bugs – es utilizada tanto por los spammers como por los que realmente envían el correo. El contestar un correo o hacer click en un enlace para desregistrase de una lista puede decirle a quien lo envía que han alcanzado una dirección existente o viva. Los “phishing”. Son correos donde se pide firmar y verificar datos personales como cuentas de correo bancarias por ejemplo. Es un truco para robar información de las cuentas. Para estar seguro contra éste tipo de ataque, existen otras estrategias para protegerse, descritas más adelante. 29 Capítulo2 2.4.1.2 Correos Web En los correos basados en HTML preocupa en cuanto a seguridad el uso de los web bugs. Los web bugs son imágenes escondidas en el correo que enlazan hacia el servidor de quien lo envía, y puede proveerles notificación de que han recibido o abierto el correo. También suelen incluir enlaces en el correo que identifican a la persona que hace click en ellos. Esto puede proporcionar información a quien lo manda acerca del estado del mensaje. Por tanto, debe utilizarse un cliente de correo que permita deshabilitar la descarga automática de imágenes anexadas o embebidas. Para los clientes basados en web, se recomienda deshabilitar la descarga automática de imágenes, o la visualización del mensaje en modo texto. Cualquiera de estas es una buena práctica de seguridad. 2.4.1.3 Archivos Anexados En los archivos anexados a los correos los atacantes pueden enviar malware (software malicioso), virus, caballos de Troya y todo tipo de programas malignos. Se recomienda no abrir un correo si no se conoce a quien lo envía. Nunca abrir un archivo con extensión .exe .com o .scr, estas son extensiones que ejecutan archivos que pueden infectar la máquina con cualquier virus. Por lo que se recomienda que cualquier archivo que sea recibido debe ser salvado en el disco duro y posteriormente analizarlo con un programa de antivirus. 2.4.1.4 Encabezados Falsos A veces se reciben correos que parecen ser enviados por alguien conocido, o por el “Administrador”, “Postmaster”, etc. El asunto puede ser “Returned Mail” o cualquier otro tema interesante, comúnmente un archivo anexado. Suele ser muy sencillo falsear la dirección de correo, haciendo un cambio simple en la configuración del cliente donde pregunta la dirección de correo (Opciones, Configuración o Preferencias) teclear cualquier otra cosa. Lo cual no evita ser identificado. Por eso en caso 30 Capítulo2 de sospecha de un remitente de correo falso, se debe leer el encabezado del mismo y realizar una búsqueda para determinar a partir de la información contenida en el encabezado de donde viene el mensaje. 2.4.2 Enviando Correo seguro Se puede concluir que la información contenida en los mensajes de correo electrónico suele circular por la red en formato texto o HTML, a la vista de demasiados intermediarios, y sin una identificación segura de su emisor. Esta circunstancia en muchos casos no supone problema alguno. Sin embargo, en otras ocasiones es necesario que la información sensible o confidencial se distribuya de manera segura a sus destinatarios y éstos puedan verificar la verdadera identidad del emisor. Para ello, existe una potente solución, suficientemente probada y que funciona: las firmas digitales. 2.4.2.1 Certificados digitales Un certificado digital es único para cada individuo, el cual se compone de 2 partes, una llave pública y una privada. El certificado es único para una persona y son expedidos por una Autoridad Certificadora confiable o CA. La lista de Autoridades Certificadoras en quien se confía es accesible en el explorador a través de: Herramientas>Opciones de Internet>Contenido>Certificados. (Ver figura 3) La firma digital tiene dos finalidades: la encriptación del contenido y la autentificación del emisor. Una firma digital está compuesta por una clave privada, y una clave pública, también llamada certificado digital. El emisor garantiza la seguridad y la privacidad de su mensaje firmándolo digitalmente por medio de su clave privada. Ésta codifica el contenido del mensaje, de tal manera que únicamente puede ser decodificado por una clave pública que se corresponda. La creación de claves de privacidad es un proceso totalmente aleatorio y que garantiza niveles de seguridad tan difíciles de traspasar como se pretenda. La calidad de una firma digital se mide por su tamaño, medido en bits. 31 Capítulo2 Figura 3 Entidades de confianza emisoras de certificados. Existen 2 tipos de función de firma/cifrado, S/MIME y PGP. S/MIME es considerada como la mejor opción para el gobierno y corporaciones, por que utiliza menos recursos del modelo de autenticación de la autoridad certificadora, y porque es de fácil implantación. En la práctica, la implementación de un sistema de firmas digitales es relativamente sencillo y muy seguro, aunque por supuesto siempre cuenta con el mismo riesgo: que no se tenga cuidado en la protección de las claves. 2.4.2.2 Encriptación / Cifrado Por defecto, toda comunicación en Internet se hace sin ningún tipo de cifrado y sin una autenticación fiable. Para resolver estos problemas de seguridad, Netscape, Inc. introdujo el protocolo SSL (Secure Sockets Layer) Capa de Conexión Segura, que ha ido evolucionando en el protocolo estandarizado TLS (Transportation Layer Security) Capa segura de 32 Capítulo2 Transportación. Ofrece tanto cifrado de la comunicación (frenando las escuchas) como autenticación fuerte (asegurando que ambas partes de una comunicación son correctamente identificadas y que la comunicación no puede ser alterada). Postfix/TLS no implementa el protocolo TLS por sí mismo, sino que usa el paquete OpenSSL para esta tarea. Como medida adicional de seguridad, se puede cifrar el correo electrónico. El cifrado puede convertir el texto del correo en un código de números y letras que sólo pueden ser interpretados por los recipientes confiados. ¿Cómo funciona? El siguiente ejemplo muestra el funcionamiento donde dos usuarios A y B desean establecer un intercambio de información seguro: Encriptación El usuario A obtiene un Certificado Digital de una Autoridad Certificadora. Este Certificado tiene dos partes, una llave pública y una llave privada. El usuario A y el B, intercambian sus llaves públicas. Asumiendo que tanto A como B están utilizando esquemas de cifrado compatibles, y han intercambiado mensajes firmados. O sea que ambos poseen la llave pública del otro. Cuando A desea enviar un mensaje cifrado, el proceso comienza convirtiendo el texto del mensaje de A en un código pre-enmascarado. Éste código es generado utilizando una fórmula matemática llamada algoritmo de encriptación. El código enmascarado del mensaje de A es cifrado por el programa de correo utilizando la llave privada de A. Entonces, A utiliza la llave pública de B para cifrar el mensaje, por lo que sólo B podrá desencriptarlo con su llave privada. 33 Capítulo2 Desencriptación La desencriptación es manejada por el cliente de correo. Cuando, B recibe el mensaje cifrado de A, lo cual se indica con un icono de un candado en la bandeja de entrada de B. El cliente de correo de B utiliza su llave privada para descifrar el código encriptado pre-enmascarado y el mensaje encriptado. Entonces el programa de correo de B obtiene la llave pública de A donde estaba almacenada. Esta llave pública es utilizada para desencriptar el código pre enmascarado del mensaje. Si el testeo del código enmascarado es igual al código pre enmascarado, el mensaje no ha sido alterado durante su trayecto. 2.4.3 Seguridad en las Conexiones Para el correo web, una forma de tener conexión segura es utilizar una conexión SSL con el proveedor. Un pequeño candado aparece en la barra de la parte inferior del explorador. Si este ofrece conexión segura de POP / SMTP y se utiliza POP y un cliente de correo, se configurar el cliente de correo para utilizar SSL con POP y SMTP. Esto encripta el correo desde la máquina hasta el servidor, además de proteger el usuario y contraseña POP / SMTP. Conclusiones del capitulo Este capítulo mostró un compendio de las principales particulares de Exchange, MDaemon y Zimbra. También se comparó a los mismos teniendo en cuenta sus principales funciones y características llegando a la conclusión de que este es un excelente sustituto al MDaemon para servidor de correo sobre Linux por las capacidades que este groupware presenta, pues además de cumplir con todas las particulares del MDaemon, presenta una GUI para la administración y mantenimiento que facilita el trabajo y configuración del mismo. También se dieron algunas consideraciones a tomar a la hora de realizar conexiones seguras con un servidor de correo. 34 Capítulo3 CAPITULO3 PROPUESTA DE IMPLEMENTACIÓN DEL SERVIDOR DE CORREO ZIMBRA OPEN SOURCE Introducción En este capítulo se desarrollan los procedimientos para implementar la propuesta del sistema de correo electrónico en Linux. Está basado en la instalación de servidor de código abierto de Zimbra 5.0 para Debian. Se muestran algunos aspectos de su configuración, sus ambientes gráficos, así como ciertas medidas de seguridad para el desarrollo óptimo del servidor. 3.1 Caracterización y estructura de la red de la ERMPSS La red de la ERMPSS está compuesta por 21 computadoras, de ellas 3 son servidores; la red tiene una tipología en estrella, se utiliza par trenzado categoría 5 y dos switch (uno de ellos capa3) para la interconexión entre las computadoras. Para la conexión exterior se cuenta con un módem-router y una línea arrendada de 64 kbps. Existe actualmente en la red un total de 53 usuarios, con dominio ermpss.co.cu. El control, acceso y administración de ususarios está basado en Directorio Activo en un servidor con el sistema operativo Windows Server 2003. Con el objetivo de homogenizar la red todas las computadoras tienen instalado Windows XP SP2 y para el trabajo de oficina se usa mayormente Office 2003. El acceso a Internet es controlado y filtrado por el Kerio Winroute que corre en uno de los servidores. El tercer servidor está dedicado para las pruebas del servicio de correo que se montará sobre Linux. Se cuenta con máquinas en los ocho municipios y próximamente aumentará el número de estas en la empresa. La conectividad de estas con la empresa es para la utilización del correo electrónico; la misma se realiza a través de cuentas conmutadas contratadas con Etecsa. En la Figura4 se muestra un diagramá general de la red de la ERMPSS 35 Capítulo3 Figura4 Diagrama de la red de la ERMPSS 3.2 Perspectiva inicial Actualmente el servidor de correo está instalado en el controlador de dominio y consta del MDaemon en su versión 6. En el mismo hay muy pocas reglas de seguridad configuradas, por ejemplo: Bloqueador de correo basura (desabilitado), que permite especificar diversos hosts de tipo MAPS RBL que serán verificados cada vez que alguien intente enviar un mensaje al servidor para evitar los spam. No existen reglas de filtrado del correo, como para el tamaño de los mensajes, tipo de adjuntos permitidos, etc. El cliente web se 36 Capítulo3 comunica con el servidor sin usar conexión segura. El programa no cuenta con software SpamAssassin. Todo esto da en detrimento con la estabilidad y fiabilidad del servidor. Para el servidor de correo propuesto se instaló como sistema operativo Debian GNU/Linux 4.0 r0 "Etch", en una PC Corel 2 Duo 2Ghz, 2Gb de RAM y un disco duro de 160Gb. Esta maquina tiene enlace a Internet para garantizar la entrada y salida de los correos, Posterior a la instalación del servidor de correo se crearon algunas cuentas de usuario, reglas de seguridad, y con el objetivo de aprovechar los beneficios del sistema a instalar se dejará todo a punto para el caso de un posible desarrollo de un sitio Web de la empresa, este pueda ser publicado. 3.3 Configuración del cortafuego local. Iptables No es objetivo de este trabajo la instalación del sistema operativo, y la configuración de la red; pero debido a la importancia del cortafuego local (en este caso Iptable), se muestra la configuración básica que se hizo al mismo para proteger el acceso al servidor. Configuraciones y scripts como este son muy usuales de encontrar en Internet. La configuración del firewall que se propone es la siguiente y se encuentra en: “/etc/iptables”. [Moreno, Alejandro (2008)] *filter :INPUT ACCEPT [0:0] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [0:0] :RH-Firewall-1-INPUT - [0:0] :LOGDROP - [0:0] # Buscar en "cat /var/log/messages | grep IPTABLES" -A LOGDROP -j LOG --log-prefix "IPTABLES " -A LOGDROP -j DROP -A INPUT -j RH-Firewall-1-INPUT -A FORWARD -j RH-Firewall-1-INPUT -A INPUT -j RH-Firewall-1-INPUT -A FORWARD -j RH-Firewall-1-INPUT -A RH-Firewall-1-INPUT -i lo -j ACCEPT -A RH-Firewall-1-INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT # Puertos especiales solo para el administrador -A RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp -s 37 Capítulo3 192.168.140.2/255.255.255.255 -A RH-Firewall-1-INPUT -m 192.168.140.2/255.255.255.255 --dport 22 -j ACCEPT state --state NEW -m --dport 7071 -j ACCEPT tcp -p tcp -s # Servicios publicos -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 995 -j ACCEPT -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 993 -j ACCEPT -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 110 -j ACCEPT -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 143 -j ACCEPT -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 25 -j ACCEPT -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 8443 -j ACCEPT # Denegamos el resto de paquetes. Lo paquetes UDP denegados no los logeamos -A RH-Firewall-1-INPUT -m tcp -p tcp -j LOGDROP -A RH-Firewall-1-INPUT -j DROP COMMIT Se configurar el puerto 22 y el 7071 para que solo el administrador tenga acceso. Cualquier otro paquete de deniega y se imprime en “/var/log/messages” con la etiqueta IPTABLES. Con ayuda de esta etiqueta se puede buscar rápidamente entre todo el contenido de “/var/log/messages”. La descripción de los puertos que se han abierto es la siguiente: • 22/TCP: puerto de SSH para conectarse remotamente al servidor, • 7071/TCP: puerto HTTPS de administración del Zimbra, • 995/TCP y 993/TCP: puerto IMAP seguro y POP seguro del correo, • 143/TCP 110/TCP: puerto IMAP y POP del correo, • 80/TCP: puerto HTTP del Zimbra • 8443/TCP: puerto HTTPS del Zimbra 3.4 Procedimientos y requisitos para la instalación de ZCS Open Sourse La instalación de la versión libre de Zimbra está accesible desde http://www.zimbra.com/community/downloads.html y tiene aproximadamente un volumen de 300.7 MB. 38 Capítulo3 3.4.1 Requerimientos del sistema Los requerimientos del sistema para la instalación del ZCS son los siguientes: o Para servidores ¾ de prueba o evaluación: • CPU Intel/AMD 32-bit o 64-bit a 1.5 GHz • 1 GB RAM • 5 GB libre de espacio en disco para los programas y alertas • Espacio para los ficheros temporales de instalación y actualización • Espacio adicional en disco para almacenar los correos ¾ en ambientes de producción • CPU Intel/AMD 32-bit 2.0 GHZ o superior. Para un número grande de usuarios (más de 2000), se recomienda un sistema operativo de 64-bits • Como mínimo 2 GB RAM y recomendado 4 GB • Espacio para los archivos temporales de instalación, 10 GB de disco libre para los programas y alertas • Espacio adicional para guardar los correos o Para los usuarios que usarán el Cliente Web de Zimbra ¾ Mínimo • CPU Intel/AMD a 750MHz • 256MB de RAM ¾ Recomendado • CPU Intel/AMD a 1.5GHz • 512MB de RAM ¾ Combinación sistema operativo/navegador • Windows XP con Internet Explorer 7 y 6.0 SP 2 o Firefox 1.5.x y 2.0 o Los usuarios que usan otros clientes ¾ Combinación sistema operativo clientes POP/IMAP 39 Capítulo3 • Windows XP con Outlook Express 6, Outlook 2003 o Thunderbird 1.0.7 3.4.2 Prerrequisitos de la instalación Para proceder con la instalación se realizaron algunos cambios a la configuración del sistema que son requisitos indispensables para poder emprender la misma: 1. Se detuvo el Exim, pues no deben estar corriendo servicios de MTA alguno (Sendmail, Qmail, Exim, Postfix). 2. SELinux (Security Enhanced Linux) se deshabilitó. Para esto se modificó el archivo “/etc/selinux/config” donde se puso SELINUX=disabled. 3. Se hicieron modificaciones al archivo “/etc/hosts” como aparece a continuación. (Este paso es muy importante porque si está mal configurado entonces fallaría la creación de certificados de Zimbra): De forma general En este caso 127.0.0.1 Dirección IP 127.0.0.1 192.168.140.2 localhost.localdomain localhost NombreDNSCompleto nombrelocal localhost.ermpss.co.cu localhost mail.ermpss.co.cu mail 3.4.3 Instalación Después de haber bajado el paquete del Zimbra y descompactado el mismo en un directorio cualquiera, es ejecutado el archivo de instalación (script) “./install.sh”. Seguidamente el programa comienza una serie de comprobaciones de versiones anteriores del mismo, programas y librerías que son necesarias para la instalación. Todo este proceso se puede ver en el Anexo 4. Así como las opciones a instalar y los pasos iniciales de la configuración del servidor. La comprobación de las librerías necesarias mostró que faltaba fetchmail, por lo que se procedió a su instalación mediante “apt-get install fetchmail” y se prosiguió con la instalación con la utilidad “/opt/zimbra/libexec/zmsetup.pl”, que ofrece la posibilidad de continuar la instalación sin la necesidad de tener que reiniciar todo el proceso nuevamente. 40 Capítulo3 Tras la configuración empieza a crearse automáticamente los certificados SSL, la estructura LDAP y los usuarios por defecto del MTA, con esto terminará el proceso de instalación. El usuario zimbra “su – zimbra” es creado en este proceso con el propósito de utilizar cierto conjunto de scripts. Estando en una consola se teclea su - zimbra. 1. zmcontrol status, muestra el estado de todos los servicios que están corriendo. 2. zmcontrol stop, para parar todos los servicios 3. zmcontrol start, para iniciarlos Estos scripts útiles para el control de Zimbra entre otros se encuentran en “./opt/zimbra/bin/”. 3.5 Administración y configuración Para comenzar consola de a administrar administración el servidor (Anexo5) de mediante correo es necesario entra en la un navegador web poniendo: https://mail.ermpss.co.cu:7071/zimbraAdmin/ con admin y la contraseña que se indicó durante la instalación Algunos puntos de la configuración del servidor se realizan en un ambiente gráfico debido a las facilidades que esto brinda, se crean los usuarios y sus respectivas opciones. Se optó por un mecanismo de autenticación externo, en este método se intenta enlazar con el servicio de directorio, usando el nombre de usuario y contraseña suministrada, si estos son correctos se cierra la conexión y se considera válida la cuenta dándole acceso al servidor. En el Anexo 6 y Anexo 7 se pueden apreciar las páginas de creación de los usuarios así como la interfaz del cliente web 3.5.1 Conexión segura entre los clientes y el servidor Los mensajes que se envían de un servidor a otro, de estos a los clientes y viceversa, viajan en texto claro por defecto. Por ende, cualquier persona que pueda interponerse entre ambos podrá leer el contenido del mensaje violando su confidencialidad. Para evitar esta situación se asegurará el servicio recurriendo al cifrado de la conexión mediante TLS (Transport 41 Capítulo3 Layer Security), empleando y modificando el certificado que ofrece la instalación del Zimbra, de esta manera quedará cifrando el tráfico de correo electrónico entre el cliente web y el servidor. 3.5.1.1 Renovando el certificado Zimbra por defecto genera un certificado SSL para un año (Anexo 8). Por tanto pasado este tiempo habrá que generar un nuevo certificado. Para ello se cambiará y editará el certificado cuya configuración se encuentra dentro de “/opt/zimbra/conf/zmssl.conf.in”. Se cambia “default_days=1825” y “0.organizationName_default=ERMPSS”. Se regenerarán los certificados como sigue: # cd /tmp # tar -cf /tmp/zimbra-ssl.tar /opt/zimbra/ssl/ # rm -rf /opt/zimbra/ssl # mkdir /opt/zimbra/ssl # chown zimbra:zimbra /opt/zimbra/ssl # chown zimbra:zimbra /opt/zimbra/java/jre/lib/security/cacerts # chmod 644 /opt/zimbra/java/jre/lib/security/cacerts # su - zimbra # keytool -delete -alias my_ca -keystore /opt/zimbra/java/jre/lib/security/cacerts -# storepass changeit # keytool -delete -alias tomcat -keystore /opt/zimbra/tomcat/conf/keystore -storepass # zimbra # zmcreateca # zmcreatecert # zmcertinstall mailbox /opt/zimbra/ssl/ssl/server/tomcat.crt # zmcertinstall mta /opt/zimbra/ssl/ssl/server/server.crt /opt/zimbra/ssl/ssl/server/server.key 3.5.2 El motor del antivirus El SpamAssassin es un filtro basado en scripts en Perl que procesan los mensajes y detectan, en base a unas reglas bastantes complejas, si el mensajes es un spam. El resultado de filtrar los mensajes es un puntaje, que si supera determinado valor (5.0 por defecto) es considerado un spam. 42 Capítulo3 Amavisd-New es la interfaz entre el MTA de Zimbra (Postfix) Clam AV y el escáner SpamAssassin. Por defecto el antivirus comprueba cada dos horas en el sitio de Clam AV en busca de nuevas actualizaciones Una de las herramientas de supervisión que tiene este servidor se encuentra en la página de administración, en la pestaña de Monitoreo>Estadísticas del servidor. Aquí se exponen de forma visual entre otras cosas la actividad del anti-virus y el anti-spam. Para comprobar su funcionamiento se envía un correo que contenía un adjunto con el virus de prueba eicar.com. En el Anexo 9 se puede observar la detección del virus en la gráfica representado por una barra roja. Las listas de bloqueo son unas listas de IP de servidores que supuestamente envían spam. Entre las listas más usadas se encuentran las RBL (Real-time black-hole lists) de mailabuse.org o las SBL de spamhaus.org. Las RBL siguientes vienen con la instalación de Zimbra: • reject_invalid_hostname • reject_non_fqdn_hostname • reject_non_fqdn_sender • reject_rbl_client dnsbl.njabl.org • reject_rbl_client cbl.abuseat.org • reject_rbl_client bl.spamcop.net • reject_rbl_client dnsbl.sorbs.net • reject_rbl_client sbl.spamhaus.org • reject_rbl_client relays.mail-abuse.org 3.5.3 Recogida externa del correo Es recomendable tener contratado el servicio de backup de relay por si nuestra línea de datos o servidor cae. Para esto se debe configurar el servidor para recoger este correo. Se recogerá el correo de la cuenta de relay cada hora. Independientemente de si el servidor de correo cae o no, se recogerá el correo cada hora. 43 Capítulo3 El archivo de configuración de Fetchmail esta en “/root/.fectchmail”. Debe editarse con algo como esto: set logfile "/var/log/fetchmail.log" set spambounce poll pop1.enet.cu proto pop3 no dns localdomains ermpss.so.su user "[email protected]" pass "********" is * fetchall Lo que se esta diciendo en este archivo de configuración es que tiene que recoger todo el correo (fecthall) de la cuenta [email protected] que esta en el servidor pop1.enet.cu Para arrancar el fetchmail para utilizarlo como un servicio se puede utilizar el siguiente script: #!/bin/sh case "$1" in 'start') echo -n "Starting fetchmail..." fetchmail -F -d 3600 touch /var/lock/subsys/fetchmail echo ;; 'stop') echo -n "Shutting down fetchmail..." fetchmail -q rm -f /var/lock/subsys/fetchmail echo ;; *) echo "Usage: $0 { start | stop }" ;; esac exit 0 44 Capítulo3 3.6 Disposición de los clientes Muchos usuarios ya poseen en sus cuentas de correo anteriores una determinada cantidad de datos, mensajes en sus bandejas de entrada, contactos en la libreta de direcciones, etc. Los cuales sin dudas desean conservar. El Zimbra ofrece un procedimiento muy práctico para dar solución a este problema. Provee un software que permite que los usuarios importen sus carpetas personales (Bandeja de entrada, Bandeja de salida, Contactos, calendarios, tareas, etc.) desde un archivo .pst de los buzones Microsoft® Outlook® 2003 u Outlook 2007 a las cuentas en el servidor de Zimbra. También se pueden importar archivos .pst de Outlook 2000 y Outlook XP, siempre que ZCSPSTImportWizard (ver Anexo 10) se corra en una máquina con Outlook 2003 u Outlook 2007 instalados. Este programa puede ser bajado desde la consola de administración en el área de Downloads. Luego se comparte el archivo en un lugar que los usuarios puedan acceder y ejecutarlo en sus puestos de trabajo. Una de las dificultades que este programa presenta es que los siguientes datos desde Outlook no se importan: • Las citas • Notas • Reglas y Alertas • Otros archivos creados por el usuario El Zimbra Toaster (Anexo 11) es otra aplicación del servidor que se instala en los clientes Windows y permite anunciar a los mismos en el área de notificación cuando un nuevo correo arriba a su buzón de Zimbra (Anexo 12) 45 Capítulo3 3.7 Cambiando los puertos Para obtener provecho al servidor Web Apache, instalado con Zimbra, con el fin de poder poner las páginas PHP que necesitemos de la empresa se realizarán cambios en los puertos del servidor. Haciendo en la línea de comando “zmprov gs mail.ermpss.co.cu” se muestra la distribución de los puertos (zimbraAdminPort=7071, zimbraMailPort=80, zimbraMailSSLPort=443). Por defecto Apache esta corriendo en el puerto 7780. Se reasignarán lo puertos para dejar el 80 y el 443 libres para Apache. Se dejará zimbraAdminPort al 7071, el zimbraMailPort se cambia por el 8081 y el zimbraMailSSLPort por el 8443. Para esto se hace lo siguiente: # zmprov ms mail.ermpss.co.cu zimbraMailPort 8081 zimbraMailSSLPort 8443 # zmprov ms mail.ermpss.co.cu zimbraMailMode mixed # zmprov ms mail.ermpss.co.cu zimbraSpellCheckURL http://mail.ermpss.co.cu/aspell.php # zmprov gs mail.ermpss.co.cu Se edita “/opt/zimbra/conf/httpd.conf” para cambiar el valor del parámetro Listen al 80. Este archivo de configuración de Apache no tiene permisos de escritura, así que hay que dárselo. También se modifica el parámetro DirectoryIndex con “DirectoryIndex index.php index.html” para cargar las paginas PHP Ahora está el puerto 80 libre para colocar las páginas PHP. Como política de la empresa se exige que todo el mundo que se conecte al Webmail deba ser redirigido por página segura, es decir quien entre por http://mail.ermpss.co.cu será redirigido a https://mail.ermpss.co.cu:8443. Por tanto se debe crear una pagina index.php en “/opt/zimbra/httpd/htdocs” que redireccione. El contenido de index.php será algo como: 46 Capítulo3 <?php header("Location: https:/mail.ermpss.co.cu:8443/"); ?> De esta forma el servidor de correo queda dando soporte también a los servicios web que pueda necesitar posteriormente la empresa 47 Conclusiones CONCLUSIONES En el desarrollo de este trabajo se cumplieron los objetivos y se pueden concluir que: ¾ Se ha realizado un estudio de varios servidores de correo tanto en plataforma Windows como Linux y se propuso una solución de software libre, Zimbra V5.0 para Debian, que es factible para sustituir al MDaemon en la ERMPSS. ¾ Por el nivel de soporte que brinda Zimbra, que permite modernos mecanismos de autenticación, se propone la autenticación externa con Directorio Activo y para realizar una conexión segura con los clientes cifrar la comunicación mediante SSL ¾ Se desarrolló una guía del proceso de instalación y configuración básica del servidor de correo. ¾ Se logra la integración de los servicios y clientes ya existentes con el nuevo servidor, logrando salvaguardar los datos de las cuentas anteriores por parte de los usuarios. 48 Recomendaciones RECOMENDACIONES Como continuidad a este trabajo se proponen: ¾ Implementar en la ERMPSS la solución propuesta del servidor de correo Open Sourse ZCS V5.0 sobre plataforma Linux. ¾ Profundizar en las herramientas de supervisión y control gráficas que presenta el servidor, así como en las posibles reglas y configuraciones de seguridad que se pueden implementar en el MTA (Postfix). ¾ Seguir de cerca la evolución del software desde su sitio y los foros con el objetivo de hallar una solución de un programa que permita automatizar un proceso de migración de cuentas de usuarios desde el servidor MDaemon al Zimbra (este programa ya existe para Exchange y Lotus). ¾ Se recomienda la instalación de un segundo antivirus que sea compatible con el Amavis para aumentar la protección contra los códigos malignos, este puede ser el BitDefender por ejemplo. 49 Referencias Bibliográficas REFERENCIAS BIBLIOGRÁFICAS Castellanos Leyva, Alina. (2002) Entrenamiento Avanzado en Linux [En línea] Disponible en: http://www.disaic.colombus.cu Costales, Bryan (2002). Sendmail, 3rd Edition. Diciembre 2002 D. Dent, Kyle (2003)]. Postfix: The Definitive Guide. Diciembre 2003 Dan (2007). MTA Comparison. [En línea] Disponible en: http://shearer.org/MTA_comparison Ferrer, Fernando (2004). Curso de Linux Básico. Enero 2004 Grau Merconchini, David (2008) [En línea] Disponible en: http://www.juventudrebelde.cu/cuba/2008-02-14/la-red-al-dia/ Hazle, Philip (2001). Exim, The Mail Transfer Agent. Julio 2001 Hunt, Craiq (2003). Sendmail Cookbook. Diciembre 2003 Kirch, Olaf (2002). Guía de Administración de Redes con Linux Microsoft Exchange Server (2007). [En línea] Disponible en: http://www.microsoft.com/spain/exchange/evaluation/overview.mspx Moreno, Alejandro (2008) [En línea] Disponible en: http://amperis.blogspot.com Proyecto Cursos – LuCAS. Diferencias entre Windows y Linux [En línea] Disponible en: http://lucas.hispalinux.es/htmls/cursos.html 50 Referencias Bibliográficas SecuritySpace, (marzo 2007) [En línea] Disponible en: http://www.securityspace.com/s_survey/data/man.200702/mxsurvey.html ServerWatch (2008) [En línea] Disponible en: http://www.serverwatch.com/ Terrasa Barrena, Andrés y Ferrer García, Fernando (2004). Administración avanzada de Linux. 51 Bibliografía BIBLIOGRAFIA Ballester Valor, Guillermo. (2002). Notas para configurar Postfix. Disponible en: http://www.oxixares.com/~gbv/Notas_Postfix.html#1 Barrios, Dueñas Joel. (2002) Cómo configurar Sendmail y Fetchmail para intranets y redes caseras. Disponible en: http://www.linuxparatodos.com/geeklog/ Bautts, Tony (2005) Linux Network Administrator's Guide, 3rd Edition Brufal, Paco (2003). Guía rápida de Postfix Christenson, Nick (2002). Sendmail. Performance Tuning. Costales, Bryan & Flynt, Marcia (2005). Sendmail Milters A Guide for Fighting Spam Fernández, Lorena. Instalación y bastionamiento de un servidor de correo bajo GNU/Linux J. Pereda, Fernando (2004). Filtrando correo en Postfix (antivirus y spam). Disponible en: http://bulma.net/pdf.phtml?nIdNoticia=1977 MDaemon Email Server (2008) Disponible en: http://www.altn.com/Products/MessagingSolutions/MDaemon/ Negus, Christopher (2005) Linux® Bible 2005 Edition Sabater, Jaume (2007). Servidor de correo con Postfix, Cyrus y MySQL administrado desde OpenMailAdmin. Disponible en: http://bulma.net/body.phtml?nIdNoticia=2349 Schroder, Carla (2004). Linux Cookbook 52 Bibliografía Schwartz, Alan (2004). SpamAssassin Seguridad del E-mail. (2008). Disponible en: http://www.hackerhighschool.org/ Sort, Josep (2003). Control antispam con Postfix+SpamAssassin. Disponible en : http//bulma.net. System Requirements for Zimbra Collaboration Suite 5.0 (2007). Disponible en: http://www.zimbra.com/ Zimbra™ Collaboration Suite Administrator’s Guide Release 5.0 Open Source Edition. (2008) Disponible en: http://www.zimbra.com Zimbra Collaboration Suite Import Wizard for Outlook. (2008). Disponible en: http://zimbra.com Zimbra Collaboration Suite 5.0 - Open Source Edition (2008). Disponible en : http://www.zimbra.com/community/ 53 Anexos Anexo 1 Equivalencias / reemplazos de software análogo a Windows en GNU/Linux. Una de las más grandes dificultades en la migración de Windows a GNU/Linux es el desconocimiento de la existencia de software equivalente. Seguidamente se muestra un resumen de equivalencias / reemplazos de software análogo a Windows en GNU/Linux. Para ampliar la información visite la fuente. Notas: 1. Por principio todos los programas de GNU/Linux en esta tabla son libres y están liberados, cuando los programas están bajo otro licenciamiento no libre se especifican. Los programas propietarios para GNU/Linux están marcados con una señal [Prop]. 2. Si no hay nada en el campo de la tabla, excepto "???" - Los autores de la tabla no saben que colocar allí. 3. Si la señal (???) se encuentra detrás del nombre del programa - Los autores de la tabla no están seguros sobre este programa. Lugares donde puedes obtener software para GNU/Linux: ¾ FreshMeat.net ¾ SourceForge.net ¾ GNU/LinuxApps.com ¾ IceWalkers.com ¾ GNU/Linux.Tucows.com ¾ Download.com / Linux ¾ LinuxSoftware.org ¾ FileWatcher.org ¾ LinuxArchives.com. Programas / paquetes / búsqueda de librerías de sistema: ¾ RPMseek.org 54 Anexos ¾ Tuxfinder.com ¾ RPMfind.net Descripción del Windows programa, tareas ejecutadas Redes y Conectividad. Navegadores Web Internet Explorer, Netscape / Mozilla para Windows, Opera, Phoenix para Windows, Clientes de Email Outlook Express, Mozilla para Windows, Eudora, Becky Software para Servidores. Servidores Web Internet Information Server, Apache para Windows, cern-httpd, dhttpd, caudium, xampp Lenguajes para PHP para Windows Desarrollo Web ASP Motores de Bases de MS SQL, MySQL Datos para Windows Servidores Email MDaemon, Hamster Email + Groupware Microsoft Exchange Linux 1) Netscape / Mozilla. 2) Galeon. 3) Konqueror. 4) Opera. [Prop] 5) Phoenix. 6) Nautilus. 7) Epiphany. 8) Links. 9) Dillo. 1) Evolution. 2) Netscape / Mozilla messenger. 3) Sylpheed, Sylpheed-claws. 4) Kmail. 5) Gnus. 6) Balsa. 7) Bynari Insight GroupWare Suite. [Prop] 8) Gnumail. 9) Althea. 1) Apache. 2) Xitami. 3) Thttp. 4) Tux. 5) PublicFile. PHP. ASP módulos para Apache. 1) Sybase Adaptive Server Enterprise. [Prop] 2) PostgreSQL. 3) MySQL 4) mSQL. 5) SAP DB. 1) Sendmail. 2) Qmail. 3) Postfix. 4) Exim. 1) CommuniGate Pro. [Prop] 3) Samsung Contact. [Prop] 55 Anexos Filtro Mail / Eliminador de spam Cygwin+Exim port 4) Teamware Office para Linux. [Prop] 5) Novell Netmail. [Prop] 6) Amphora. Basado en zope y qmail. 7) Tutos. Basado en Linux / Apache / PHP / Mysql / Sendmail. 8) Kroupware. Del proyecto de KDE 9) SuSe Linux Openexchange Server. [Prop] 10) phpGroupWare. [Prop] 11)Zimbra Edición Open Source 1) SpamAssassin. 2) Procmail. 3) Mailfilter. 4) cyrus-imap. 5) Exim. Fuente: http://linuxshop.ru/linuxbegin/win-lin-soft-spanish/index.shtml 56 Anexos Anexo 2 Premios de Zimbra en el mercado Tecnología del Año: Aplicaciones - 2007 http://wwwinfoworld.com Producto de Mejor Gestión Documental / Colaboración del 2007 http://www.intranetjournal.com Los 20 productos más Mejor comunicación o innovadores del Año - Suite de Colaboración - 2006 2006 http://www.pcworld.com http://www.siia.net/codies/2006 Emerging Tech Award Premios Selectos de la 100 - 2006 Comunidad - 2006 http://www.crn.com http://www.oreillynet.com Mejor Solución de mensajería - 2006 http://www.zimbra.com Los Premios corporativos 20 compañías para Mirar - 2007 http://www.linux-mag.com Next Net 25 Empresas - 2006 http://www.zimbra.com Red Herring 100 - 2006 http://www.zimbra.com Cool Vendor Premios - 2006 http://www.web2journal.com 15 nuevas empresas para ver - Always-On 100 - 2006 2006 http://www.infoworld.com http://alwayson.goingon.com 57 Anexos Anexo 3 Comparativa de Exchange, MDaemon, Zimbra Microsoft Exchange ZCS Open Source MDaemon Edition Tipo de servidor Versión MAIL MAIL MAIL 2003 8 Descarga de evaluación gratuita de 30 días; la licencia oscila entre los seis usuarios de la Edición Estándar ($ 110) a un número ilimitado de usuarios para la edición Pro ($ 2480); detalles http://www.altn.com/product s/pricing.asp/product_id/MD aemon Alt-N Technologies 5 Precio Precio básico de $699 a $3,999 detalles en: http://www.microsoft.com/exch ange/howtobuy/enterprice.asp Descarga gratis desde: http://www.zimbra.com/commu nity/downloads.html Proveedor Microsoft Corporation Yahoo Descripción Servidor de e-mail y calendario integrado con Windows 2000 Active Directory Completo servidor de correo con énfasis en anti-spam y seguridad Características Administración GUI de configuración GUI de mantenimiento Administración remota SNMP configurable/seguimiento Desarrollo/ escalabilidad Compatibilidad .Net Desarrollado para 64-bit Soporte para Cluster Soporte IPv6 J2EE 1.4 certificadas Compatible con J2EE 1,4 Administración GUI de configuración GUI de mantenimiento Administración remota SNMP configurable/seguimiento Desarrollo / escalabilidad Compatibilidad .Net Desarrollo para 64-bit Soporte para Cluster Soporte IPv6 J2EE 1.4 certificadas Compatible con J2EE 1,4 Servidor de código abierto basado en estándares de correo electrónico y la colaboración que también integra varios importantes productos de código abierto. Administración GUI de configuración GUI de mantenimiento Administración remota SNMP configurable/seguimiento Desarrollo / escalabilidad Compatibilidad .Net Desarrollo para 64-bit Soporte para Cluster Soporte IPv6 J2EE 1.4 certificadas Compatible con J2EE 1,4 Otras características Múltiples registros Soporta Microsoft ISAPI Servidores virtuales Interfaz de usuario basada en Web Otras características Múltiples registros Soporta Microsoft ISAPI Servidores virtuales Interfaz de usuario basada en We Otras características Múltiples registros Soporta Microsoft ISAPI Servidores virtuales Interfaz de usuario basada en Web 58 Anexos Comparativa de Exchange, MDaemon, Zimbra (Continuación) ZCS Open Source Microsoft Exchange MDaemon Programación / Scripting Incluye fuente API Propia Propios scripts / lote idioma Soporte exterior scripting / lote idioma Programación / Scripting Incluye fuente API Propia Propios scripts / lote idioma Soporte exterior scripting / lote idioma Seguridad Autenticación Active Directory Características Antispam Características Antivirus Construido con las capacidades de firewall Construido en las capacidades de proxy Esquema de acceso a usuarios internos Autenticación LDAP Otros / sistema de autenticación SSL (hardware) SSL (software) Apoyo Soporte comercial disponible Foro de apoyo Soporte telefónico gratuito GSA previsto Apoyo a lista de correo Servicio de acuerdo a nivel de ofertas disponibles Seguridad Autenticación Active Directory Características Antispam Características Antivirus Construido con las capacidades de firewall Construido con las capacidades de proxy Esquema de acceso a usuarios internos Autenticación LDAP Otros / sistema de autenticación SSL (hardware) SSL (software) Propios scripts / lote idioma Soporte exterior scripting / lote idioma Seguridad Autenticación Active Directory Características Antispam Características Antivirus Construido con las capacidades de firewall Construido con las capacidades de proxy Esquema de acceso a usuarios internos Autenticación LDAP Otros / sistema de autenticación SSL (hardware) SSL (software) Apoyo Soporte comercial disponible Foro de apoyo Soporte telefónico gratuito GSA previsto Apoyo a lista de correo Servicio de acuerdo a nivel de ofertas disponibles Apoyo Soporte comercial disponible Foro de apoyo Soporte telefónico gratuito GSA previsto Apoyo a lista de correo Servicio de acuerdo a nivel de ofertas disponibles Edition Programación / Scripting Incluye fuente API Propia 59 Anexos Anexo 4 Proceso de Instalación del software Zimbra Chequeo por parte del programa de alguna versión de Zimbra u otro paquete de los que vienen en su distribución: Checking for existing installation... zimbra-ldap...NOT FOUND zimbra-logger...NOT FOUND zimbra-mta...NOT FOUND zimbra-snmp...NOT FOUND zimbra-store...NOT FOUND zimbra-apache...NOT FOUND zimbra-spell...NOT FOUND zimbra-proxy...NOT FOUND zimbra-core...NOT FOUND Chequeo de los prerequisitos: checking for prerequisites... NPTL...FOUND sudo...FOUND sudo-1.6.7p5-30.1.3 libidn...FOUND libidn-0.5.6-1 curl...FOUND curl-7.12.1-8 fetchmail... FOUND gmp...FOUND gmp-4.1.4-3 compat-libstdc++-296...FOUND compat-libstdc++-296-2.96-132.7.2 compat-libstdc++-33...FOUND compat-libstdc++-33-3.2.3-47.3 libtool-libs...FOUND libtool-libs-1.5.6-4 /usr/lib/libstdc++.so.5...FOUND A continuación de haber verificado que todos prerrequisitos se cumplen se muestran los paquetes habilitados para instalar Select the packages to install Install zimbra-ldap Install zimbra-logger Install zimbra-mta Install zimbra-snmp Install zimbra-store Install zimbra-spell Install zimbra-proxy [Y] Y [Y] Y [Y] Y [Y] Y [Y] Y [Y] Y [N] N Checking required space for zimbra-core checking space for zimbra-store 60 Anexos Installing: zimbra-core zimbra-ldap zimbra-logger zimbra-mta zimbra-snmp zimbra-store zimbra-apache zimbra-spell The system will be modified. Continue? [N] Y Terminada la instalación de los paquetes empieza el proceso de configuración. Desde el menú que aparece a continuación se cambia la contraseña del administrador (marcada con asteriscos) Luego se aplican los cambios y se guarda la configuración. Main menu 1) Common Configuration: +Hostname: +Ldap master host: +Ldap port: +Ldap Admin password: +TimeZone: mail.ermpss.co.cu mail.ermpss.co.cu 389 set (GMT-08.00) Pacific Time (US & Canada) 2) zimbra-ldap: +Create Domain: +Domain to create: +Ldap Root password: +Ldap Replication password: +Ldap Postfix password: +Ldap Amavis password: Enabled yes mail.ermpss.co.cu set set set set 3) zimbra-store: +Create Admin User: +Admin user to create: ***+Admin Password +Enable automated spam training: +Spam training user: +Non-spam(Ham) training user: +Global Documents Account: +SMTP host: +Web server HTTP port: +Web server HTTPS port: +Web server mode: +IMAP server port: +IMAP server SSL port: +POP server port: Enabled yes admin@ mail.ermpss.co.cu Unset yes spam.rstn2dbcr@ mail.ermpss.co.cu ham.bvjx1nyw@ mail.ermpss.co.cu wiki@ mail.ermpss.co.cu mail.ermpss.co.cu 80 443 http 143 993 110 61 Anexos +POP server SSL port: +Use spell check server: +Spell server URL: 995 yes http:// mail.ermpss.co.cu:7780/aspell.php 4) zimbra-mta: 6) zimbra-logger: 7) zimbra-spell: 8) Default Class of Service Configuration: +Enable Instant Messaging Feature: +Enable Briefcases Feature: +Enable Tasks Feature: +Enable Notebook Feature: Enabled Enabled Enabled 9) Enable default backup schedule: r) Start servers after configuration s) Save config to file q) Quit yes yes Disabled Disabled Enabled Enabled Para cambiar la contraseña del administrador se presiona 3 para seleccionar zimbra-store Store configuration 1) Status: 2) Create Admin User: 3) Admin user to create: 4) Admin Password 5) Enable automated spam training: 6) Spam training user: 7) Non-spam(Ham) training user: 8) Global Documents Account: 9) SMTP host: 10) Web server HTTP port: 11) Web server HTTPS port: 12) Web server mode: 13) IMAP server port: 14) IMAP server SSL port: 15) POP server port: 16) POP server SSL port: 17) Use spell check server: 18) Spell server URL: Enabled yes admin@ mail.ermpss.co.cu UNSET yes spam.rstn2dbcr@ mail.ermpss.co.cu ham.bvjx1nyw@ mail.ermpss.co.cu wiki@ mail.ermpss.co.cu mail.ermpss.co.cu 80 443 http 143 993 110 995 yes http:// mail.ermpss.co.cu:7780/aspell.php Select, or 'r' for previous menu [r] Se presiona 4 y teclear la contraseña del administrador (debe tener seis caracteres o más), después Enter y luego r para retornar al menú principal y se salva la configuración con s 62 Anexos Anexo 5 Ventana de inicio para la Administración de Zimbra Consola Administración de Zimbra 63 Anexos Configuración del MTA Anexo 6 Creación de las cuentas de usuarios 64 Anexos Configuración de las propiedades de las cuentas individuales 65 Anexos Anexo 7 Página del cliente web de Zimbra Aspecto del cliente móvil 66 Anexos Anexo 8 Certificado del sitio de la entidad 67 Anexos Anexo 9 Herramientas gráficas de supervisión. Comprobación del funcionamiento del antivirus y anti-spam. Detección del virus eicar.com (Indicación roja) Anexo 10 Herramienta para importar carpetas personales desde Outlook a las cuentas en el servidor Zimbra 68 Anexos Anexo 11 Configuración de Zimbra Toaster para la notificación en Windows de la llegada de nuevos correos Anexo 12 Ventana de notificación 69