tésis_correo_electronico_(104p)

Published on June 2017 | Categories: Documents | Downloads: 27 | Comments: 0 | Views: 786
of 104
Download PDF   Embed   Report

Comments

Content

INSTITUTO TECNOLÓGICO DE LA PAZ DIVISIÓN DE ESTUDIOS DE POSGRADO E INVESTIGACIÓN MAESTRÍA EN SISTEMAS COMPUTACIONALES IMPLEMENTACIÓN DE UNA SOLUCIÓN CONFIABLE DE CORREO ELECTRÓNICO, PARA EL H. CONGRESO DEL ESTADO DE BAJA CALIFORNIA SUR

TESIS QUE PARA OBTENER EL GRADO DE MAESTRO EN SISTEMAS COMPUTACIONALES PRESENTA:

ARMANDO YUÉN CORIA DIRECTOR DE TESIS:

DR. MARCO ANTONIO CASTRO LIERA MIEMBROS DEL JURADO:

MC. JESÚS ANTONIO CASTRO, UNAM PRESIDENTE

MSC. ILIANA CASTRO LIERA, ITLP SECRETARIA

MSC. JAVIER ALBERTO CARMONA TROYO, ITLP VOCAL

LA PAZ, BAJA CALIFORNIA SUR, MÉXICO, OCTUBRE 2012.

Instituto Tecnológico de la Paz

Tabla de contenido Capítulo 1 - Antecedentes ........................................................................................................................................1 1.1 Antecedentes..................................................................................................................................................1 1.2 Infraestructura informática ............................................................................................................................3 1.3 Descripción del problema ...............................................................................................................................5 1.4 Justificación ....................................................................................................................................................8 1.5 Objetivo general .............................................................................................................................................9 1.6 Objetivos específicos ......................................................................................................................................9 1.7 Bibliografía ................................................................................................................................................... 10 Capítulo 2 - Marco teórico ..................................................................................................................................... 11 2.1 TCP/IP protocolos de Internet ..................................................................................................................... 11 2.2 El correo electrónico.................................................................................................................................... 12 2.2.1 Elementos........................................................................................................................................... 14 2.3 Seguridad informática ................................................................................................................................. 15 2.4 Sistemas seguros ......................................................................................................................................... 16 2.5 Para qué sirve la seguridad informática ...................................................................................................... 16 2.6 Amenazas al utilizar el servicio de correo electrónico ................................................................................ 17 2.6.1 Seguridad en archivos anexados (attached) ...................................................................................... 18 2.6.2 Encabezados Falsos / Forged headers................................................................................................ 18 2.7 Riesgos comunes ......................................................................................................................................... 19 2.8 Agregando seguridad a nuestro correo electrónico .................................................................................... 19 2.8.1 Certificados Digitales .......................................................................................................................... 20 2.8.2 Firmas Digitales .................................................................................................................................. 20 2.8.3 Obtención de un certificado ............................................................................................................... 21 2.8.4 Cifrado ................................................................................................................................................ 23 2.8.5 Seguridad en las Conexiones .............................................................................................................. 23 Implementación de una solución confiable de correo electrónico, para el H. Congreso del Estado de Baja California Sur

i

Instituto Tecnológico de la Paz

2.9 Postfix .......................................................................................................................................................... 23 2.9.1 Diseño modular .................................................................................................................................. 25 2.9.2 Seguridad en Postfix ........................................................................................................................... 26 2.9.3 Rendimiento ....................................................................................................................................... 27 2.9.4 Configuración ..................................................................................................................................... 27 2.10 Spam .......................................................................................................................................................... 28 2.11 Antivirus..................................................................................................................................................... 31 2.11.1 Funcionamiento ............................................................................................................................... 32 2.12 Técnicas heurísticas ................................................................................................................................... 33 2.12.1 Firmas genéricas............................................................................................................................... 33 2.12.2 Desensamblado ................................................................................................................................ 33 2.12.3 Desempaquetamiento...................................................................................................................... 34 2.12.4 Evaluaciones retrospectivas ............................................................................................................. 34 2.12.5 Daños y perjuicios ............................................................................................................................ 34 2.12.6 Métodos de contagio ....................................................................................................................... 35 2.12.7 Seguridad y métodos de protección ................................................................................................ 35 2.12.8 Antivirus activo ................................................................................................................................. 36 2.12.9 Tipos de vacunas .............................................................................................................................. 36 2.12.10 Filtros de archivos (activo) ............................................................................................................. 37 2.12.11 Copias de seguridad (pasivo).......................................................................................................... 37 2.12.12 Planificación ................................................................................................................................... 38 2.12.13 Consideraciones de software ......................................................................................................... 38 2.12.14 Consideraciones de la red .............................................................................................................. 39 2.12.15 Firewalls ......................................................................................................................................... 39 2.12.16 Reemplazo de software.................................................................................................................. 40 2.12.17 Centralización y backup ................................................................................................................. 40 2.12.18 Empleo de sistemas operativos más seguros................................................................................. 40 2.12.19 Sistemas operativos más atacados ................................................................................................ 41 2.13 Servidor WEB ............................................................................................................................................. 41 2.13.1 Funcionamiento ............................................................................................................................... 41 2.13.2 Servidor HTTP Apache ...................................................................................................................... 43 Implementación de una solución confiable de correo electrónico, para el H. Congreso del Estado de Baja California Sur

ii

Instituto Tecnológico de la Paz

2.13.3 HTTPS ............................................................................................................................................... 44 2.14 RSA ............................................................................................................................................................. 45 2.15 Integración con el Navegador.................................................................................................................... 45 2.15.1 Características técnicas .................................................................................................................... 46 2.15.2 Diferencias con HTTP........................................................................................................................ 47 2.16 Capas de Red ............................................................................................................................................. 47 2.17 SASL (Simple Authentication and Security Layer) ..................................................................................... 47 2.18 Configuración del Servidor ........................................................................................................................ 48 2.18.1 Adquiriendo certificados .................................................................................................................. 48 2.18.2 Usar un Control de Acceso ............................................................................................................... 49 2.18.3 En caso de claves privadas comprometidas ..................................................................................... 49 2.18.4 Limitaciones ..................................................................................................................................... 49 2.19 Correo web (webmail) ............................................................................................................................... 50 2.20 Imap ........................................................................................................................................................... 50 2.21 SquirrelMail ............................................................................................................................................... 53 2.22 PHP ............................................................................................................................................................ 54 2.23 Bibliografía ................................................................................................................................................ 56 Capítulo 3 – Implementación del servicio de correo utilizando herramientas de software libre ......................... 58 3.1 Instalación de un servidor nuevo de correo ................................................................................................ 58 3.1.1 Postfix 2.8.7 ........................................................................................................................................ 60 3.2 Cyrus-Sasl 2.1.25 ......................................................................................................................................... 64 3.2.1 IMAP ................................................................................................................................................... 67 3.2.2 lmtp, lmtpunix .................................................................................................................................... 67 3.2.3 sieve.................................................................................................................................................... 67 3.3 Cyrus-imap 2.4.13 ........................................................................................................................................ 69 3.4 Squirrelmail 1.4.22....................................................................................................................................... 72 3.5 Módulos adicionales de seguridad .............................................................................................................. 80 3.5.1 Cyrus-sasl e Imap con Postfix ............................................................................................................. 80 3.5.2 Anitivirus y antispam .......................................................................................................................... 83 3.6 HTTPS y creación de certificados ................................................................................................................. 89 3.7 Bibliografía ................................................................................................................................................... 95 Implementación de una solución confiable de correo electrónico, para el H. Congreso del Estado de Baja California Sur

iii

Instituto Tecnológico de la Paz

Capítulo 4 - Conclusiones y recomendaciones ...................................................................................................... 96 Conclusiones ...................................................................................................................................................... 96 Recomendaciones ............................................................................................................................................. 97 Trabajo futuro.................................................................................................................................................... 97 Material de apoyo ............................................................................................................................................. 98

Implementación de una solución confiable de correo electrónico, para el H. Congreso del Estado de Baja California Sur

iv

Instituto Tecnológico de la Paz

Índice de figuras Figura 2.1 Proceso seguro de envío de correo……………………………….………….………………………………….………………….14 Figura 3.1 Diagrama lógico de la red de H. Congreso del estado de BCS….………………….…………..……………………….59 Figura 3.2 Pantalla de acceso utilizando el navegador google chrome…….…………………………………………………….…80 Figura 3.3 Acceso inicial al servidor https de navegador común…………….…………………………………………………………93 Figura 3.4 Acceso a la interfaz gráfica de correo electrónico………………….…………………………………………………………93 Figura 3.5 Interacción entre procesos……..…….…………………………………………………………………………………………………94

Implementación de una solución confiable de correo electrónico, para el H. Congreso del Estado de Baja California Sur

v

Instituto Tecnológico de la Paz

Capítulo 1 - Antecedentes 1.1 Antecedentes La idea de contar con un cuerpo representativo de la sociedad que conformara el poder legislativo en nuestro país se propuso por los Sentimientos de la Nación de Don José María Morelos y Pavón, en 1813, en Chilpancingo Guerrero. Este proyecto se ratificó en el Congreso de Anáhuac ese mismo año, prevaleciendo en el decreto de Apatzingán, es asentado en la Constitución de 1824 y se ratifica en las constituciones promulgadas en 1857 y 1917. El establecimiento de un órgano Legislativo en nuestra entidad es un proceso que se halla ligado intrínsecamente a la creación misma de Baja California Sur como estado de la república. Este momento histórico para los sudcalifornianos tiene antecedentes décadas atrás cuando, a través de diversos movimientos populares, se demandó al ejecutivo federal que el territorio contara con una estructura propia que atendiera directamente los reclamos de la población. Pero no fue sino hasta el 2 de septiembre de 1974 cuando el presidente Echeverría promovió ante el Congreso de la Unión una iniciativa a efecto de que el Territorio de Baja California Sur, junto con el de Quintana Roo, fungiera como entidad federativa, tras considerar que los sudcalifornianos, como los quintanarroenses, “Han alcanzado con perceptible suficiencia, la madurez política y económica, y el desarrollo demográfico necesario para la calidad de estados federales”. Decreto promulgado y publicado en el Diario Oficial de la Federación el 8 de octubre de 1974. El decreto anterior, estableció que en Baja California Sur debían verificarse elecciones para diputados que integrarían el congreso constituyente, el cual se conformaría por siete diputados propietarios y sus respectivos suplentes. Para esta Implementación de una solución confiable de correo electrónico, para el H. Congreso del Estado de Baja California Sur

Pág. 1

Instituto Tecnológico de la Paz

elección se estipuló que podrían participar los partidos políticos nacionales. Luego de que se conformaron los órganos encargados de conducir el proceso electoral en el marco de la propia Constitución General a la República y la Ley Federal Electoral, en lo conducente, el domingo 10 de noviembre de 1974, poco mas de 35,000 electores sudcalifornianos acudieron a las urnas eligiendo a los candidatos del PRI: Armando Aguilar Paniagua, Armando Santisteban Cota, Armando Trasviña Taylor, Fernando I. Cota Sandez, Eligio Soto López, Manuel Davis Ramírez y María Luisa Salcedo de Beltrán. La constitución política del estado, al retomar para Baja California Sur la moderna división de poderes representativos, estipuló en su artículo 40 que el poder legislativo se depositaría en un asamblea a la que se le denominaría “Honorable Congreso del Estado de Baja California Sur”, integrada por un determinado número de diputados electos por los principios de mayoría relativa y de representación proporcional. Desde 1975 a la fecha el poder legislativo de nuestro estado se han conformado XII legislaturas, cada cual con una duración de tres años. Por única ocasión la XIII legislatura tendrá una duración de 4 años y 6 meses. (Decreto 1732 de fecha 06 de marzo de 2008).

*

Tomado de: Diarios de los debates de la cámara de diputados del H. Congreso de la Unión, 2 de septiembre de 1974.

Implementación de una solución confiable de correo electrónico, para el H. Congreso del Estado de Baja California Sur

Pág. 2

Instituto Tecnológico de la Paz

1.2 Infraestructura informática En el año 2003, el H. Congreso del Estado de Baja California Sur creó un sistema de cableado estructurado, dando origen a su actual red informática. Desde esa fecha, el Congreso ha contado con presencia en el mundo de Internet con su propio dominio “cbcs.gob.mx”, proporcionando información de leyes, iniciativas con proyecto de decreto, lista de comisiones, órdenes del día, boletines de prensa, correo electrónico del personal, entre otros servicios electrónicos. Lo anterior ha venido convirtiendo al sitio web en el canal más ágil para dar a conocer el trabajo legislativo que se lleva a cabo en el Congreso. De esta manera, el portal web ofrece a la comunidad un alto contenido en materia de legislación estatal utilizando los canales virtuales de comunicación de hoy en día, que se caracterizan por su versatilidad, rapidez, bidireccionalidad y, sobre todo, la afluencia de información “sin fronteras”. Conforme el paso de los años la red ha venido creciendo como una respuesta a la necesidad de información y conectividad, se ha incrementado 3 veces el ancho de banda de acceso a Internet. Actualmente se cuenta con un enlace E1 (2 Mbps) y 3 enlaces ADSL (4 Mbps); se han instalado nodos adicionales y, con las remodelaciones realizadas en el edificio, se ha remplazado un nuevo sistema de cableado estructurado cat6 para datos y 5E para voz en algunos pisos, faltando por concluir la planta baja y la azotea. Los puntos de acceso inalámbricos también han tenido un incremento considerable en todo el recinto, así como los servicios de software que se han requerido. Cada vez se depende más del buen funcionamiento de la red institucional para agilizar y realizar con mayor facilidad el trabajo cotidiano. Sin embargo, todos estos sistemas computacionales que hacen posible la operación están sujetos a una serie de riesgos y vulnerabilidades que pueden interrumpir su funcionamiento u ocasionar que la información que se guarda dentro de ellos pueda sufrir alteraciones o destrucción, ya que no se cuenta con la debida

Implementación de una solución confiable de correo electrónico, para el H. Congreso del Estado de Baja California Sur

Pág. 3

Instituto Tecnológico de la Paz

protección informática o por lo menos la mínima necesaria para protegerse de los posibles ataques internos o externos. El Departamento de Informática es el responsable de mantener, instalar, actualizar, monitorear todos los servicios de red de voz y datos. Aunque es un área de mucha responsabilidad, pasa lo que en muchas dependencias: “mientras todo funciona no es necesario prestar demasiada atención y mucho menos invertir dinero adicional”. Desafortunadamente, no es un departamento que cuente con una partida presupuestal asignada para ejercer durante el año. Un presupuesto propio permitiría planear, proyectar todas las acciones, y actualizaciones que se requieren para el buen funcionamiento de la red institucional e inclusive, atender rápidamente fallas de emergencia graves.

Implementación de una solución confiable de correo electrónico, para el H. Congreso del Estado de Baja California Sur

Pág. 4

Instituto Tecnológico de la Paz

1.3 Descripción del problema Hoy en día un requisito imprescindible en una Institución de tal jerarquía es el óptimo funcionamiento de la red y de los servicios que dicha red presta al interior y exterior. Una de las prestaciones más utilizadas es el correo electrónico, ya que se ha convertido en una de las herramientas de comunicación directas y personalizadas de las que disponemos para ponernos en contacto con cualquier persona en cualquier parte del mundo, inclusive comunicaciones internas con otros compañeros. En la mejor de las situaciones, el correo electrónico es rápido, económico y conveniente. Además, es excelente para responder con rapidez a preguntas simples. Es fantástico para hacer circular documentos y mucha información relevante. Cuando es necesario enviar a alguien alguna información urgente, con el correo llega inmediatamente. Al igual que cualquier comunicado por escrito, el correo electrónico provee un filtro natural y tiempo para reflexionar antes de contestar. Estos mensajes pueden ser de cualquier tipo, ya sea a nivel personal, académico, empresarial y su contenido es de tipo texto. Una de las ventajas del correo electrónico es la posibilidad de anexar archivos a los mensajes, es decir, al enviar un correo podemos anexar un documento elaborado en cualquier programa, lo que recibe el nombre de “archivo adjunto” o “attachment”. En un sistema de correo, cuando un usuario solicita una dirección electrónica se le asigna un nombre o dirección personal “única” que tendrá validez mundial. Esta dirección tiene la forma [email protected], en donde el nombre está relacionado con el nombre propio de la persona y seguido del nombre de dominio que muestra nuestra presencia internacional. Actualmente, el H. Congreso cuenta con un servidor de correo montado sobre una plataforma de software libre FreeBSD que atiende 175 direcciones electrónicas institucionales. Sin embargo, la Institución desafortunadamente no cuenta con un sistema que permita acceder al correo desde cualquier parte de la red y mucho menos de otro punto de la nube de Internet, ocasionado esto una limitación y Implementación de una solución confiable de correo electrónico, para el H. Congreso del Estado de Baja California Sur

Pág. 5

Instituto Tecnológico de la Paz

molestia. Además, no se cuenta con un sistema que permita una transferencia de datos segura dentro y fuera de la red, sin dejar de mencionar los mecanismos de filtrado contra correo no solicitado (spam) y detección oportuna de virus informáticos. Existen soluciones que proporcionan servicios de correo electrónico con todos los módulos de antivirus y anti-spam integrados, que para el caso de Instituciones de educación y de gobierno, son gratuitos. Uno de ellos es Gmail y otro Microsoft. Tienen sus ventajas ya que se utiliza su infraestructura, la administración del servicio, de manera que los usuarios, los respaldos de información quedan bajo su responsabilidad. Una compañía de esa magnitud tiene el soporte, personal y la infraestructura necesaria para proporcionar un buen servicio dentro “de la nube”. Según Google Apps en la Universitat de Jaume, las cuatro razones de utilizarlo son: “1. Porque tienes acceso a las aplicaciones desde cualquier dispositivo conectado a Internet Puedes acceder a tu correo vía web o dispositivo móvil o a través de tu programa de correo preferido (Outlook, Thunderbird, etc.). Tienes un espacio de más de 7 GB para almacenar correo con potentes filtros antispam y antivirus. Te permite tener un calendario en línea que puede ser individual y compartido. Puedes editar, supervisar y elaborar documentos desde cualquier lugar y con quien quieras. Incluye procesador de texto, hoja de cálculo y presentaciones, un visor en línea de archivos PDF y un administrador de documentos, todo sin contar con software adicional en la computadora. Además, tiene soporte de gráficos, estadísticas y todo tipo de cálculos. Tienes la posibilidad de publicar tu página web en Internet. Proporciona acceso a muchas más aplicaciones. 2. Porque son muy fáciles de utilizar Te permite guardar copias de los documentos en tu computadora y, en sentido contrario, subir documentos de tu computadora a Google. Implementación de una solución confiable de correo electrónico, para el H. Congreso del Estado de Baja California Sur

Pág. 6

Instituto Tecnológico de la Paz

3. Porque son herramientas ideales para la comunicación y el trabajo en equipo Además de correo, Google dispone de herramientas de comunicación (chat, voz y videoconferencia) que nos permiten comunicarnos con otras personas en tiempo real y desde cualquier dispositivo conectado a Internet. 4. Porque supone una reducción de costos Las aplicaciones de Google ofrecen la tecnología avanzada que necesita la comunidad universitaria para comunicarse y trabajar de forma conjunta, sin el costo ni la complejidad que conlleva el mantenimiento del hardware y del software y sin publicidad ni cuotas.”[1]

Implementación de una solución confiable de correo electrónico, para el H. Congreso del Estado de Baja California Sur

Pág. 7

Instituto Tecnológico de la Paz

1.4 Justificación En el caso del H. Congreso de Baja California Sur, la naturaleza de la información que se intercambia entre diputados y personal administrativo por medio del sistema de correo electrónico es de naturaleza altamente confidencial y valiosa. Por lo tanto, aun considerando las ventajas anteriormente mencionadas no es posible confiar dicho servicio a una compañía extranjera, ajena al Estado. Debido a la falta de conocimiento en el área de telecomunicaciones y cómputo, por parte del personal legislativo, se ha generado una psicosis con respecto a la intercepción o escucha de mensajes de correo, sms, conversaciones telefónicas y otras comunicaciones. Por mencionar un ejemplo, no hace mucho tiempo la dirección oficial “la única autorizada” para el envío y difusión de la información oficial hacia los medios de comunicación fue víctima de unos de los ataques a que estamos expuestos en Internet, que terminó como mucho medios lo expusieron en: “error de difusión”, “complot” o con opiniones más fuertes como desacreditaciones, exigiendo renuncia e investigaciones a fondo para deslindar responsabilidades. Debido a la necesidad e importancia del servicio de correo electrónico, se pretende instalar dicho servicio dentro del recinto y que sea administrado por personal de mismo Congreso, con la calidad que se demanda hoy en día, incluyendo características de: Protección contra malwares, módulo anti-spam, reglas

de

seguridad

de

encabezados,

validaciones

de

usuarios,

etc.

La

disponibilidad será todos los días a cualquier hora y en cualquier punto de Internet, el transporte se hará con un navegador común y la información llevará una protección adicional con ayuda de un algoritmo de cifrado, de tal manera que viaje de manera segura e íntegra. La aplicación de todas estas medidas de seguridad permitirá proteger la privacidad, disponibilidad y aceptación del servicio de correo por parte de los usuarios del H. Congreso del Estado de Baja California Sur.

Implementación de una solución confiable de correo electrónico, para el H. Congreso del Estado de Baja California Sur

Pág. 8

Instituto Tecnológico de la Paz

1.5 Objetivo general Implementar una solución de correo electrónico eficiente y confiable que permita acceder desde cualquier punto de Internet a los buzones institucionales.

1.6 Objetivos específicos Implementar un servidor de correo. Implementar filtros adicionales: anti-spam y antivirus. Implementar un servidor IMAP utilizando herramientas libres. Implementar un servidor WEB seguro, utilizando métodos de encriptación con herramientas libres. Adecuar la página Web para las operaciones de correo electrónico.

Implementación de una solución confiable de correo electrónico, para el H. Congreso del Estado de Baja California Sur

Pág. 9

Instituto Tecnológico de la Paz

1.7 Bibliografía [1].

google.uji.es/es/por-qu-subirse-la-nube

Implementación de una solución confiable de correo electrónico, para el H. Congreso del Estado de Baja California Sur

Pág. 10

Instituto Tecnológico de la Paz

Capítulo 2 - Marco teórico 2.1 TCP/IP protocolos de Internet La familia de protocolos de Internet es un conjunto de protocolos de red en los que se basa Internet y que permiten la transmisión de datos entre computadoras. En ocasiones se le denomina conjunto de protocolos TCP/IP, en referencia a los dos protocolos más importantes que la componen: Protocolo de Control de Transmisión (TCP) y Protocolo de Internet (IP), que fueron dos de los primeros en definirse y que son los más utilizados de la familia. Existen tantos protocolos en este conjunto que llegan a ser más de 100 diferentes y cada servicio se identifica con un número de puerto TCP y/o UDP. Entre ellos se encuentra el popular HTTP (HyperText Transfer Protocol puerto 80), que es el que se utiliza para acceder a las páginas web, además de otros como el ARP (Address Resolution Protocol puerto 219) para la resolución de direcciones, el FTP (File Transfer Protocol puerto 21) para transferencia de archivos, el SMTP (Simple Mail Transfer Protocol puerto 25), el POP (Post Office Protocol puerto 110) para correo electrónico, TELNET (puerto 23) para acceder a equipos remotos e IMAP (Internet message access protocol puerto 143) protocolo de red de acceso a mensajes electrónicos almacenados en un servidor, entre otros. El TCP/IP es la base de Internet y sirve para enlazar computadoras que utilizan diferentes sistemas operativos, incluyendo computadoras personales, estaciones de trabajo y computadoras centrales (servidores) sobre redes de área local (LAN) y área extensa (WAN). TCP/IP fue desarrollado y mostrado por primera vez en 1972 por el Departamento de Defensa de los Estados Unidos, ejecutándolo en ARPANET, una red de área extensa de dicho departamento. Implementación de una solución confiable de correo electrónico, para el H. Congreso del Estado de Baja California Sur

Pág. 11

Instituto Tecnológico de la Paz

La familia de protocolos de Internet puede describirse por analogía con el modelo OSI (Open System Interconnection), que describe los niveles o capas de la pila de protocolos, aunque en la práctica no corresponde exactamente con el modelo en Internet. En una pila de protocolos, cada nivel resuelve una serie de tareas relacionadas con la transmisión de datos y proporciona un servicio bien definido a los niveles más altos. Los niveles superiores son los más cercanos al usuario y tratan con datos más abstractos, dejando a los niveles más bajos la labor de traducir los datos de forma que sean físicamente manipulables. El modelo de Internet fue diseñado como la solución a un problema práctico de ingeniería. El modelo OSI, en cambio, fue propuesto como una aproximación teórica y también como una primera fase en la evolución de las redes de computadoras. Por lo tanto, el modelo OSI es más fácil de entender, pero el modelo TCP/IP es el que realmente se usa. Sirve de ayuda entender el modelo OSI antes de conocer TCP/IP, ya que se aplican los mismos principios, pero son más fáciles de entender en el modelo OSI. El protocolo TCP/IP es el sucesor del NCP, con el que inició la operación de ARPANET, y fue presentado por primera vez con los RFC’s 791,1 7922 y 7933 en septiembre de 1981. Para noviembre del mismo año se presentó el plan definitivo de transición en el RFC 8014 y se marcó el 1 de enero de 1983 como el Día Bandera para completar la migración. [1-6]

2.2 El correo electrónico El correo electrónico o en inglés e-mail (electronic mail), es un servicio de red que permite a los usuarios enviar y recibir mensajes rápidamente (también denominados mensajes electrónicos o cartas electrónicas) mediante sistemas de comunicación automatizados. Principalmente, se usa este nombre para denominar al sistema que provee este servicio en Internet, mediante el protocolo SMTP, aunque por extensión también puede verse aplicado a sistemas análogos que usen otras tecnologías. Por medio de mensajes de correo electrónico se puede enviar, no Implementación de una solución confiable de correo electrónico, para el H. Congreso del Estado de Baja California Sur

Pág. 12

Instituto Tecnológico de la Paz

solamente

texto,

sino

todo

tipo

de

documentos

digitales.

Su

eficiencia,

conveniencia y bajo costo (con frecuencia cero) están logrando que el correo electrónico desplace al correo ordinario para muchos usos habituales. El correo electrónico antecede a la Internet y, de hecho, fue una herramienta crucial para que ésta pudiera ser creada. En una demostración del MIT (Massachusetts Institute of Technology) en 1961, se exhibió un sistema que permitía a varios usuarios ingresar a una IBM 7094 desde terminales remotas y guardar archivos en el disco. Esto hizo posibles nuevas formas de compartir información. El correo electrónico comenzó a utilizarse en 1965 en una supercomputadora de tiempo compartido y, para 1966, se había extendido rápidamente para utilizarse en las redes de computadoras. En 1971 Ray Tomlinson incorporó el uso de la arroba (@). Eligió la arroba como divisor entre el usuario y la computadora en la que se aloja la casilla de correo porque

no

existía

la

arroba

en

ningún

nombre

ni

apellido.

Así,

[email protected] se lee yuen seguido del servidor y su dominio. El nombre correo electrónico proviene de la analogía con el correo postal: ambos sirven para enviar y recibir mensajes; se utilizan "buzones" intermedios (servidores), en donde los mensajes se guardan temporalmente antes de dirigirse a su destino y antes de que el destinatario los revise. El crecimiento de Internet, hoy con 2,000 millones de usuarios en el mundo y 30 millones en México, ha colocado al correo electrónico como la segunda aplicación más usada en el Internet, detrás de la web. [7] Algunos usuarios confían en el servicio de correo con servidores gratuitos que existen en Internet como gmail, hotmail, yahoo, msn, etc. Otros son más exigentes que desean contar con su propio dominio y recibir y enviar correo a través de todos sus contactos utilizando el correo oficial de la institución o empresa. Sin embargo, los datos personales de los usuarios recorren la red pública más grande del mundo corriendo riegos de confidencialidad e integridad. Uno de los riegos a que se exponen los usuarios al hacer mal uso del correo estriba en comprometer y/o Implementación de una solución confiable de correo electrónico, para el H. Congreso del Estado de Baja California Sur

Pág. 13

Instituto Tecnológico de la Paz

divulgar el contenido del mensaje o proporcionar información acerca del usuario de otras terceras personas. Para asegurar que los mensajes de correo lleguen sin ninguna modificación y sean totalmente confidenciales, podemos utilizar estrategias de firmas y cifrado digital de mensajes, mediante herramientas que permiten cifrar los datos. [8-11] En la figura 2.1 se muestra el proceso de envío de un correo seguro.

Figura 2.1. Proceso seguro de envío de correo

2.2.1 Elementos Para que una persona pueda enviar un correo a otra, ambas han de tener una dirección de correo electrónico. Esta dirección la tiene que dar un proveedor de correo que ofrece el servicio de envío y recepción. Es posible utilizar un programa específico de correo electrónico (cliente de correo electrónico o MUA, del inglés Mail User Agent) o una interfaz web a la que se ingresa con un navegador web. Una dirección de correo electrónico es un conjunto de palabras que identifican a una persona para que puede enviar y recibir correo. Cada dirección es única y pertenece siempre a la misma persona. Por ejemplo: Implementación de una solución confiable de correo electrónico, para el H. Congreso del Estado de Baja California Sur

Pág. 14

Instituto Tecnológico de la Paz

[email protected] que se lee admin arroba correo2.cbcs.gob.mx. El signo @ siempre está en cada dirección de correo y la divide en dos partes: el nombre de usuario (a la izquierda de la arroba; en este caso, admin) y el servidor seguido del dominio en el que está (lo de la derecha de la arroba; en este caso, correo2.cbcs.gob.mx). Una dirección de correo se reconoce fácilmente porque siempre tiene la @, donde la @ significa "pertenece a...". En cambio, una dirección de página web no incluye la arroba. Por ejemplo, mientras que http://www.cbcs.gob.mx/ puede ser una

página

web

en

donde

hay

información

(como

en

un

libro),

[email protected] es la dirección de un correo: un buzón a donde se puede escribir. Lo que hay a la derecha de la arroba es precisamente el nombre internacional que identifica el servidor con su dominio y, por tanto, es algo que el usuario no puede cambiar. Por otro lado, lo que hay a la izquierda depende normalmente de la elección del usuario y es un identificador cualquiera, que puede tener letras, números y algunos signos. Es aconsejable elegir, en lo posible, una dirección fácil de memorizar para facilitar la transmisión correcta de ésta a quien desee escribir un correo al propietario, puesto que es necesario transmitirla de forma exacta, letra por letra. Un solo error hará que no lleguen los mensajes al destino. [11-12]

2.3 Seguridad informática Podemos entender como seguridad una característica de cualquier sistema (informático o no) que nos indica que ese sistema está libre de todo peligro, daño o riesgo. Para la mayoría de los expertos el concepto de seguridad en la informática es utópico porque no existe un sistema 100% seguro. Para que un sistema se pueda definir como fiable debemos dotarlo de las características siguientes: Integridad.- Sólo las personas autorizadas deben poder crear, modificar o borrar información. Implementación de una solución confiable de correo electrónico, para el H. Congreso del Estado de Baja California Sur

Pág. 15

Instituto Tecnológico de la Paz

Confidencialidad.- Asegurar que sólo aquellos individuos que tienen la autorización para ver cierta información lo puedan hacer. Las personas no autorizadas nunca deben ver datos que no les pertenecen. Disponibilidad.- Asegurar que los datos, o el sistema en sí mismo, esté disponible para usarse cuando lo requiera un usuario autorizado. [10,13-14]

2.4 Sistemas seguros La forma más confiable de asegurar un sistema es tenerlo desconectado y encerrado en un bunker. Aun así, nada garantiza al 100% su seguridad. Obviamente, esa no es una solución práctica. Una buena parte de la utilidad actual de las computadoras está en su capacidad de trabajar conectadas en red para poder compartir información y recursos. Es por esto que las organizaciones que ponen sus sistemas en red deben tomar algunas precauciones. Debemos partir del hecho de que no hay ningún sistema 100% seguro. Todos los sistemas de cómputo son vulnerables a fallas o a errores en el uso. Entonces, si no hay sistemas de cómputo totalmente seguro, ¿para qué sirve la seguridad informática? [10,13-14]

2.5 Para qué sirve la seguridad informática Esta podría parecer una pregunta absurda y casi obvia pero es fundamental que las organizaciones definan para qué quieren la seguridad informática y así poder definir el tipo de seguridad que necesitan y cómo deben implantarla. Definir esto es importante también porque ayuda cuando se busca la autorización de los directivos en cuanto a la inversión en recursos para la seguridad informática. La seguridad informática es un proceso que involucra procedimientos y técnicas orientados a establecer los mecanismos adecuados que permitan minimizar el riesgo al que están expuestos los activos informáticos. La seguridad informática, como se ha mencionado, no puede garantizar que un sistema estará libre de riesgo. Implementación de una solución confiable de correo electrónico, para el H. Congreso del Estado de Baja California Sur

Pág. 16

Instituto Tecnológico de la Paz

Como resultado del incremento en el uso de redes para el comercio electrónico y

algunos

otros

servicios

en

línea

que

requieren

un

grado

más

de

privacidad/protección en el transporte (como es, el popular servicio de correo electrónico a través de una interface web) se han agregado dos metas de seguridad

adicionales

(autenticación

y

no

repudio)

a

las

tres

originales

(confidencialidad, integridad y disponibilidad). La autenticación tiene que ver con el deseo de asegurar que un individuo es quien dice ser. La necesidad de este mecanismo en una transacción en línea, por ejemplo, es obvia. El no repudio trata con la posibilidad de verificar que un mensaje ha sido enviado y recibido, y que el remitente puede ser identificado y verificado. Estos mecanismos también son muy necesarios para las transacciones comerciales en línea. [10,13-15]

2.6 Amenazas al utilizar el servicio de correo electrónico 2.6.1 Spam, Phishing y Fraude No hace mucho tiempo el intercambio de mensajes electrónicos se hacía con gente conocida. Desafortunadamente, las cosas cambian y ahora se tienen que tomar consideraciones o por lo menos estar bien informado de lo que puede pasar. Es común recibir promociones de viaje, software, artículos de oficina o de hogar, anuncios de pornografía, etc. De gente o direcciones que nunca escuchaste u otros mensajes más atractivos como: “acabas de ganar un millón de dólares”. Todos estos correos se denominan en el mundo informático correos no solicitados o su término en ingles spam. Un correo proporciona mucha información adicional de quien lo envió como: cuándo fue abierto, cuántas veces ha sido leído, si ha sido reenviado, etc. Esta es una técnica llamada web bugs, utilizada tanto por los envían los correos de tipo spam como por los que realmente lo envían. Implementación de una solución confiable de correo electrónico, para el H. Congreso del Estado de Baja California Sur

Pág. 17

Instituto Tecnológico de la Paz

Otro tipo de invasión a la privacidad es el creciente ataque conocido como phishing. Cuando llega un correo donde te pide “firmar y verificar tu cuenta de correo bancaria o de E-bay”, o que “confirmes tu contraseña en tu buzón de electrónico”, esto permite robar información de tu cuenta o datos personales. [16-17]

2.6.1 Seguridad en archivos anexados (attached) Otro gran riesgo y preocupación son los archivos anexados al correo, ya que hasta el momento que lo recibes no sabes el contenido real. Este envío es una las formas de propagación que utilizan los atacantes para enviar software malicioso (malware, por su siglas en ingles), caballos de Troya y todo tipo de programas desagradables. La mejor defensa es no abrir correos si el remitente es desconocido y mucho menos archivos con extensión .exe o .scr, ya que éstos son extensiones que ejecutan archivos que pueden infectar la máquina de virus. Una buena medida de prevención es guardar el archivo en tu disco duro y posteriormente analizarlo con un programa antivirus. No hay que confiar en extensiones comunes como los archivos zip ya que es la forma que los atacantes pueden usar para disfrazar un archivo, cambiando el icono u ocultando la extensión del archivo. [18]

2.6.2 Encabezados Falsos / Forged headers En ocasiones se reciben correos que parecen ser enviados por alguien conocido como: “Administrador”, “Postmaster” de tu escuela, de tu amigo, etc. El tema del correo puede ser “Returned Mail” o “RE:”, o cualquier otro tema interesante, comúnmente con una archivo anexo. Un detalle curioso es que se requieren unos minutos y pocos conocimientos técnicos para falsear una dirección de correo electrónico. Una medida de contrarrestar esto es realizar el proceso de autentificación antes de enviar los correos, lo que significa que debes ser tú quien dices ser para enviar un correo a través de su servidor SMTP. Sin embargo, cuando los hackers y spammers Implementación de una solución confiable de correo electrónico, para el H. Congreso del Estado de Baja California Sur

Pág. 18

Instituto Tecnológico de la Paz

montan un servidor SMTP en su propio equipo no necesitan autenticarse al enviar un correo y pueden hacer que luzca como ellos deseen. Desafortunadamente, la única manera segura de saber si un correo es legítimo es llamar al destinatario si se conoce. Nunca hay que contestar mensajes que se crea que han sido falseados, ya que contestar significa que es una dirección existente. Además, se proporciona información que aparece en el encabezado como el lugar desde donde se envió el correo. [18]

2.7 Riesgos comunes Eavesdropping, término inglés que traducido al español significa escuchar secretamente, se ha utilizado tradicionalmente en ámbitos relacionados con la seguridad, como escuchas telefónicas. Se ha convertido en parte de la jerga habitual en criptografía y se refiere a ataques de escuchas, tanto sobre medios con información cifrada, como no cifrada. En criptografía, un ataque man-in-the-middle o JANUS (MitM o intermediario, en español) es un ataque en el que el enemigo adquiere la capacidad de leer, insertar y modificar a voluntad, los mensajes entre dos partes sin que ninguna de ellas conozca que el enlace entre ellos ha sido violado. El atacante debe ser capaz de observar e interceptar mensajes entre las dos víctimas. El ataque MitM es particularmente significativo en el protocolo original de intercambio de claves de Diffie-Hellman, cuando éste se emplea sin autenticación.[19]

2.8 Agregando seguridad a nuestro correo electrónico Ante todos estos riegos, es necesario agregar un mecanismo de protección de mensaje. Existen métodos que permiten firmar de manera digital los mensajes, lo que garantiza que el mensaje proviene del usuario y que no ha sido modificado durante el trayecto y, para mayor seguridad, se puede cifrar el mensaje con el fin de que

Implementación de una solución confiable de correo electrónico, para el H. Congreso del Estado de Baja California Sur

Pág. 19

Instituto Tecnológico de la Paz

nadie pueda leerlo. Las firmas digitales prueban de dónde viene el correo y que no ha sido alterado en el trayecto. [20]

2.8.1 Certificados Digitales Un certificado digital es único para cada individuo, como si fuese una licencia para conducir o un pasaporte, el cual se compone de 2 partes, una llave pública y una privada. El certificado es único para una persona y típicamente los certificados son expedidos por una Autoridad Certificadora Confiable o CA (Verisign, Thawte, Safelayer). [20-21]

2.8.2 Firmas Digitales Una firma digital es generada por el software de correo usando una llave privada a fin de garantizar la autenticidad del correo. El propósito de la firma es doble: Primero, certificar el origen de la información, conocido como “no repudio”. Segundo, asegurar que el contenido no ha sido alterado, lo que se llama “integridad de datos”. El programa de correo ejecuta un proceso que a partir del contenido de mensaje, genera un resumen del mismo, utilizando algún algoritmo criptográfico como message-digest algorithm 5 (algoritmo de reducción criptográfica de 128 bits muy utilizado). Esto es, una trasformación del mensaje utilizando un algoritmo matemático que proporciona los siguientes atributos. El mensaje original no puede ser reproducido a partir del resumen, por ejemplo: MD5("Esto sí es una prueba de MD5") = 02306f485f385f6ed9ab6626052a633d Cada resumen es único.

Implementación de una solución confiable de correo electrónico, para el H. Congreso del Estado de Baja California Sur

Pág. 20

Instituto Tecnológico de la Paz

Después de que el resumen ha sido creado, es cifrado con la llave privada. El resumen cifrado es anexado al mensaje original junto con la llave pública. El receptor abre el mensaje y el resumen es descifrado con la llave pública. El resumen es comparado con el resumen idéntico generado por el programa de correo del receptor. Si concuerdan, es correcto. Si no, el cliente de correo avisa que el mensaje ha sido modificado. [20-21]

2.8.3 Obtención de un certificado Para obtener un certificado digital o un ID digital es necesario contactar una autoridad certificadora como Verisign, Symantec o Thawte. Ambas requieren de una serie de requisitos como identificación oficial a fin de comprobar “que eres quien dices ser” y requiere de un pago a través de una tarjeta de crédito. Respecto a cómo obtener un Certificado de Seguridad es importante conocer aspectos generales de su funcionamiento y los requisitos de Symantec™, como Autoridad de Confianza. Asimismo, obtener un Certificado de Seguridad implica revisar datos sobre la Organización y su dominio web. Además de llevar a cabo un proceso para generar el CSR (Certificate Signing Request) en el servidor que hospedara el Certificado. Para comprender los pasos sobre cómo obtener un Certificado de Seguridad es importante tomar en cuenta cuatro aspectos generales. Primero, cuando un usuario visita su sitio seguro, el servidor web enviará una copia de su Certificado SSL al navegador del usuario. Segundo, la información contenida en el Certificado siempre incluye el nombre del sitio web, como www.empresaconfiable.com y, en algunos casos, incluirá información de la Organización. Esto permite al navegador asegurarse de que la conexión es al sitio web correcto, y no a un sitio impostor o de phishing. Este proceso se denomina autentificación. Entonces, obtener un Certificado de Seguridad lleva a considerar que existen dos tipos de autentificación: completa y de dominio. Y se llevarán a cabo Implementación de una solución confiable de correo electrónico, para el H. Congreso del Estado de Baja California Sur

Pág. 21

Instituto Tecnológico de la Paz

dependiendo del tipo de Certificado que se desee, lo que puede variar desde minutos hasta 15 días hábiles. Asimismo, un Certificado SSL, en función de su tipo, contendrá información acerca de su nombre de dominio, el nombre legal de la Organización y su ubicación geográfica, periodo de validez y Autoridad de Confianza emisora. Antes de su emisión, Symantec™ solicita a la Organización los documentos que comprueben su identidad y su dominio registrado. O lo constata por otros medios, por ejemplo, cuando emite un Certificado con validación de dominio es a través de correo electrónico. Tercero, dentro de las instrucciones sobre cómo obtener un Certificado de Seguridad también debe revisarse que el NIC (Netsol ó en el NIC del país donde se ubica la Organización) y generar el CSR (Certificate Signing Request) con un tamaño de 2048 bits. El CSR también es necesario si se desea adquirir un Certificado SSL de Symantec™ y anteriormente se ha comprado un Certificado de otra Autoridad de Confianza. En este caso existe la posibilidad de utilizar el CSR del Certificado anterior, dependiendo del tipo de servidor en el que esté hospedado el sitio Web. Finalmente, el cuarto aspecto importante es que un Certificado SSL es suficiente para proteger las páginas que se encuentren dentro de un URL. En otras palabras, no es necesario tener un Certificado SSL para cada directorio o subdirectorio que desee asegurar. El trámite de solicitud de los Certificados de Seguridad de Symantec™ puede realizarse en CertSuperior.com dónde un ejecutivo puede adaptar la información sobre cómo obtener un Certificado de Seguridad de acuerdo a las expectativas de cada Organización. [21-22]

Implementación de una solución confiable de correo electrónico, para el H. Congreso del Estado de Baja California Sur

Pág. 22

Instituto Tecnológico de la Paz

2.8.4 Cifrado De acuerdo a los números, el nivel de encriptación ofrecido es irrompible. Aunque seguramente un millón de computadoras trabajando para romperlo podrían eventualmente romperlo de manera exitosa. El número teórico detrás de este tipo de encriptación involucra la descomposición en factores de los productos de un gran conjunto de números primos y el desafío del hecho de que los matemáticos han estudiado los números primos por años, por lo que no hay una manera fácil de hacerlo. La encriptación y la privacidad son más que sólo números. Sin embargo, si alguien tiene acceso a la llave privada, tendrá acceso a todos los archivos encriptados. La encriptación sólo funciona si y sólo si es parte de un esquema grande de seguridad, el cual ofrece protección tanto a tu llave privada como a tu pass-phrase o contraseña de encriptación/desencriptación. [22-23]

2.8.5 Seguridad en las Conexiones Lo último, pero no menos importante, es la seguridad en las conexiones. Para el correo web es necesario utilizar una conexión SSL hacia un servidor de correo. Si se utiliza POP y un cliente de correo, hay que configurar SSL con POP en el puerto 995 y SMTP en el puerto 465. Esto cifra el correo desde el cliente al servidor, además de proteger el nombre de usuario y contraseña POP / SMTP.

[23]

2.9 Postfix Es un agente de transporte de correo (MTA) de software libre / código abierto, un programa informático 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 que el ampliamente utilizado sendmail. Anteriormente conocido como vmailer e IBM secure mailer, fue originalmente escrito por Wietse Venema durante su

Implementación de una solución confiable de correo electrónico, para el H. Congreso del Estado de Baja California Sur

Pág. 23

Instituto Tecnológico de la Paz

estancia en el Thomas J. Watson Research Center de IBM, y continúa siendo desarrollado activamente. Postfix es el agente de transporte por omisión en diversas distribuciones de Linux, FreeBSD y en las últimas versiones del Mac OS X. Postfix es un producto de software excelente siendo sus objetivos/virtudes las siguientes: Diseño modular (no es un único programa monolítico). La seguridad ha sido un condicionante desde el comienzo de su diseño. Lo mismo cabe decir del rendimiento (seguramente sendmail no se diseñó pensando que algún día habría sitios que necesitaran procesar cientos de miles o millones de mensajes al día). Soporte para las tecnologías más usadas hoy día: ldap, Bases de datos (MySQL), autentificación mediante sasl, lmtp, etc. Estricto cumplimiento de los estándares de e-correo. Soporte muy bueno para dominios virtuales. Facilidad de configuración. Compatibilidad hacia/desde fuera con sendmail (.forward, aliases, suplanta mailq, newaliases, /usr/lib/sendmail con versiones equivalentes). Abundante documentación y de calidad. Fácil integración con antivirus. Uso sencillo de listas negras. Soporta de forma nativa el formato de buzones maildir original de qmail. Tiene múltiples formas de obtener información de 'lo que está pasando' para resolver problemas o simplemente para aprender, por ejemplo. Se pueden lanzar varias instancias de postfix en la misma máquina con distintas configuraciones, usando cada una distintas direcciones IP, distintos puertos, etc. Filtrado de cabeceras y cuerpos de mensajes por medio de expresiones regulares. Implementación de una solución confiable de correo electrónico, para el H. Congreso del Estado de Baja California Sur

Pág. 24

Instituto Tecnológico de la Paz

Utilidades para varias cosas, como gestionar las colas de mensajes.

Adicionalmente, es importante mencionar que el código fuente de postfix (por supuesto de dominio público) es un ejemplo de diseño, claridad y documentación, lo cual facilita su mantenimiento (por su autor o, en el futuro, por otros) así como la incorporación de nuevas capacidades, corrección de errores, etc. [24-25]

2.9.1 Diseño modular El sistema postfix está compuesto de varios procesos que se comunican entre sí, aparte de varias utilidades que puede usar el administrador para influir en el sistema u obtener información de él. Este diseño, junto con el archivo master.cf que permite configurarlos, tiene algunas ventajas: Cada proceso corre con los mínimos permisos necesarios para realizar su tarea. Es más sencillo localizar cuál está fallando (suponiendo que eso ocurriera). Se puede activar la emisión de más información de depuración de forma independiente para cada programa. Esto es realmente útil para resolver problemas. Se pueden definir ciertos parámetros para cada uno de ellos, como el número máximo de procesos simultáneos de un tipo, etc. Se pueden activar y desactivar algunos de ellos. Por ejemplo en una máquina dial-up que sólo envía correo, podemos desactivar el proceso servidor smtpd. Se pueden insertar procesos externos entre ciertas partes del sistema, lo cual es muy útil para anti-virus, filtrados, etc. Podemos, por ejemplo, lanzar un servidor smtpd adicional en otro puerto o sobre otra IP, con distintas opciones de configuración de acceso. También podemos correr varias instancias de postfix, con las únicas limitaciones de que ambas no compartan el directorio de colas y que usen distintos valores

Implementación de una solución confiable de correo electrónico, para el H. Congreso del Estado de Baja California Sur

Pág. 25

Instituto Tecnológico de la Paz

para myhostname. Con un poco de imaginación, podemos hacer realmente maravillas con todas estas opciones.

Otro aspecto en el que postfix es modular es en el sistema de colas de mensajes. Se mantienen las siguientes colas: maildrop: donde van los mensajes enviados localmente, mediante la versión de Postfix de /usr/lib/sendmail incoming: donde van los mensajes recibidos por smtp (tras recibir cierto procesamiento) y los que han pasado por la cola maildrop. active: donde van los mensajes que se están intentando enviar en un momento dado. deferred: donde van los mensajes que se han intentado y no se han podido enviar.

Aunque parezca mucha sobrecarga con tantas colas, en realidad postfix las procesa de forma realmente eficiente. Un inconveniente de tanta modularidad es que no tenemos ningún equivalente a sendmail -v pero, activando las opciones de depuración y viendo los archivos de log, no se echa de menos.[24-25]

2.9.2 Seguridad en Postfix Seguridad frente a ataques contra el servidor y también contra el uso inadecuado (spam, relay, etc). En cuanto a seguridad no se detectado aún un problema serio en postfix. Respecto al tema de spam, relay, etc. Postfix soporta directamente el uso de listas negras y es relativamente difícil configurarlo como relay abierto. Si se juega mucho con las opciones de restricciones de acceso, hay que tener cuidado con las que se ponen y en qué orden. Podemos acabar dejando puertas abiertas o por el contrario tener un 'bunker' inutilizable. Afortunadamente Implementación de una solución confiable de correo electrónico, para el H. Congreso del Estado de Baja California Sur

Pág. 26

Instituto Tecnológico de la Paz

este tipo de opciones tiene nombres muy descriptivos y están bien documentadas, por lo que es fácil hacerlo bien. Se puede instalar postfix de forma que corra en modo 'chroot', lo que proporciona aún más seguridad. [24-25]

2.9.3 Rendimiento Postfix es realmente muy bueno. Por ejemplo, cuando se produce algún atasco de correo, tras resolverse los mensajes salen a una velocidad mucho mayor de la que observábamos cuando teníamos sendmail. Utiliza técnicas desarrolladas para los modernos servidores Web y, según la documentación, una computadora puede recibir y entregar un millón de mensajes distintos al día. Un buen rendimiento es importante si además incorporamos en el servidor un antivirus de correo. [24-25]

2.9.4 Configuración La facilidad de configuración de postfix es quizá el factor que más atrae a muchos administradores. Con sendmail mucha gente usa 'recetas' para generar los archivos de configuración pero luego no son capaces de entenderlos, lo cual hace difícil su modificación y la resolución de problemas. Cuando se conoce un poco no sólo es sencillo escribir un archivo de configuración para casi cualquier situación sino que, a la vista de una configuración que se nos presente, es igual de fácil entender el funcionamiento que se pretende con ella. Existen multitud de parámetros que podemos tocar (todos ellos con nombres coherentes con su función, ¿cómo es que nadie había pensado en eso antes?), pero la inmensa mayoría sólo hay que modificarlos en casos excepcionales. De hecho, la práctica habitual cuando se solicita ayuda es aportar simplemente la salida del comando 'postconf -n' que da en unas pocas líneas los parámetros de configuración a los que el administrador ha asignado valores distintos de los que tienen por defecto. Implementación de una solución confiable de correo electrónico, para el H. Congreso del Estado de Baja California Sur

Pág. 27

Instituto Tecnológico de la Paz

La configuración de postfix se realiza mediante dos archivos principales (situados en el directorio /etc/postfix) y varias tablas opcionales que puede crear el administrador. Esos dos archivos son: master.cf: se configuran los procesos que pueden arrancarse y algunos parámetros como el número que puede haber simultáneamente. main.cf: aquí se definen los parámetros relacionados con la función que debe realizar postfix. [24-25]

2.10 Spam El Spam es el correo electrónico no solicitado, normalmente con contenido publicitario que se envía de forma masiva. El término spam tiene su origen en el jamón especiado (SPiced hAM), primer producto de carne enlatada que no necesitaba frigorífico para su conservación. Debido a esto, su uso se generalizó pasando a formar parte del rancho habitual de los ejércitos de Estados Unidos y Rusia durante la Segunda Guerra Mundial. Posteriormente, en 1969, el grupo de actores Monthy Python protagonizó una popular escena en la cual los clientes de una cafetería intentaban elegir de un menú en el que todos los platos contenían...jamón especiado, mientras un coro de vikingos canta a voz en grito "spam, spam, spam, rico spam, maravilloso spam". En resumen, el spam aparecía en todas partes y ahogaba el resto de conversaciones. Haciendo un poco de historia, el primer caso de spam del que se tiene noticia es una carta enviada en 1978 por la empresa Digital Equipment Corporation. Esta compañía envió un anuncio en computadora DEC-20 a todos los usuarios de ArpaNet (precursora de Internet) de la costa occidental de los Estados Unidos. Sin embargo, la palabra spam no se adoptó hasta 1994, cuando en Usenet apareció un anuncio del despacho de los abogados Lawrence Cantera y Martha Siegel. Informaban de su servicio para rellenar formularios de la lotería que da acceso a un permiso para trabajar en Estados Unidos. Este anuncio fue enviado Implementación de una solución confiable de correo electrónico, para el H. Congreso del Estado de Baja California Sur

Pág. 28

Instituto Tecnológico de la Paz

mediante un guión a todos los grupos de discusión que existían por aquel entonces. Algunas de las características más comunes que presentan este tipo de mensajes de correo electrónico son: La dirección que aparece como remitente del mensaje no resulta conocida para el usuario y es habitual que esté falseada. El mensaje no suele tener dirección reply. Presentan un asunto llamativo. El contenido es publicitario: anuncios de sitios web, fórmulas para ganar dinero fácilmente, productos milagro, ofertas inmobiliarias, o simplemente listados de productos en venta en promoción. La mayor parte del spam está escrito en inglés y se origina en Estados Unidos o Asia, pero empieza a ser común el spam en español.

Aunque el método de distribución más habitual es el correo electrónico existen diversas variantes, cada cual con su propio nombre asociado en función de su canal de distribución: Spam: enviado a través del correo electrónico. Spim: específico para aplicaciones de tipo Mensajería Instantánea (MSN Messenger, Yahoo Messenger, etc.) Spit: Spam sobre telefonía IP. La telefonía IP consiste en la utilización de Internet como medio de transmisión para realizar llamadas telefónicas. Spam SMS: Spam destinado a enviarse a dispositivos móviles mediante SMS (Short MessageService).

El spam es un fenómeno que va en aumento día a día y representa un elevado porcentaje del tráfico de correo electrónico total. Además, a medida que surgen nuevas soluciones y tecnologías más efectivas para luchar contra el spam, los spammers (usuarios maliciosos que se dedican profesionalmente a enviar spam) se

Implementación de una solución confiable de correo electrónico, para el H. Congreso del Estado de Baja California Sur

Pág. 29

Instituto Tecnológico de la Paz

vuelven a su vez más sofisticados y modifican sus técnicas con objeto de evitar las contramedidas desplegadas por los usuarios. ¿Cómo funciona? ¿Cómo se distribuye?. Los spammers tratan de conseguir el mayor número posible de direcciones de correo electrónico válidas, es decir, realmente utilizadas por usuarios. Con este objeto, utilizan distintas técnicas, algunas de ellas altamente sofisticadas: Listas de correo: el spammer se da de alta en la lista de correo, y anota las direcciones del resto de miembros. Compra de bases de datos de usuarios a particulares o empresas: aunque este tipo de actividad es ilegal, en la práctica se realiza y hay un mercado subyacente. Uso de robots (programas automáticos): que recorren Internet en busca de direcciones en páginas web, grupos de noticias, weblogs, etc. Técnicas de DHA (Directory Harvest Attack): el spammer genera direcciones de correo electrónico pertenecientes a un dominio específico, y envía mensajes a las mismas. El servidor de correo del dominio responderá con un error a las direcciones que no existan realmente, de modo que el spammer puede averiguar cuáles de las direcciones que ha generado son válidas. Las direcciones pueden componerse mediante un diccionario o mediante fuerza bruta, es decir, probando todas las combinaciones posibles de caracteres. Por lo tanto, todos los usuarios del correo electrónico corremos el riesgo de ser víctimas de estos intentos de ataques. Cualquier dirección pública en Internet (que haya sido utilizada en foros, grupos de noticias o en algún sitio web) será más susceptible de ser víctima del spam. Actualmente hay

empresas

que facturan millones de dólares al

año

recolectando direcciones de correo electrónico, para posteriormente venderlas y de esa manera enviar mensajes de promociones, ofertas y publicidad no solicitada.

Implementación de una solución confiable de correo electrónico, para el H. Congreso del Estado de Baja California Sur

Pág. 30

Instituto Tecnológico de la Paz

Las recomendaciones para evitar el SPAM son las siguientes: No enviar mensajes en cadena, ya que los mismos generalmente son algún tipo de engaño (hoax). Si aun así se deseara enviar mensajes a muchos destinatarios hacerlo siempre con copia oculta (CCC), ya que esto evita que un destinatario vea (robe) el mail de los demás destinatarios. No publicar una dirección privada en sitios webs, foros, conversaciones online, etc. ya que sólo facilita la obtención de las mismas a los spammers. Si se desea navegar o registrarse en sitios de baja confianza, hágalo con cuentas de mails destinada para ese fin. Algunos servicios de webmail disponen de esta funcionalidad: protegemos nuestra dirección de mail mientras podemos publicar otra cuenta y administrar ambas desde el mismo lugar. Para el mismo fin también es recomendable utilizar cuentas de correo temporal y descartable. Nunca responder este tipo de mensajes ya que con esto sólo estamos confirmando nuestra dirección de mail y sólo lograremos recibir más correo basura. Es bueno tener más de una cuenta de correo (al menos 2 o 3): una cuenta laboral que sólo sea utilizada para este fin, una personal y la otra para contacto público o de distribución masiva. Algunos filtros de correo funcionan efectivamente previniendo gran cantidad de SPAM, pero ninguno funciona lo suficientemente bien como para olvidarnos de estos simples consejos que, utilizados correctamente, nos ayudarán a recibir menos correo no deseado. Otra característica negativa de los filtros es que algunos funcionan tan sensiblemente que terminan filtrando correo normal. [25-26]

2.11 Antivirus Los antivirus son una herramienta simple cuyo objetivo es detectar y eliminar virus informáticos. Nacieron durante la década de 1980. Implementación de una solución confiable de correo electrónico, para el H. Congreso del Estado de Baja California Sur

Pág. 31

Instituto Tecnológico de la Paz

Con el transcurso del tiempo, la aparición de sistemas operativos más avanzados e Internet ha hecho que los antivirus hayan evolucionado hacia programas más avanzados que no sólo buscan detectar virus informáticos, sino bloquearlos, desinfectarlos y prevenir una infección de los mismos y actualmente ya son capaces de reconocer otros tipos de malware como: spyware, rootkits, etc. [27]

2.11.1 Funcionamiento El

funcionamiento

de

un

antivirus

varía

de

uno

a

otro,

aunque

su

comportamiento normal se basa en contar con una lista de virus conocidos y su formas de reconocerlos (las llamadas firmas o vacunas) y analizar contra esa lista los archivos almacenados o transmitidos desde y hacia a computadora. Adicionalmente, muchos de los antivirus actuales han incorporado funciones de detección proactiva que no se basan en una lista de malware conocido, sino que analizan el comportamiento de los archivos o comunicaciones para detectar cuáles son potencialmente dañinas para la computadora, con técnicas como heurística, HIPS, etc. Usualmente, un antivirus tiene uno o varios componentes residentes en memoria que se encargan de analizar y verificar todos los archivos abiertos, creados, modificados, ejecutados y transmitidos en tiempo real, es decir, mientras el ordenador está en uso. Actualmente hay una gran variedad de antivirus, pero no todos se asemejan al pretendido por todos: un antivirus eficaz en todos los sentidos. En los productos antivirus se conoce como heurística a las técnicas que emplean para reconocer códigos maliciosos (virus, gusanos, troyanos, etc.) que no se encuentren en su base de datos (ya sea porque son nuevos, o por no ser muy divulgados). El término heurístico implica funcionalidades como detección a través de firmas genéricas, reconocimiento del código compilado, desensamblado, desempaquetamiento, entre otros. Su importancia radica en el hecho de ser la Implementación de una solución confiable de correo electrónico, para el H. Congreso del Estado de Baja California Sur

Pág. 32

Instituto Tecnológico de la Paz

única defensa automática posible frente a la aparición de nuevos códigos maliciosos de los que no se posea firmas. [27]

2.12 Técnicas heurísticas 2.12.1 Firmas genéricas Hay muchos códigos maliciosos que son modificados por sus autores para crear nuevas versiones. Usualmente, estas variantes contienen similitudes con los originales, por lo que se catalogan como una familia de virus. Gracias a las similitudes dentro del código del virus, los antivirus pueden llegar a reconocer a todos los miembros de la misma familia a través de una única firma o vacuna genérica. Esto permite que al momento de aparecer una nueva versión de un virus ya conocido, aquellos antivirus que implementan esta técnica puedan detectarlo sin la necesidad de una actualización. Las implementaciones de heurística de algunos antivirus utilizan técnicas para reconocer instrucciones comúnmente aplicadas por los códigos maliciosos y así poder identificar si un archivo ejecutable puede llegar a ser un código malicioso. [16]

2.12.2 Desensamblado Todo archivo ejecutable puede ser desensamblado con el objetivo de obtener el código fuente del programa en lenguaje ensamblador. La heurística de algunos antivirus es capaz de analizar el código fuente de los programas sospechosos. De esta forma puede reconocer un posible código malicioso si encuentra técnicas de desarrollo que suelen usarse para programar virus, sin la necesidad de una actualización. [16]

Implementación de una solución confiable de correo electrónico, para el H. Congreso del Estado de Baja California Sur

Pág. 33

Instituto Tecnológico de la Paz

2.12.3 Desempaquetamiento Los programadores de códigos maliciosos suelen usar empaquetadores de archivos ejecutables, como UPX, con el fin de modificar la "apariencia" del virus a los ojos del análisis antivirus. Para evitar ser engañados por un código malicioso antiguo y luego rempaquetado, los antivirus incluyen en sus técnicas heurísticas métodos de desempaquetamiento. De esta forma pueden analizar el código real del programa, y no el empaquetado. [16]

2.12.4 Evaluaciones retrospectivas La heurística es un aspecto muy difícil de probar en los antivirus, dado que se requiere realizar las denominadas evaluaciones retrospectivas. [23-24] Para poder analizar correctamente el funcionamiento de las capacidades heurísticas o proactivas de un antivirus, lo que se hace es detener la actualización de firmas del producto durante un período X. En ese lapso, se acumulan muestras de códigos maliciosos nuevos, para que una vez recolectada una cantidad suficiente, se analice si los antivirus las reconocen o no. Al no haber sido actualizados para detectar esas muestras, el antivirus solo podrá reconocer si están infectadas o no a través de sus capacidades heurísticas. Gracias a estas evaluaciones se puede conocer en detalle el rendimiento de los productos antivirus frente a virus nuevos o desconocidos. Asimismo, cuentan con un componente de análisis bajo demanda (los conocidos scanners, exploradores, etc.) y módulos de protección de correo electrónico, Internet, etc.

[16]

2.12.5 Daños y perjuicios Dado que una característica de los virus es el consumo de recursos, los virus ocasionan problemas tales como pérdida de productividad, baja en el rendimiento del equipo, cortes en los sistemas de información o daños a nivel de datos. Otra de

Implementación de una solución confiable de correo electrónico, para el H. Congreso del Estado de Baja California Sur

Pág. 34

Instituto Tecnológico de la Paz

las características es la posibilidad que tienen de ir replicándose en otras partes del sistema de información. Las redes, en la actualidad, ayudan a dicha propagación. Los daños que los virus causan a los sistemas informáticos son: Pérdida de información (evaluable y actuable según el caso). Horas de contención (técnicos de SI, horas de paradas productivas, pérdida productiva, tiempos de contención o reinstalación, cuantificables según el caso y horas de asesoría externa). Pérdida de imagen (valor no cuantificable). Hay que tener en cuenta que cada virus es una situación nueva, por lo que es difícil cuantificar en una primera valoración lo que puede costar una intervención. [16]

2.12.6 Métodos de contagio Existen dos grandes grupos de propagación: los virus en cuya instalación el usuario en un momento dado, ejecuta o acepta de forma inadvertida; o los gusanos, con los que el programa malicioso actúa replicándose a través de las redes. En cualquiera de los dos casos, el sistema operativo infectado comienza a sufrir una serie de comportamientos anómalos o no previstos. Dentro de las contaminaciones más frecuentes por interacción del usuario están las siguientes: Mensajes distribuidos por

correo electrónico que ejecutan automáticamente

programas (que se abren directamente de un archivo adjunto). Ingeniería social, mensajes como: «Ejecute este programa y gane un premio». [16]

2.12.7 Seguridad y métodos de protección Existen numerosos medios para combatir el problema. Sin embargo, a medida que nuevos programas y sistemas operativos se introducen en el mercado, es más

Implementación de una solución confiable de correo electrónico, para el H. Congreso del Estado de Baja California Sur

Pág. 35

Instituto Tecnológico de la Paz

difícil tener controlados a todos y va a ser más sencillo que a alguien se le ocurran nuevas formas de infectar sistemas. Ante este tipo de problemas están los programas llamados antivirus. Estos antivirus tratan de descubrir las huellas que ha dejado un software malicioso para detectarlo o eliminarlo y, en algunos casos, contener o parar la contaminación (cuarentena). Los métodos para contener o reducir los riesgos asociados a los virus pueden ser los denominados activos o pasivos. [16]

2.12.8 Antivirus activo Estos programas, como se ha mencionado, tratan de encontrar el rastro de los programas maliciosos mientras el sistema esté funcionando. Tratan de tener controlado el sistema mientras funciona parando las vías conocidas de infección y notificando al usuario de posibles incidencias de seguridad. Como programa que esté continuamente funcionando, el antivirus tiene un efecto adverso sobre el sistema en funcionamiento. Una parte importante de los recursos se destinan al funcionamiento del mismo. Además, dado que están continuamente comprobando la memoria de la máquina, dar más memoria al sistema no mejora las prestaciones del mismo. Otro efecto adverso son los falsos positivos; es decir, notificar al usuario de posibles incidencias en la seguridad. De esta manera, el antivirus funcionando da una sensación de falsa seguridad. [28-32]

2.12.9 Tipos de vacunas CA: Sólo detección: Son vacunas que sólo detectan archivos infectados; sin embargo no pueden eliminarlos o desinfectarlos. CA: Detección y desinfección: Son vacunas que detectan archivos infectados y que pueden desinfectarlos. CA: Detección y aborto de la acción: Son vacunas que detectan archivos infectados y detienen las acciones que causa el virus Implementación de una solución confiable de correo electrónico, para el H. Congreso del Estado de Baja California Sur

Pág. 36

Instituto Tecnológico de la Paz

CB: Comparación por firmas: Son vacunas que comparan las firmas de archivos sospechosos para saber si están infectados. CB: Comparación de signature de archivo: Son vacunas que comparan las signaturas de los atributos guardados en el equipo. CB: Por métodos heurísticos: Son vacunas que usan métodos heurísticos para comparar archivos. CC: Invocado por el usuario: Son vacunas que se activan instantáneamente con el usuario. CC: Invocado por la actividad del sistema: Son vacunas que se activan instantáneamente por la actividad del sistema windows xp/vista. [28-32]

2.12.10 Filtros de archivos (activo) Otra aproximación es la de generar filtros dentro de la red que proporcionen un filtrado más selectivo. Desde el sistema de correos, hasta el empleo de técnicas de firewall, proporcionan un método activo y eficaz de eliminar estos contenidos. En general este sistema proporciona una seguridad donde el usuario no requiere de intervención, puede ser más tajante, y permitir emplear únicamente recursos de forma más selectiva. [28-32]

2.12.11 Copias de seguridad (pasivo) Mantener una política de copias de seguridad garantiza la recuperación de los datos y la respuesta cuando nada de lo anterior ha funcionado. Así mismo las empresas deberían disponer de un plan y detalle de todo el software instalado para tener un plan de contingencia en caso de problemas. [28-32]

Implementación de una solución confiable de correo electrónico, para el H. Congreso del Estado de Baja California Sur

Pág. 37

Instituto Tecnológico de la Paz

2.12.12 Planificación La planificación consiste en tener preparado un plan de contingencia en caso de que una emergencia de virus se produzca, así como disponer al personal con la formación adecuada para reducir al máximo las acciones que puedan presentar cualquier tipo de riesgo. Cada antivirus puede planear la defensa de una manera, es decir, un antivirus puede hacer un escaneado completo, rápido o de vulnerabilidad según elija el usuario. [28-32]

2.12.13 Consideraciones de software El software es otro de los elementos clave en la parte de planificación. Se debería tener en cuenta la siguiente lista de comprobaciones: 1.

Tener el software imprescindible para el funcionamiento de la actividad, nunca menos pero tampoco más. Tener controlado al personal en cuanto a la instalación de software es una medida que va implícita. Así mismo tener controlado el software asegura la calidad de la procedencia del mismo (no debería permitirse software pirata o sin garantías). En todo caso, un inventario de software proporciona un método correcto de asegurar la reinstalación en caso de desastre.

2.

Disponer del software de seguridad adecuado. Cada actividad, forma de trabajo y métodos de conexión a Internet requieren una medida diferente de aproximación al problema. En general, las soluciones domésticas, donde únicamente hay un equipo expuesto, no son las mismas que las soluciones empresariales.

3.

Métodos de instalación rápidos. Para permitir la reinstalación rápida en caso de contingencia.

4.

Asegurar licencias. Determinado software impone métodos de instalación de una vez, que dificultan la reinstalación rápida de la red. Dichos programas no siempre

Implementación de una solución confiable de correo electrónico, para el H. Congreso del Estado de Baja California Sur

Pág. 38

Instituto Tecnológico de la Paz

tienen alternativas, pero ha de buscarse con el fabricante métodos rápidos de instalación. 5.

Buscar alternativas más seguras. Existe software que es famoso por la cantidad de agujeros de seguridad que introduce. Es imprescindible conocer si se puede encontrar una alternativa que proporcione iguales funcionalidades, pero permitiendo una seguridad extra. [28-32]

2.12.14 Consideraciones de la red Disponer de una visión clara del funcionamiento de la red. Permite poner puntos de verificación filtrada y detección ahí donde la incidencia es más claramente identificable. Sin perder de vista otros puntos de acción, es conveniente: 1.

Mantener al máximo el número de recursos de red en modo de sólo lectura. De esta forma se impide que computadoras infectadas los propaguen.

2.

Centralizar los datos. De forma que los detectores de virus en modo batch puedan trabajar durante la noche.

3.

Realizar filtrados de firewall de red. Eliminar los programas que comparten datos, como pueden ser los P2P. Mantener esta política de forma rigurosa y con el consentimiento de la gerencia.

4.

Reducir los permisos de los usuarios al mínimo, de modo que sólo permitan el trabajo diario.

5.

Controlar y monitorizar el acceso a Internet. Para poder detectar en fases de recuperación cómo se ha introducido el virus y así determinar los pasos a seguir. [28-32]

2.12.15 Firewalls Filtrar contenidos y puntos de acceso. Eliminar programas que no estén relacionados con la actividad. Tener monitorizados los accesos de los usuarios a la Implementación de una solución confiable de correo electrónico, para el H. Congreso del Estado de Baja California Sur

Pág. 39

Instituto Tecnológico de la Paz

red permite reducir la instalación de software que no es necesario o que puede generar riesgo para la continuidad del negocio. Su significado es barrera de fuego y no permite que otra persona no autorizada tenga acceso a otro equipo que no le pertenece. [28-32]

2.12.16 Reemplazo de software Los puntos de entrada en la red son generalmente el correo, las páginas WEB, y la entrada de archivos desde discos, o de PCs que no están en la empresa (portátiles...). Muchas de estas computadoras emplean programas que pueden ser remplazados por alternativas más seguras. Es conveniente llevar un seguimiento de cómo distribuyen bancos y externos el software, valorar su utilidad e instalarlo si son realmente imprescindibles. [28-32]

2.12.17 Centralización y backup La centralización de recursos y garantizar el backup de los datos es otra de las pautas fundamentales en la política de seguridad recomendada. La generación de inventarios de software, centralización del mismo y la capacidad de generar instalaciones rápidas proporcionan métodos adicionales de seguridad. Es importante conocer dónde tenemos ubicada la información en la empresa. De esta forma podemos realizar las copias de seguridad de forma adecuada. Control o separación de la informática móvil, dado que esta está más expuesta a las contingencias de virus. [28-32]

2.12.18 Empleo de sistemas operativos más seguros Para servir archivos no es conveniente disponer de los mismos sistemas operativos que se emplean dentro de las estaciones de trabajo, ya que toda la red en este caso está expuesta a los mismos retos. Una forma de prevenir problemas es disponer Implementación de una solución confiable de correo electrónico, para el H. Congreso del Estado de Baja California Sur

Pág. 40

Instituto Tecnológico de la Paz

de sistemas operativos con arquitecturas diferentes, que permitan garantizar la continuidad de negocio. [28-32]

2.12.19 Sistemas operativos más atacados Las plataformas más atacadas por virus informáticos son la línea de sistemas operativos Windows de Microsoft. Respecto a los sistemas derivados de Unix como GNU/Linux, BSD, Solaris, MacOS, éstos han corrido con mejor suerte debido en parte, al sistema de permisos. No obstante en las plataformas derivadas de Unix han existido intentos de ataques de virus, sin embargo, no han logrado el grado de daño que causa un virus en plataformas Windows. [28-32]

2.13 Servidor WEB Un servidor web es un programa que está diseñado para transferir hipertextos, páginas web o páginas HTML (HyperText Markup Language): textos complejos con enlaces, figuras, formularios, botones y objetos incrustados como animaciones o reproductores de música. El programa implementa el protocolo HTTP (HyperText Transfer Protocol) que pertenece a la capa de aplicación del modelo OSI. El término también se emplea para referirse a la computadora que ejecuta el programa. [33-37]

2.13.1 Funcionamiento El Servidor web se ejecuta en una computadora manteniéndose a la espera de peticiones por parte de un cliente (un navegador web) y que responde a estas peticiones adecuadamente, mediante una página web que se exhibirá en el navegador o mostrando el respectivo mensaje si se detectó algún error. A modo de ejemplo, al teclear www.itlp.edu.mx en nuestro navegador, éste realiza una petición HTTP al servidor de dicha dirección. El servidor responde al cliente enviando el código HTML de la página; el cliente, una vez recibido el código, lo interpreta y lo Implementación de una solución confiable de correo electrónico, para el H. Congreso del Estado de Baja California Sur

Pág. 41

Instituto Tecnológico de la Paz

exhibe en pantalla. Como vemos con este ejemplo, el cliente es el encargado de interpretar el código HTML, es decir, de mostrar las fuentes, los colores y la disposición de los textos y objetos de la página; el servidor tan sólo se limita a transferir el código de la página sin llevar a cabo ninguna interpretación de la misma. Además de la transferencia de código HTML, los Servidores web pueden entregar aplicaciones web. Éstas son porciones de código que se ejecutan cuando se realizan ciertas peticiones o respuestas HTTP. Hay que distinguir entre: Aplicaciones en el lado del cliente: el cliente web es el encargado de ejecutarlas en la máquina del usuario. Son las aplicaciones tipo Java "applets" o Javascript: el servidor proporciona el código de las aplicaciones al cliente y éste, mediante el navegador, las ejecuta. Es necesario, por tanto, que el cliente disponga de un navegador con capacidad para ejecutar aplicaciones (también llamadas scripts). Comúnmente, los navegadores permiten ejecutar aplicaciones escritas en lenguaje javascript y java, aunque pueden añadirse más lenguajes mediante el uso de plugins. Aplicaciones en el lado del servidor: el servidor web ejecuta la aplicación; ésta, una vez ejecutada, genera cierto código HTML; el servidor toma este código recién creado y lo envía al cliente por medio del protocolo HTTP. Las aplicaciones de servidor muchas veces suelen ser la mejor opción para realizar aplicaciones web. La razón es que, al ejecutarse ésta en el servidor y no en la máquina del cliente, éste no necesita ninguna capacidad añadida, como ocurre en el caso de querer ejecutar aplicaciones javascript o java. Así pues, cualquier cliente dotado de un navegador web básico puede utilizar este tipo de aplicaciones. El hecho de que HTTP y HTML estén íntimamente ligados no debe dar lugar a confundir ambos términos. HTML es un lenguaje de marcas y HTTP es un protocolo. [33-37]

Implementación de una solución confiable de correo electrónico, para el H. Congreso del Estado de Baja California Sur

Pág. 42

Instituto Tecnológico de la Paz

2.13.2 Servidor HTTP Apache El servidor HTTP Apache es un servidor web HTTP de código abierto, para plataformas Unix (BSD, GNU/Linux, etc.), Microsoft Windows, Macintosh y otras, que implementa el protocolo HTTP/1.12 y la noción de sitio virtual. Cuando comenzó su desarrollo en 1995 se basó inicialmente en código del popular NCSA HTTPd 1.3, pero más tarde fue rescrito por completo. Su nombre se debe a que Behelendorf quería que tuviese la connotación de algo que es firme y enérgico pero no agresivo, y la tribu Apache fue la última en rendirse al que pronto se convertiría en gobierno de EEUU. En esos momentos la preocupación de su grupo era que llegasen las empresas y "civilizasen" el paisaje que habían creado los primeros ingenieros de internet. Además, Apache consistía solamente en un conjunto de parches a aplicar al servidor de NCSA. En inglés, a patch server (un servidor "parchado") suena igual que Apache Server. El servidor Apache se desarrolla dentro del proyecto HTTP Server (httpd) de la Apache Software Foundation. Apache presenta entre otras características altamente configurables, bases de datos de autenticación y negociado de contenido, pero fue criticado por la falta de una interfaz gráfica que ayude en su configuración. Apache tiene amplia aceptación en la red: desde 1996, Apache, es el servidor HTTP más usado. Alcanzó su máxima cuota de mercado en 2005 siendo el servidor empleado en el 70% de los sitios web en el mundo. Sin embargo, ha sufrido un descenso en su cuota de mercado en los últimos años. (Estadísticas históricas y de uso diario proporcionadas por Netcraft3). La mayoría de las vulnerabilidades de la seguridad descubiertas y resueltas sólo pueden ser aprovechadas por usuarios locales y no remotamente. Sin embargo, algunas se pueden accionar remotamente en ciertas situaciones o explotar por los usuarios locales malévolos en las disposiciones de recibimiento compartidas que utilizan PHP como módulo de Apache. [28,38]

Implementación de una solución confiable de correo electrónico, para el H. Congreso del Estado de Baja California Sur

Pág. 43

Instituto Tecnológico de la Paz

2.13.3 HTTPS Hypertext

Transfer

Protocol

Secure

(en

español:

Protocolo

seguro

de

transferencia de hipertexto), más conocido por sus siglas HTTPS, es un protocolo de red basado en el protocolo HTTP, destinado a la transferencia segura de datos de hipertexto, es decir, es la versión segura de HTTP. Es utilizado principalmente por entidades bancarias, tiendas en línea, y cualquier tipo de servicio que requiera el envío de datos personales o contraseñas. La idea principal de https es la de crear un canal seguro sobre una red insegura. Esto proporciona una protección razonable contra ataques eavesdropping y manin-the-middle, siempre que se empleen métodos de cifrado adecuados y que el certificado del servidor sea verificado y resulte de confianza. La confianza inherente en HTTPS está basada en una autoridad de certificación superior que viene preinstalada en el software del navegador (Es el equivalente a decir "Confío en la autoridad de certificación (p.e. VeriSign/Microsoft, Comodo etc.) para decirme en quien debería confiar"). Sin embargo una conexión HTTPS a un website puede ser validada si y solo si todo lo siguiente es verdad: 1.

El usuario confía en la autoridad de certificación para dar fe solo para websites legítimos sin nombres engañosos.

2.

El website proporciona un certificado válido (y un certificado inválido muestra una alerta en la mayoría de los navegadores), lo que significa que está firmado por una autoridad confiable.

3.

El certificado identifica correctamente al website (p.e. visitando https://algunsitio y recibiendo un certificado para "AlgunSitio S.A." y no AlgunZitio S.A.").

4.

Cada uno de los nodos involucrados en Internet son dignos de confianza, o que el usuario confíe en que la capa de cifrado del protocolo (TLS o SSL) es inquebrantable por un eavesdropper. [38]

Implementación de una solución confiable de correo electrónico, para el H. Congreso del Estado de Baja California Sur

Pág. 44

Instituto Tecnológico de la Paz

2.14 RSA En criptografía RSA (Rivest, Shamir y Adleman) es un sistema criptográfico de clave pública desarrollado en 1977. Es el primer y más utilizado algoritmo de este tipo y es válido tanto para cifrar como para firmar digitalmente. La seguridad de este algoritmo radica en el problema de la factorización de números enteros. Los mensajes enviados se representan mediante números, y el funcionamiento se basa en el producto, conocido, de dos números primos grandes elegidos al azar y mantenidos en secreto. Actualmente estos primos son del orden de 10200, y se prevé que su tamaño aumente con el aumento de la capacidad de cálculo de las computadoras. Como en todo sistema de clave pública, cada usuario posee dos claves de cifrado: una pública y otra privada. Cuando se quiere enviar un mensaje, el emisor busca la clave pública del receptor, cifra su mensaje con esa clave, y una vez que el mensaje cifrado llega al receptor, este se ocupa de descifrarlo usando su clave privada. [39]

2.15 Integración con el Navegador Cabe mencionar que el uso del protocolo HTTPS no impide que se pueda utilizar HTTP. Es aquí cuando nuestro navegador nos advertirá sobre la carga de elementos no seguros (HTTP), estando conectados a un entorno seguro (HTTPS). Los protocolos HTTPS son utilizados por navegadores como: Safari, Internet Explorer, Mozilla Firefox, Opera y Google Chrome, entre otros. Algunos navegadores utilizan un icono (generalmente un candado) en la parte derecha de la barra de direcciones para indicar la existencia de un protocolo de comunicaciones seguro e incluso cambian el color del fondo de la barra de

Implementación de una solución confiable de correo electrónico, para el H. Congreso del Estado de Baja California Sur

Pág. 45

Instituto Tecnológico de la Paz

direcciones por azul (Firefox) o verde (Internet Explorer) para identificar páginas web seguras. Cuando se conecta a un sitio con un certificado inválido, los navegadores antiguos podrían presentar al usuario una caja de diálogo preguntando si desean continuar. Los navegadores más modernos muestran una alerta a lo largo de toda la ventana. Y también muestran mucha más información de seguridad sobre el sitio en la barra de direcciones. Los certificados de validación extendida vuelven la barra de direcciones verde en navegadores modernos. La mayoría de los navegadores también despliegan una alerta cuando el usuario visita un sitio que contiene una mezcla de contenidos cifrados y sin cifrar. Para conocer si una página web que estamos visitando utiliza el protocolo https y es, por tanto, segura en cuanto a la trasmisión de los datos que estamos transcribiendo, debemos observar si en la barra de direcciones de nuestro navegador aparece https al comienzo, en lugar de http. [40]

2.15.1 Características técnicas El sistema HTTPS utiliza un cifrado basado en SSL/TLS para crear un canal cifrado (cuyo nivel de cifrado depende del servidor remoto y del navegador utilizado por el cliente) más apropiado para el tráfico de información sensible que el protocolo HTTP. De este modo se consigue que la información sensible (usuario y claves de paso normalmente) no pueda ser usada por un atacante que haya conseguido interceptar la transferencia de datos de la conexión, ya que lo único que obtendrá será un flujo de datos cifrados que le resultará imposible de descifrar. El puerto estándar para este protocolo es el 443. [20,40]

Implementación de una solución confiable de correo electrónico, para el H. Congreso del Estado de Baja California Sur

Pág. 46

Instituto Tecnológico de la Paz

2.15.2 Diferencias con HTTP En el protocolo HTTP las URLs comienzan con "http://" y utilizan por defecto el puerto 80, Las URLs de HTTPS comienzan con "https://" y utilizan el puerto 443 por defecto. HTTP es inseguro y está sujeto a ataques man-in-the-middle y eavesdropping que pueden permitir al atacante obtener acceso a cuentas de un sitio web e información confidencial. HTTPS está diseñado para resistir esos ataques y ser seguro. [20,40]

2.16 Capas de Red HTTP opera en la capa más alta del modelo OSI, la capa de aplicación; pero el protocolo de seguridad opera en una subcapa más baja, cifrando un mensaje HTTP previo a la transmisión y descifrando un mensaje una vez recibido. Estrictamente hablando, HTTPS no es un protocolo separado, pero refiere el uso del HTTP ordinario sobre una capa de conexión segura cifrada Secure Sockets Layer (SSL) o una conexión con seguridad de la capa de transporte (TLS). [20,40]

2.17 SASL (Simple Authentication and Security Layer) Capa de seguridad y autenticación simple, es un sistema para autenticación y autorización en protocolos de Internet. Separa los mecanismos de autenticación de los protocolos de la aplicación permitiendo, en teoría, a cualquier protocolo de aplicación que use SASL usar cualquier mecanismo de autenticación soportado. SASL sólo maneja la autenticación y se requieren otros mecanismos, como por ejemplo TLS (transport security layer) -- para cifrar el contenido que se transfiere), SASL proporciona medios para un uso negociado del mecanismo elegido. Las especificaciones originales de SASL fueron editadas por John Meyers en el RFC 2222. Este fue hecho obsoleto por el RFC 4422, editado por Alexey Melnikov y Kurt Zeilenga.

Implementación de una solución confiable de correo electrónico, para el H. Congreso del Estado de Baja California Sur

Pág. 47

Instituto Tecnológico de la Paz

Un mecanismo SASL se modela como una sucesión de retos y respuestas. Los mecanismos definidos por SASL incluyen: "EXTERNAL": Aquí la autenticación está implícita en el contexto (p.ej. para protocolos que ya usan IPsec o TLS). "ANONYMOUS": Para el acceso de invitados sin autentificar. "PLAIN": Un mecanismo de contraseña simple en texto plano. "OTP": Para el sistema que evolucionó de S/KEY y que está definido en RFC 2289. [41]

2.18 Configuración del Servidor Para preparar un servidor web que acepte conexiones HTTPS, el administrador debe crear un certificado de clave pública para el servidor web. Este certificado debe estar firmado por una autoridad de certificación para que el navegador web lo acepte. La autoridad certifica que el titular del certificado es quien dice ser. Los navegadores web generalmente son distribuidos con los certificados firmados por la mayoría de las autoridades de certificación, por lo que estos pueden verificar certificados firmados por ellos. [38]

2.18.1 Adquiriendo certificados Adquirir certificados puede ser gratuito (generalmente sólo si se paga por otros servicios), o costar entre US$13 y US$1,500 por año. Las organizaciones pueden también ser su propia autoridad de certificación, particularmente si son responsables de establecer acceso a navegadores de sus propios sitios (por ejemplo, sitios en una compañía intranet, o universidades mayores). Estas pueden fácilmente agregar copias de su propio certificado firmado a los certificados

de

confianza

distribuidos

con

el

navegador.

También

existen

autoridades de certificación peer-to-peer. [20,21] Implementación de una solución confiable de correo electrónico, para el H. Congreso del Estado de Baja California Sur

Pág. 48

Instituto Tecnológico de la Paz

2.18.2 Usar un Control de Acceso El sistema puede también ser usado para la autenticación de clientes con el objetivo de limitar el acceso a un servidor web a usuarios autorizados. Para hacer esto, el administrador del sitio típicamente crea un certificado para cada usuario, un certificado que es guardado dentro de su navegador. Normalmente, este contiene el nombre y la dirección de correo del usuario autorizado y es revisado automáticamente en cada reconexión para verificar la identidad del usuario, sin que cada vez tenga que ingresar una contraseña. [20,21]

2.18.3 En caso de claves privadas comprometidas Un certificado puede ser revocado si este ya ha expirado, por ejemplo cuando el secreto de la llave privada ha sido comprometido. Los navegadores más nuevos como son Firefox, Opera, e Internet Explorer sobre

plataformas

Windows

implementan el protocolo de estado de certificado online (OCSP) para verificar que ese no sea el caso. El navegador envía el número de serie del certificado a la autoridad de certificación o es delegado vía OCSP y la autoridad responde, diciéndole al navegador si debe o no considerar el certificado como válido.

[20,21]

2.18.4 Limitaciones El nivel de protección depende de la exactitud de la implementación del navegador web, el software del servidor y los algoritmos de cifrado actualmente soportados. También, HTTPS es vulnerable cuando se aplica a contenido estático de publicación disponible. El sitio entero puede ser indexado usando una araña web, y la URL del recurso cifrado puede ser adivinada conociendo solamente el tamaño de la petición/respuesta. Esto permite a un atacante tener acceso al Texto plano (contenido estático de publicación) y al texto cifrado (La versión cifrada del contenido estático) permitiendo un ataque criptográfico.

Implementación de una solución confiable de correo electrónico, para el H. Congreso del Estado de Baja California Sur

Pág. 49

Instituto Tecnológico de la Paz

Debido a que SSL opera bajo HTTP y no tiene conocimiento de protocolos de nivel más alto, los servidores SSL sólo pueden presentar estrictamente un certificado para una combinación de puerto/IP en particular. Esto quiere decir que, en la mayoría de los casos, no es recomendable usar Hosting virtual name-based con HTTPS. Existe una solución llamada Server Name Indication (SNI) que envía el hostname al servidor antes de que la conexión sea cifrada. Sin embargo, muchos navegadores antiguos no soportan esta extensión. El soporte para SNI está disponible desde Firefox 2, Opera 8, e Internet Explorer 7 sobre plataformas Windows. [20,21]

2.19 Correo web (webmail) El servicio de correo web (webmail) permite manipular correos mediante un sitio web diseñado para ello y, por tanto, usando sólo un navegador web. El correo web es cómodo para mucha gente, porque permite ver y almacenar los mensajes desde cualquier sitio de Internet (en un servidor remoto, accesible por el sitio web a través de protocolo IMAP internet message access protocol) en vez de en una computadora personal. Algunos webmail libres son: SquirrelMail, Alt-N Technologies, RoundCube, Horde, Openwebmail y otros propietarios como WebMail. Como desventaja, es difícil de ampliar con otras funcionalidades, porque el sitio ofrece un conjunto de servicios concretos y no podemos cambiarlos. Además, suele ser más lento que un programa de correo, ya que hay que estar continuamente conectado a páginas web y leer los correos de uno en uno. [42,43]

2.20 Imap Internet message access protocol, o su acrónimo IMAP, es un protocolo de red de acceso a mensajes electrónicos almacenados en un servidor. Mediante IMAP se puede tener acceso al correo electrónico desde cualquier equipo que tenga una conexión a Internet. IMAP tiene varias ventajas sobre POP3, que es el otro protocolo Implementación de una solución confiable de correo electrónico, para el H. Congreso del Estado de Baja California Sur

Pág. 50

Instituto Tecnológico de la Paz

empleado para obtener correo desde un servidor. Por ejemplo, es posible especificar en IMAP carpetas del lado servidor. Por otro lado, es más complejo que POP ya que permite visualizar los mensajes de manera remota y no descargando los mensajes como lo hace POP. IMAP y POP3 (post office protocol versión 3) son los dos protocolos que prevalecen en la obtención de correo electrónico. Todos los servidores y clientes de email están virtualmente soportados por ambos, aunque en algunos casos hay algunas interfaces específicas del fabricante típicamente propietarias. Por ejemplo, los protocolos propietarios utilizados entre el cliente Microsoft outlook y su servidor Microsoft exchange server o el cliente Lotus notes de IBM y el servidor domino. Sin embargo, estos productos también soportan interoperabilidad con IMAP y POP3 con otros clientes y servidores. La versión actual de IMAP versión 4 revisión 1 (IMAP4rev1), está definida por el RFC 3501. IMAP fue diseñado como una moderna alternativa a POP por Mark Crispin en el año 1986. Fundamentalmente, los dos protocolos les permiten a los clientes de correo acceder a los mensajes almacenados en un servidor de correo. Ya sea empleando POP3 o IMAP4 para obtener los mensajes, los clientes utilizan SMTP para enviar mensajes. Los clientes de correo electrónico son comúnmente denominados clientes POP o IMAP, pero en ambos casos se utiliza SMTP. IMAP es utilizado frecuentemente en redes grandes; por ejemplo los sistemas de correo de un campus. IMAP les permite a los usuarios acceder a los nuevos mensajes instantáneamente en sus computadoras, ya que el correo está almacenado en la red. Con POP3 los usuarios tendrían que descargar el email a sus computadoras o accederlo vía web. Ambos métodos toman más tiempo de lo que le tomaría a IMAP y se tiene que descargar el email nuevo o refrescar la página para ver los nuevos mensajes. De manera contraria a otros protocolos de Internet, IMAP4 permite mecanismos nativos de cifrado. También está disponible la transmisión de contraseñas en texto plano. Implementación de una solución confiable de correo electrónico, para el H. Congreso del Estado de Baja California Sur

Pág. 51

Instituto Tecnológico de la Paz

Características importantes IMAP: Respaldo para los modos de operación en línea y fuera de línea. Al utilizar POP3, los clientes se conectan brevemente al servidor de correo, solamente el tiempo que les tome descargar los nuevos mensajes. Al utilizar IMAP, los clientes permanecen conectados el tiempo que su interfaz permanezca activa y descargan los mensajes bajo demanda. Esta manera de trabajar de IMAP puede dar tiempos de respuesta más rápidos para usuarios que tienen una gran cantidad de mensajes o mensajes grandes. Respaldo para la conexión de múltiples clientes simultáneos a un mismo destinatario. El protocolo POP3 supone que el cliente conectado es el único dueño de una cuenta de correo. En contraste, el protocolo IMAP4 permite accesos simultáneos a múltiples clientes y proporciona ciertos mecanismos a los clientes para que se detecten los cambios hechos a un mailbox por otro cliente concurrentemente conectado. Respaldo para acceso a partes MIME de los mensajes y obtención parcial. Casi todo el correo electrónico de Internet es transmitido en formato MIME. El protocolo IMAP4 les permite a los clientes obtener separadamente cualquier parte MIME individual, así como obtener porciones de las partes individuales o los mensajes completos. Es más seguro. Respaldo para que la información de estado del mensaje se mantenga en el servidor. A través de la utilización de señales definidas en el protocolo IMAP4 de los clientes, se puede vigilar el estado del mensaje, por ejemplo, si el mensaje ha sido o no leído, respondido o eliminado. Estas señales se almacenan en el servidor, de manera que varios clientes conectados al mismo correo en diferente tiempo pueden detectar los cambios hechos por otros clientes. Respaldo para accesos múltiples a los buzones de correo en el servidor. Los clientes de IMAP4 pueden crear, renombrar o eliminar correo (por lo general presentado como carpetas al usuario) del servidor y mover mensajes entre

Implementación de una solución confiable de correo electrónico, para el H. Congreso del Estado de Baja California Sur

Pág. 52

Instituto Tecnológico de la Paz

cuentas de correo. El soporte para múltiples buzones de correo también le permite al servidor proporcionar acceso a los directorios públicos y compartidos. Respaldo para búsquedas de parte del servidor. IMAP4 proporciona un mecanismo para que los clientes pidan al servidor que busque mensajes de acuerdo a una cierta variedad de criterios. Este mecanismo evita que los clientes descarguen todos los mensajes de su buzón de correo, agilizando de esta manera las búsquedas. Respaldo para un mecanismo de extensión definido. Como reflejo de la experiencia en versiones anteriores de los protocolos de Internet, IMAP define un mecanismo explícito mediante el cual puede ser extendido. Se han propuesto muchas extensiones de IMAP4 y son de uso común. [44,45].

2.21 SquirrelMail Es una aplicación webmail creada por Nathan y Luke Ehresman y escrita en PHP. Puede ser instalado en la mayoría de servidores web siempre y cuando éste soporte PHP y el servidor web tenga acceso a un servidor IMAP y a otro SMTP. SquirrelMail sigue el standard HTML 4.0 para su presentación, haciéndolo compatible con la mayoría de servidores web. SquirrelMail está diseñado para trabajar con plugins, lo cual hace más llevadera la tarea de agregar nuevas características en torno al núcleo de la aplicación. Licenciada bajo la GNU general public license, SquirrelMail es software libre. Actualmente está disponible en más de 40 lenguajes para todas las plataformas que soporten PHP. Mayormente, las plataformas usadas son Linux, FreeBSD, Mac OS X y las diferentes versiones de los servidores de Microsoft windows. Los desarrolladores de SquirrelMail ofrecen una versión estable y otra de desarrollo. La versión estable es recomendada para todos los usuarios, mientras que le versión en desarrollo es recomendada para desarrolladores y gente atrevida.

Implementación de una solución confiable de correo electrónico, para el H. Congreso del Estado de Baja California Sur

Pág. 53

Instituto Tecnológico de la Paz

Desde el 15 de enero de 2007, las versiones estable y de desarrollo están disponibles usando subversión, remplazando el antiguo protocolo CVS. Se lanzarán nuevas versiones estables cada vez que se necesiten solucionar nuevos bugs o nuevas fallas de seguridad. El cliente SquirrelMail es por sí mismo un sistema webmail completo, pero hay disponibles muchas más características bajo los plugins. Un plugin permite añadir características no imprescindibles, a menudo sin tener que alterar el código fuente. Hay más de 200 plugins creados por terceros para descargar libremente desde el sitio web de SquirrelMail, adicionalmente a los plugins proporcionados por defecto para esta aplicación, permitiendo a los administradores añadir: Revisar ortografía, filtrar emails spam, administración Web de SquirrelMail, un calendario. [43]

2.22 PHP Es un lenguaje de programación intérprete, diseñado originalmente para la creación de páginas web dinámicas. Se usa principalmente para la interpretación del lado del servidor (server-side scripting) pero actualmente puede ser utilizado desde una interfaz de línea de comandos o en la creación de otros tipos de programas incluyendo aplicaciones con interfaz gráfica usando las bibliotecas Qt o GTK+. PHP es un acrónimo recursivo que significa PHP Hypertext Pre-processor (inicialmente PHP Tools, o, Personal Home Page Tools). Fue creado originalmente por Rasmus Lerdorf en 1994; sin embargo, al no haber una especificación formal, la implementación principal de PHP es producida ahora por The PHP Group y sirve como el estándar de facto para PHP. Publicado bajo la PHP License, la Free Software Foundation considera esta licencia como software libre. Puede ser desplegado en la mayoría de los servidores web y en casi todos los sistemas operativos y plataformas sin costo alguno. El lenguaje PHP se encuentra instalado en más de 20 millones de sitios web y en un millón de servidores, el número de sitios en PHP ha compartido algo de su preponderante dominio con otros nuevos Implementación de una solución confiable de correo electrónico, para el H. Congreso del Estado de Baja California Sur

Pág. 54

Instituto Tecnológico de la Paz

lenguajes no tan poderosos desde agosto de 2005. El sitio web de Wikipedia está desarrollado en PHP. Es también el módulo Apache más popular entre las computadoras que utilizan Apache como servidor web. Cuando el cliente hace una petición al servidor para que le envíe una página web, el servidor ejecuta el intérprete de PHP. Éste procesa el script solicitado que generará el contenido de manera dinámica (por ejemplo obteniendo información de una base de datos). El resultado es enviado por el intérprete al servidor, quien a su vez se lo envía al cliente. Mediante extensiones es también posible la generación de archivos PDF, Flash, así como imágenes en diferentes formatos. PHP es una alternativa a las tecnologías de Microsoft ASP y ASP.NET (que utiliza C# y Visual Basic .NET como lenguajes), a Cold Fusion de la empresa Adobe, a JSP/Java y a CGI/Perl. Aunque su creación y desarrollo se da en el ámbito de los sistemas libres, bajo la licencia GNU, existe además un entorno de desarrollo integrado comercial llamado Zend Studio. CodeGear (la división de lenguajes de programación de Borland) ha sacado al mercado un entorno de desarrollo integrado para PHP, denominado Delphi for PHP. También existen al menos un par de módulos para Eclipse, uno de los entornos más populares. [41-46]

Implementación de una solución confiable de correo electrónico, para el H. Congreso del Estado de Baja California Sur

Pág. 55

Instituto Tecnológico de la Paz

2.23 Bibliografía [1].

Jon Postel (noviembre de 1981). «NCP/TCP transition plan». Internet Engineering Task Force. D.

[2].

Weitzmann (abril de 1990). «A Standard for the Transmission of IP Datagrams on Avian Carriers». Internet Engineering Task Force.

[3].

Bergen Linux User Group (April de 2001). «The informal report from the RFC 1149 event».

[4].

F. Baker (June de 1995). «Requirements for IP Routers».

[5].

V.Cerf et al (December de 1974). «Specification of Internet Transmission Control Protocol». Internet History

[6].

Ronda Hauben. «From the ARPANET to the Internet». TCP Digest (UUCP).

[7].

http://softwarelogia.com/2010/11/01/el-increible-crecimiento-de-internet-durante-los-ultimosdiez-anos/

[8].

RFC 821 SMTP de J. Postel. Information Sciences Institute

[9].

RFC 1939 POP3 de J.Myers, C. Mellon, M.Rose. Dover Beach Consulting. Mayo 1996

[10].

RFC 2045 MIME de N. Freed y N. Borenstien. Innosoft, First Virtual. Noviembre 1996

[11].

REDES DE COMPUTADORAS. Andrew Tanenbaum. 1990

[12].

Network Working Group. «RFC 5321 - Simple Mail Transfer Protocol» (en ingles).

[13].

http://www.microsoft.com/mscorp/safety/technologies/senderid/default.mspx

[14].

http://www.techrepublic.com/?r=1

[15].

http://es.wikipedia.org/wiki/Aislamiento_de_procesos_(inform%C3%A1tica)

[16].

http://es.wikipedia.org/wiki/Heur%C3%ADstica_en_antivirus

[17].

http://es.wikipedia.org/wiki/Antispyware#Programas_antiesp.C3.ADas

[18].

http://es.wikipedia.org/wiki/Anexo:Lista_de_software_antivirus

[19].

http://www.av-comparatives.org/

[20].

http://www.godaddy.com/compare/gdcompare_ssl.aspx?isc=sslqgo002b

[21].

https://www.symantec.com/verisign/ssl-certificates/secure-site-pro-ev?inid=vrsn_symc_ssl_SSPEV

[22].

http://www.certsuperior.com/CertificacionDigital.aspx

[23].

http://www.startssl.com/?app=1

[24].

http://www.postfix.org

[25].

http://postfix.wiki.xs4all.nl/index.php?title=Main_Page

[26].

http://www.templetons.com/brad/spamreact.html

[27].

http://www.av-comparatives.org/

[28].

http://es.wikipedia.org/wiki/Antivirus

[29].

http://www.avira.com

Implementación de una solución confiable de correo electrónico, para el H. Congreso del Estado de Baja California Sur

Pág. 56

Instituto Tecnológico de la Paz

[30].

http://www.trendmicro.com

[31].

http://www.infospyware.com/

[32].

http://www.panda.com

[33].

http://es.wikipedia.org/wiki/Servidor_web

[34].

http://www.apache.org

[35].

http://www.microsoft.com

[36].

http://tomcat.apache.org

[37].

http://www.cherokee-project.com

[38].

http://httpd.apache.org/docs/2.4/

[39].

http://es.wikipedia.org/wiki/RSA

[40].

http://www.mozilla.org/en-US/legal/privacy/firefox.html

[41].

http://es.wikipedia.org/wiki/SASL

[42].

http://www.horde.org/apps/webmail

[43].

http://www.squirrelmail.org

[44].

http://es.wikipedia.org/wiki/Internet_Message_Access_Protocol

[45].

http://www.ietf.org/rfc/rfc3501.txt

[46].

http://www.php.net

Implementación de una solución confiable de correo electrónico, para el H. Congreso del Estado de Baja California Sur

Pág. 57

Instituto Tecnológico de la Paz

Capítulo 3 –

Implementación del

servicio de correo utilizando herramientas de software libre 3.1 Instalación de un servidor nuevo de correo Se procedió a instalar el servicio utilizando una herramienta de software libre Unix FreeBSD versión 8.2. en una computadora de 8 Gb de RAM, procesador I3 2.1 Ghz y disco duro de 400 Gb, quedando con la siguiente configuración: Servidor: correo2.cbcs.gob.mx Dominio: cbcs.gob.mx Dirección IP: 148.233.66.27 Mascara de red: 255.255.255.240 Puerta de enlace: 148.233.66.30 DNS primario: 148.233.66.17

En la figura 3.1 se muestra la configuración lógica de la red de datos y voz del H. Congreso del estado de Baja California Sur.

Implementación de una solución confiable de correo electrónico, para el H. Congreso del Estado de Baja California Sur

Página 58

Instituto Tecnológico de la Paz

INTERNET Enrutador CISCO 1841

18 Nuevo Servidor Correo2 ( SMTP, HTTPS, IMAP 148. 233. 66.27/28 )

3 7.1

0.1

Reglas de filtrado trafico IN/OUT

29

.10

E1 D 20 ed 4 8 i ca Kb do ps ,

DMZ

0 9/3

Switch L2 Servidor Congreso ( DNS , Postfix , POP 3 , Amavis 148. 233. 66.17/28 )

Servidor CONGRESO2 de pruebas (HTTP, HTTPs, OpenLDAP , 148. 233 .66. 26/ 28 )

em0 148.233.66.28/28

Reglas de filtrado internas

rl0 192.168.1.254 Servidor APP/Gateway (NAT, Transparent Proxy, WWW, Gestor Joomla DHCP, MySQL

DEPTO . DE INFORMÁTICA 148 . 233 .66.16/28

Zona segura con 80 computadoras con direccionamiento privado, 192.168.1.0/24

Intefaz RS232-C para tarificador

Cliente

Cliente

Cliente

Cliente

as íne 0 l itales 3 n dig co E 1 n i ca s ó f e tel

PBX hibrido

RED TELMEX

RED TELEFÓNICA INTERNA Con 23 extensiones digitales y 50 analógicas

Figura 3.1 Diagrama lógico de la red de H. Congreso del estado de BCS.

En

los

archivos

de

configuración

del

servidor

de

nombres

primario

“congreso.cbcs.gob.mx” el cual se ejecuta en una plataforma BSD 4.1 y bind 8 se incluyó un nombre DNS y un nombre reversible para el nuevo servidor:

/etc/named/congreso.hosts correo2

IN

A

148.233.66.27

/etc/named/148.233.66.reverse 27

IN

PTR

correo2.cbcs.gob.mx.

Implementación de una solución confiable de correo electrónico, para el H. Congreso del Estado de Baja California Sur

Página 59

Instituto Tecnológico de la Paz

Actualmente existe un servidor de correo electrónico responsable para el dominio cbcs.gob.mx de nombre congreso.cbcs.gob.mx. Para que el nuevo servidor correo2.cbcs.gob.mx

pueda ser reconocido como fuente de autoridad para envío y

recepción de correo, se modificó el valor al registro MX (mail exchange). Una vez concluidas las pruebas y previa autorización, se migrarán los datos de los usuarios a la nueva interfaz quedando solo un servidor. /etc/named/congreso.hosts y /etc/named/148.233.66.reverse

IN

NS

congreso.cbcs.gob.mx.

IN

MX

1 congreso.cbcs.gob.mx.

IN

MX

2 correo2.cbcs.gob.mx.

Una vez configurado el servidor como un nodo más de la red, se procedió a instalar las actualizaciones para el sistema operativo. Para ello hay que modificar el firewall que se encuentra en un enrutador Cisco 1841 (ACL lista de control de acceso) para permitir el paso a los protocolo TCP y UDP de los servicios de ftp-data, ftp, LDAPS, para la parte IN de la interface Ethernet: access-list 151 permit tcp host 148.233.66.27 any eq ftp-data access-list 151 permit udp host 148.233.66.27 any eq 20 access-list 151 permit tcp host 148.233.66.27 any eq ftp access-list 151 permit udp host 148.233.66.27 any eq 21 access-list 151 permit tcp host 148.233.66.27 any eq 636 access-list 151 permit udp host 148.233.66.27 any eq 636 access-list 151 permit tcp host 148.233.66.27 any gt 1023 access-list 151 permit udp host 148.233.66.27 any gt 1023

3.1.1 Postfix 2.8.7 Una vez otorgados los permisos de acceso, se procedió a la instalación de postfix 2.8.7 en la ruta /usr/ports/mail/postfix que será el agente de correo electrónico Implementación de una solución confiable de correo electrónico, para el H. Congreso del Estado de Baja California Sur

Página 60

Instituto Tecnológico de la Paz

con las opciones habilitadas de los módulos PCRE (Perl compatible regular extension) y SASL (Simple authentication and security layer). Al ejecutar la siguiente instrucción se despliega el aviso de que el software quedó instalado. Ahora se procede con el proceso de configuración. correo2# pkg_info postfix-2.8.7,1

A secure alternative to widely-used Sendmail

Los archivos de configuración se encuentran en la ruta /usr/local/etc/postfix, con los nombres: main.cf y master.cf. Es recomendable efectuar una copia de los archivos originales

antes

de

empezar

con

la

modificación.

Se

realizaron

sólo las

configuraciones necesarias para que el agente funcione. Conforme se agreguen nuevos módulos se irán anexando y adecuando nuevas configuraciones. correo2#edit /usr/local/etc/postfix/main.cf

# Este parámetro es el nombre del servidor que recibe en Internet. Por omisión # deberá ser un dominio calificado que posteriormente formará parte de la # dirección de correo. myhostname = correo2.cbcs.gob.mx # En la variable

mydomain

se específica el nombre del dominio de Internet, por

# omisión toma elvalor de myhostname menos el primer componente. mydomain = cbcs.gob.mx # myorigin

especifica el dominio o nombre de hosts en la dirección electrónica,

# el correo aparece usuario@ # agrega el valor

seguido del valor de myorigin. Por omisión se

de myhostname, como dirección emitente.

myorigin = $myhostname # La máquina local es siempre el destino final donde recibe la dirección de # correo de acuerdo a una dirección especificada por ejemplo, este sistema # recibe correo que vengan dirigidos a: [email protected], # [email protected], usuario@localhost mydestination = $myhostname, localhost.$mydomain, localhost Implementación de una solución confiable de correo electrónico, para el H. Congreso del Estado de Baja California Sur

Página 61

Instituto Tecnológico de la Paz

# mynetworks atenderá solo a los clientes que coincide con esas dirección de # red, en este caso solo las computadoras que pertenecen a la red H. Congreso. # Esta es una medida de seguridad para evitar que otras computadoras no # autorizadas quieran enviar correo utilizando el servidor como relay abierto. mynetworks = 148.233.66.16/28, 127.0.0.0/8 # relay_domians solo envía correo a las direcciones que coinciden con el valor # de mydestinations, en este caso solo usuarios validos del H. Congreso. relay_domains = $mydestination

Estos son solo algunos parámetros necesarios para que el servidor de correo funcione, ya existen valores por omisión que se adecuan sólo en casos especiales y de acuerdo a las necesidades de cada red. Por ejemplo, los usuarios validos del sistema de correo forman parte del archivo /etc/passwd, como en cualquier sistema Unix. Por cuestiones de seguridad se instalará un módulo adicional (cyrus-sasl2) que permita anexar usuarios, cifrar su contraseña y autentificarse de manera segura sin ser usuarios del sistema. Como el nombre del usuario forma parte de la dirección electrónica (vulnerabilidad) es más fácil obtenerlo y de esa manera intentar acceder al servidor utilizando un usuario válido a través de otros puertos, utilizando contraseñas basadas en ataques de diccionario. Para arrancar el demonio de correo se ejecuta el siguiente script y, si todo está bien, el servicio responde o también se puede verificar en la bitácora: /var/log/maillog

correo2#/usr/local/etc/rc.d/postfix start postfix/postfix-script: starting the Postfix mail system

Como prueba, se realiza un envío de correo de modo verbose a una dirección electrónica local. El servidor contesta con una serie de comandos que forman parte de la comunicación de un servicio SMTP como Subject: asunto, EHLO “verifica que servidor remoto exista”, DSN “notificación de estado”, MAIL From “dirección remitente”, RCPT to “dirección destino”, DATA “mensaje de correo”. Todos estos encabezados son invisibles para el usuario. Implementación de una solución confiable de correo electrónico, para el H. Congreso del Estado de Baja California Sur

Página 62

Instituto Tecnológico de la Paz

correo2# mail -v yuen Subject: Prueba1 Primer correo de prueba . EOT yuen... Connecting to [127.0.0.1] via relay... 220 correo2.cbcs.gob.mx ESMTP Postfix >>> EHLO correo2.cbcs.gob.mx 250-correo2.cbcs.gob.mx 250-PIPELINING 250-SIZE 10240000 250-VRFY 250-ETRN 250-AUTH SCRAM-SHA-1 DIGEST-MD5 CRAM-MD5 NTLM PLAIN LOGIN 250-AUTH=SCRAM-SHA-1 DIGEST-MD5 CRAM-MD5 NTLM PLAIN LOGIN 250-ENHANCEDSTATUSCODES 250-8BITMIME 250 DSN >>> MAIL From:<[email protected]> SIZE=51 250 2.1.0 Ok >>> RCPT To:<[email protected]> >>> DATA 250 2.1.5 Ok 354 End data with <CR><LF>.<CR><LF> >>> . 250 2.0.0 Ok: queued as 2ED2791369C yuen... Sent (Ok: queued as 2ED2791369C) Closing connection to [127.0.0.1] >>> QUIT 221 2.0.0 Bye correo2#

Para iniciar el demonio de correo automáticamente hay que modificar el archivo /etc/rc.conf y, además, quitar todo el proceso sendmail dentro de la memoria, el cual ha formado parte por muchos años como servidor de correo por omisión en los sistemas Unix.

Implementación de una solución confiable de correo electrónico, para el H. Congreso del Estado de Baja California Sur

Página 63

Instituto Tecnológico de la Paz

sendmail_enable="NO" sendmail_submit_enable="NO" sendmail_outbound_enable="NO" sendmail_msp_queue_enable="NO" postfix_enable="YES"

Hasta este punto se han aplicado sólo las configuraciones y adecuaciones mínimas para el servidor de correo del H. Congreso. Ahora hay que pensar en los módulos de autentificación, seguro para el servicio de correo, anti-spam y anti-virus. [1-2]

3.2 Cyrus-Sasl 2.1.25

Es una estructura que provee métodos de autentificación utilizado por agentes de

correo

como:

postfix,

sendmail,

cyrus-imap,

courier.

Los

métodos

de

autentificación que soportan son: MD5 SASL CRAM-MD5 SASL DIGEST-MD5 Kerberos SASL KERBEROS_V4 SASL GSSAPI(kerberos 5) Texto plano SASL LOGIN SASL PLAIN Otros LOGIN (sin Sasl) EXTERNAL (servidores de correo externos) APOP (Autenticación POP con cifrado) Implementación de una solución confiable de correo electrónico, para el H. Congreso del Estado de Baja California Sur

Página 64

Instituto Tecnológico de la Paz

Cada método utiliza técnicas y algoritmos diferentes de cifrado y, en algunos casos, bastante complicados de entender e instalar, siendo los más comunes MD5 y texto plano. Kerberos se utiliza principalmente para autentificar clientes de dominios diferentes. En este caso se utilizará el método de SASL PLAIN donde la contraseña es almacenada en texto plano dentro de un archivo binario, en la ruta: -rw-r-----

cyrus

mail

/usr/local/etc/sasldb2

El propietario es el usuario cyrus con permiso de lectura y escritura y solo los usuarios del grupo mail pueden leerlo. Como la contraseña es en texto plano, se podría pensar en una vulnerabilidad, pero recordemos que para acceder al Shell de Unix se requiere una cuenta dentro /etc/passwd y además, acceso al shell. Aunque cyrus es un usuario válido administrativamente no tiene acceso directo al servidor. Veamos sus perfiles en /etc/passwd.

cyrus:*:60:60:the cyrus mail server:/usr/local/cyrus:/usr/sbin/nologin

Aunado esto, se agregará una protección adicional a la hora de realizar la autentificación

mediante

una

sesión

cifrada,

permitiendo

intercambiar

las

contraseñas de forma segura; en previsión de que puedan ser interceptadas mediante algún ataque de eavesdropping (sniffer o una suplantación del servidor). Se habilitará un mecanismo llamado TLS (Transport Layer Security) que, mediante certificado(s) permitirá cifrar y además se asegurará que el servidor sea la computadora autorizada para ofrecer el servicio (suplantación). La instalación de cyrus-sasl 2.1.25 se realiza de la ruta /usr/ports/security/cyrussaslauthd

con las siguientes opciones habilitadas: Enable cmusaslsecretCRAM-MD5

property,

Enable

use

of

authdaemon,

Enable

LOGIN

authentication,

Enable

PLAIN

authentication, Enable CRAM-MD5 authentication, Enable DIGEST-MD5 authentication, Enable NTLM authentication.

Implementación de una solución confiable de correo electrónico, para el H. Congreso del Estado de Baja California Sur

Página 65

Instituto Tecnológico de la Paz

El

archivo

de

configuración

/usr/local/etc/cyrus.conf

de

cyrus-sasl2

en

encuentra

en

la

ruta

y consta de tres partes:

Programas que se ejecutan al arrancar el sistema cyrus. Los servicios que habilita. Programas a ejecutar ante la llegada de eventos de tiempo. SERVICES { # add or remove based on preferences imap

cmd="imapd" listen="imap" prefork=0

#

imaps

cmd="imapd -s" listen="imaps" prefork=0

#

pop3

cmd="pop3d" listen="pop3" prefork=0

#

pop3s

cmd="pop3d -s" listen="pop3s" prefork=0

sieve

cmd="timsieved" listen="sieve" prefork=0

# these are only necessary if receiving/exporting usenet via NNTP #

nntp

cmd="nntpd" listen="nntp" prefork=0

#

nntps

cmd="nntpd -s" listen="nntps" prefork=0

# at least one LMTP is required for delivery #

lmtp

lmtpunix

cmd="lmtpd" listen="lmtp" prefork=0 cmd="lmtpd" listen="/var/imap/socket/lmtp" prefork=0

# this is required if using notifications #

notify

cmd="notifyd" listen="/var/imap/socket/notify" proto="udp" prefo

}

Los servicios imap, sieve y lmtpunix son los que utilizamos en nuestro proyecto. Por tanto las líneas se encuentran sin comentario.

Implementación de una solución confiable de correo electrónico, para el H. Congreso del Estado de Baja California Sur

Página 66

Instituto Tecnológico de la Paz

3.2.1 IMAP IMAP permite acceder el servidor de correo utilizando una interfaz web y almacenar buzones, carpetas, libreta de direcciones en la máquina remota. De esta manera siempre se tendrán los mismos datos, aunque sea un usuario movible que accede desde cualquier punto de Internet.

3.2.2 lmtp, lmtpunix Mediante el uso de estos protocolos, los correos electrónicos son entregados a cyrus para que los reparta entre sus usuarios (/usr/local/etc/sasldb2) en su correspondientes inbox (buzón de entrada). En caso de usar el programa cyrdeliver no es necesario tenerlos activados. lmtp utiliza socket TCP/IP y lmtpunix sockets unix. Como el agente de mensajes es postfix y se encuentra instalado en la misma máquina, es recomendable usar lmtpunix.

3.2.3 sieve Permite la actualización de scripts de filtrado para los usuarios, los cuales utilizaremos más adelante en el filtrado de spam.

Cyrus-sasldb /etc/passwd)

crea su propia base de datos de autentificación (adicional a

donde

se

[email protected] /usr/local/etc/sasldb2).

guardan

los

usuarios,

bajo

la

siguiente

sintaxis:

y su contraseña correspondiente (normalmente en

Para lograrlo se utiliza el comando:

saslpasswd2 -c [email protected]

Implementación de una solución confiable de correo electrónico, para el H. Congreso del Estado de Baja California Sur

Página 67

Instituto Tecnológico de la Paz

Posteriormente, se deberá dar de alta a todos los usuarios del sistema y se tendrá que configurar el agente de correo (postfix) para decirle dónde debe autentificarse, ya que no será en la base de datos por omisión del sistema Unix (/etc/passwd). Se usarán 3 usuarios para realizar las pruebas, mismos que se dan de alta de la siguiente manera: coreo2#saslpasswd2 -c [email protected] Password: test99 Again (for verification): test99 coreo2#saslpasswd2 -c [email protected] Password: test99 Again (for verification): test99 correo2#saslpasswd2 -c [email protected] Password: test99 Again (for verification): test99

Para verificar el contenido de la base de datos de cyrus-sasldb se utiliza el siguiente comando: correo2# sasldblistusers2 [email protected]: userPassword [email protected]: userPassword [email protected]: userPassword

La instalación cyrus-salsdb ha sido compilada para usar por omisión el método pwcheck_method=auxprop.

los

módulos

PAM

Si se desea autentificar un usuario utilizando /etc/passwd con o

LDAP,

hay

que

configurar

el

método

sasl_pwcheck_method=saslauthd. [3-4]

Implementación de una solución confiable de correo electrónico, para el H. Congreso del Estado de Baja California Sur

Página 68

Instituto Tecnológico de la Paz

3.3 Cyrus-imap 2.4.13

Es un potente servidor de correo y news que soporta POP, IMAP, IMAPS, NNTP y el lenguaje de scripts de filtrado de mensajes y respuestas SIEVE. En un servidor IMAP las carpetas se crean en el servidor, no en el cliente, por lo que es fácil realizar respaldos de todas las carpetas de los usuarios sin tener que tocar a los clientes. Además, se pueden establecer cuotas para limitar el espacio en disco que ocupará el correo del usuario. La

instalación

cyrus-imap

/usr/ports/security/mail/cyrus-imap24 Autosieve,

2.4.13

se

realiza

con

la

ruta

con las opciones de compilación Autocreate y

BDB habilitadas e incluidas los módulos de PERL 5.12.4, pcre 8.20, php5-

mbstring 5.3.9.

Hay que asegurar que existan los servicios tcp y puertos correspondientes en /etc/services: pop3

110/tcp

imap

143/tcp

imsp

406/tcp

acap

674/tcp

imaps

993/tcp

pop3s

995/tcp

kpop

1109/tcp

sieve

2000/tcp

lmtp

2003/tcp

fud

4201/udp

Se crean los siguientes directorios con permisos y propietarios correspondientes. En estos directorios se encuentran archivos de configuración de imap, cuotas, perfiles de usuarios y las carpetas personales de cada usuario. correo2#mkdir /var/imap /var/spool/imap correo2#chown cyrus:mail /var/imap /var/spool/imap correo2#chmod 750 /var/imap /var/spool/imap

Implementación de una solución confiable de correo electrónico, para el H. Congreso del Estado de Baja California Sur

Página 69

Instituto Tecnológico de la Paz

El

archivo

de

configuración

/usr/local/etc/imap.conf.

de

cyrus-imap

se

encuentra

en

la

ruta

Al igual que los archivos anteriores, hay que ajustar

algunas rutas y opciones que requerimos para nuestro propósito, pero también existen muchas opciones que se conservan por omisión. configdirectory: /var/imap partition-default: /var/spool/imap altnamespace: yes sieveusehomedir: false servername: correo2.cbcs.gob.mx allowplaintext: yes admins: cyrus sievedir: /var/imap/sieve sasl_pwcheck_method: auxprop quotawarn: 90 createonpost: yes autocreatequota: 512000 autocreateinboxfolders: Borradores|Elementos Eliminados|Elementos Enviados autosubscribeinboxfolders: Borradores|Elementos Eliminados|Elementos

Este es un ejemplo del contenido de archivo cyrus-imap.conf. Aquí se describen sólo los variables que se adecuaron: altnamespace: yes

Para que las subcarpetas del buzón de usuario no aparezcan al mismo nivel que INBOX. admins: cyrus

Usuario que va a ser el administrador de los mailboxes. Este usuario se va a autentificar mediante el método sasl, por lo que debe añadirse a la base de datos mediante el programa saslpasswd2. autocreatequota: 0

Si es distinto de cero se permite que los usuarios creen su INBOX y se le aplica la cuota indicada. sieveusehomedir: false

Implementación de una solución confiable de correo electrónico, para el H. Congreso del Estado de Baja California Sur

Página 70

Instituto Tecnológico de la Paz

No leer el fichero ~/.sieve. Esto sólo tiene sentido en sistemas en dónde los usuarios del correo son usuarios del sistema. allowplaintext: yes

Permite el uso del mecanismo de autentificación en texto plano (sasl plain). autocreateinboxfolders: Borradores|Elementos Eliminados|Elementos Enviados autosubscribeinboxfolders: Borradores|Elementos Eliminados|Elementos Enviados

Las opciones de autocreate son muy importantes, ya que permiten que los usuarios que se autentifiquen por primera vez creen automáticamente su propia estructura dentro de su buzón de correo con los nombres de folder que se indican anteriormente. Los correos eliminados, enviados y borradores se almacenarán en esas carpetas. Una vez realizadas las adecuaciones del archivo de configuración se ejecuta el script que forma parte de la instalación de IMAP, para formar la estructura de directorios. correo2# su cyrus correo2% /usr/local/cyrus/bin/mkimap reading configure file /usr/local/etc/imapd.conf... i will configure directory /var/imap. i saw partition /var/spool/imap. done configuring /var/imap... creating /var/spool/imap... done

Para arrancar automáticamente el demonio de IMAP se agregó a /etc/rc.conf la línea cyrus_imapd_enable="YES". La forma manual de arrancar el servicio de IMAP es: /usr/local/etc/rc.d/imapd start Para habilitar el registro de bitácoras, se modificó el archivo de configuración. /etc/syslog.conf con las siguientes líneas: Implementación de una solución confiable de correo electrónico, para el H. Congreso del Estado de Baja California Sur

Página 71

Instituto Tecnológico de la Paz

local6.debug

/var/log/imapd.log

auth.debug

/var/log/authcyrus.log

Posteriormente, se efectuó una prueba para verificar que IMAP estaba funcionando y que autentificaba contra la base de datos de cyrus: correo2#imtest -m login –a yuen –u yuen –p imap correo2

Dónde: -m digest, login (plain) método de autentificación -p puerto del servicio -a usuarioa autentificar -u usuarioa autorizar

En la bitácora /var/log/messages se observó que el usuario se autentifica y se autoriza contra la base de datos de cyrus. Feb 27 20:15:20 correo2 imap[41826]: login: localhost [127.0.0.1] yuen plaintext User logged in SESSIONID=<correo2.cbcs.gob.mx-41826-1330373717-1> Feb 27 20:15:28 correo2 imap[41826]: USAGE yuen user: 0.021103 sys: 0.007034 [5]

3.4 Squirrelmail 1.4.22

Una vez que se encuentra instalado el servidor de correo (postfix), un módulo de autentificación (cyrus-Sasl) y un gestor para interactuar con el servicio de correo (imap), falta una interfaz que permita conjuntar todos esos servicios y manipular los buzones a través de un navegador. Hay muchas soluciones, comerciales y de software libre que funcionan muy bien, para este fin se utilizó Squirrelmail. Squirrelmail tiene muy buenas críticas como gestor de correo electrónico a través de una interface web. Una característica importante es que se desarrolló en software libre escrito en PHP4 y GPL, que se puede ampliar y adecuar fácilmente y es

Implementación de una solución confiable de correo electrónico, para el H. Congreso del Estado de Baja California Sur

Página 72

Instituto Tecnológico de la Paz

totalmente gratis. Gracias a la arquitectura de plug-ins se puede añadir otros plug-ins y nuevas funciones. Para acceder nuestro correo desde cualquier punto de Internet, basta cualquier computadora con conexión a Internet y un navegador. Se puede acceder en forma segura a través de SSL. Las características más interesantes de este webmail son: Gestión de carpetas. Internacionalización. Libro de direcciones personal y acceso a otros servicios de LDAP. Gestión de attachments. Servicio de búsqueda en emails. No necesita ninguna base de datos para funcionar (al contrario que muchos otros webmails que necesitan MySQL o PostgreSQL). Interfaz de usuario fácil y potente. Arquitectura de plug-ins. Configuración de las vistas de mensajes: número de mensajes visibles en pantalla, campos visibles, orden, cada cuánto tiempo comprueba si hay nuevos mensajes, etc. Autocompletado de direcciones de correo cuando se escribe un email. Envío de páginas HTML comprimidas (en caso de archivos largos). Reloj. Filtros de mensajes según direcciones de correo o subject. Filtrado de spamming. Descarga de correo de múltiples cuentas POP.] Se procedió a instalar squirrelmail de la siguiente ruta /usr/port/www/squirrelmail. Squirrelmail contiene muchas dependencias como PHP 5.3.9 y Apache 2.2.2, entre otros, que serán instalados si aún no lo están, dejando por omisión las opciones de instalación de cada programa. Una vez instalados squirrelmail y los módulos que requiere hay que ajustar las configuraciones para asegurar que cada aplicación realice sus funciones Implementación de una solución confiable de correo electrónico, para el H. Congreso del Estado de Baja California Sur

Página 73

Instituto Tecnológico de la Paz

correspondientes.

Iniciamos

con

el

servidor

httpd

en

/usr/local/etc/apache22/htppd.conf

1. ServerAdmin [email protected] 2. ServerName correo2.cbcs.gob.mx:80 3. DocumentRoot "/usr/local/www/squirrelmail" 4. LoadModule php5_module AddHandler php5-script

libexec/apache22/libphp5.so .php

5. <IfModule mod_php5.c> AddType application/x-httpd-php .php </IfModule> 6. <Directory /usr/local/www/squirrelmail/> Options None AllowOverride None DirectoryIndex index.php index.html index.htm Order Allow,Deny Allow from all </Directory>

1. Nombre de la dirección electrónica del responsable del servidor http. 2. Nombre del servidor. 3. Ruta de localización de archivos. 4. y 5.Modulo adicional para interpretar páginas dinámicas con PHP. 6. Nombre, extensión y orden de búsqueda de la página inicial que carga el servidor. Para iniciar el servicio httpd se utiliza el scritp /usr/local/etc/rc.d/apache22 start y, para arrancarlo automáticamente, cada vez que inicie el servidor hay que agregar la siguiente línea en el archivo /etc/rc.conf

apache22_enable=”YES”

Implementación de una solución confiable de correo electrónico, para el H. Congreso del Estado de Baja California Sur

Página 74

Instituto Tecnológico de la Paz

El archivo de configuración de PHP en /usr/local/etc/php.ini requiere los siguientes ajustes: 1. file_uploads = on

Permite subir archivos al servidor. 2. session.auto_start = 1

Especifica si el módulo de sesión inicia una sesión automáticamente cuando arranque una petición. Por defecto es 0 (deshabilitado). 3. date.timezone = "America/Mexico_City"

Establece la zona horaria. 4. magic_quotes_gpc = Off

Afecta a los datos de peticiones HTTP (GET, POST, y COOKIE). No se puede habilitar en tiempo de ejecución y, por omisión, se encuentra on en PHP. 5. magic_quotes_runtime = Off

Si está habilitada, la mayor parte de funciones que devuelve datos a partir de recursos externos, incluyendo bases de datos y archivos de texto. Puede habilitarse en tiempo de ejecución y por omisión, se encuentra off en PHP. 6. magic_quotes_sybase = Off

Si está habilitada, se escapa cada comilla simple con otra comilla simple, en lugar de con un carácter barra. Si estuviera habilitada, anularía por completo a magic_quotes_gpc. Si se tuvieran habilitadas las dos directivas, sólo se escaparían las comillas simples, en la forma ''. Las comillas dobles, barras y caracteres NULL se mantendrían intactos y sin escapado. Squirrelmail tiene su propio script de configuración el cual se muestra a continuación, ya con las adecuaciones pertinentes. correo2#/usr/local/www/squirrelmail/configure Organization Preferences 1.

Organization Name

: H. Congreso del Estado de BCS

2.

Organization Logo

: ../images/esc.jpg

3.

Org. Logo Width/Height

: (156/156)

Implementación de una solución confiable de correo electrónico, para el H. Congreso del Estado de Baja California Sur

Página 75

Instituto Tecnológico de la Paz

4.

Organization Title

: Servicio de correo electrónico

Server Settings General ------1.

Domain

: cbcs.gob.mx

2.

Invert Time

: false

3.

Sendmail or SMTP

: SMTP

IMAP Settings -------------4.

IMAP Server

: correo2.cbcs.gob.mx

5.

IMAP Port

: 143

6.

Authentication type

: login

7.

Secure IMAP (TLS)

: false

8.

Server software

: cyrus

9.

Delimiter

: detect

B.

Update SMTP Settings

: coreo2.cbcs.gob.mx:25

H.

Hide IMAP Server Settings

Server Settings

General ------1.

Domain

: cbcs.gob.mx

2.

Invert Time

: false

3.

Sendmail or SMTP

: SMTP

SMTP Settings ------------4.

SMTP Server

: coreo2.cbcs.gob.mx

5.

SMTP Port

: 25

6.

POP before SMTP

: false

7.

SMTP Authentication

: none

8.

Secure SMTP (TLS)

: false

9.

Header encryption key :

Implementación de una solución confiable de correo electrónico, para el H. Congreso del Estado de Baja California Sur

Página 76

Instituto Tecnológico de la Paz

A.

Update IMAP Settings

H.

Hide SMTP Settings

: correo2.cbcs.gob.mx:143 (cyrus)

SquirrelMail Configuration : Read: config.php (1.4.0) --------------------------------------------------------Folder Defaults 1.

Default Folder Prefix

:

2.

Show Folder Prefix Option

: false

3.

Trash Folder

: Elementos Borrados

4.

Sent Folder

: Elementos Enviados

5.

Drafts Folder

: Borradores

6.

By default, move to trash

: true

7.

By default, save sent messages : true

8.

By default, save as draft

: true

9.

List Special Folders First

: true

10. Show Special Folders Color

: true

11. Auto Expunge

: true

12. Default Sub. of INBOX

: true

13. Show 'Contain Sub.' Option

: false

14. Default Unseen Notify

: 2

15. Default Unseen Type

: 1

16. Auto Create Special Folders

: false

17. Folder Delete Bypasses Trash

: false

18. Enable /NoSelect folder fix

: false

General Options 1.

Data Directory

: /usr/spool/imap/data/

2.

Attachment Directory

: /var/spool/imap/attach/

3.

Directory Hash Level

: 0

4.

Default Left Size

: 150

5.

Usernames in Lowercase

: false

6.

Allow use of priority

: true

7.

Hide SM attributions

: false

8.

Allow use of receipts

: true

9.

Allow editing of identity

: true

Allow editing of name

: true

Remove username from header

: false

10. Allow server thread sort

: false

11. Allow server-side sorting

: false

Implementación de una solución confiable de correo electrónico, para el H. Congreso del Estado de Baja California Sur

Página 77

Instituto Tecnológico de la Paz

12. Allow server charset search

: true

13. Enable UID support

: true

14. PHP session name

: SQMSESSID

15. Location base

:

16. Only secure cookies if poss

: true

17. Disable secure forms

: false

18. Page referal requirement

:

Además, contiene un script http://correo2.cbcs.gob.mx//src/configtest.php que permite verificar que las configuraciones sean correctas y, si todo es correcto, aparece como sigue: SquirrelMail configtest This script will try to check some aspects of your SquirrelMail configuration and point you to errors whereever it can find them. You need to go run conf.pl in the config/ directory first before you run this script. SquirrelMail version:

1.4.22

Config file version:

1.4.0

Config file last modified:

23 March 2012 14:57:08

Checking PHP configuration... PHP version 5.3.9 OK. Running as N/A(N/A) / N/A(N/A) display_errors: 1 error_reporting: 22527 variables_order OK: GPCS. PHP extensions OK. Dynamic loading is disabled. Checking paths... Data dir OK. Attachment dir OK. Plugins OK. Themes OK. Default language OK. Base URL detected as: https://correo2.cbcs.gob.mx/src (location base autodetected) Checking outgoing mail service.... SMTP server OK (220 correo2.cbcs.gob.mx ESMTP Postfix) Implementación de una solución confiable de correo electrónico, para el H. Congreso del Estado de Baja California Sur

Página 78

Instituto Tecnológico de la Paz

Checking IMAP service.... IMAP server ready (* OK [CAPABILITY IMAP4rev1 LITERAL+ ID ENABLE AUTH=SCRAMSHA-1 AUTH=DIGEST-MD5 AUTH=CRAM-MD5 AUTH=NTLM AUTH=PLAIN AUTH=LOGIN SASL-IR] correo2.cbcs.gob.mx Cyrus IMAP v2.4.13 server ready) Capabilities: * CAPABILITY IMAP4rev1 LITERAL+ ID ENABLE ACL RIGHTS=kxte QUOTA MAILBOX-REFERRALS NAMESPACE UIDPLUS NO_ATOMIC_RENAME UNSELECT CHILDREN MULTIAPPEND BINARY CATENATE CONDSTORE ESEARCH SORT SORT=MODSEQ SORT=DISPLAY THREAD=ORDEREDSUBJECT THREAD=REFERENCES ANNOTATEMORE LIST-EXTENDED WITHIN QRESYNC SCAN XLIST URLAUTH URLAUTH=BINARY AUTH=SCRAM-SHA-1 AUTH=DIGEST-MD5 AUTH=CRAM-MD5 AUTH=NTLM AUTH=PLAIN AUTH=LOGIN SASL-IR COMPRESS=DEFLATE IDLE Checking internationalization (i18n) settings... gettext - Gettext functions are available. On some systems you must have appropriate system locales compiled. mbstring - Mbstring functions are available. recode - Recode functions are unavailable. iconv - Iconv functions are unavailable. timezone - Webmail users can change their time zone settings. Checking database functions... not using database functionality. Congratulations, your SquirrelMail setup looks fine to me! Login now

Hasta este punto se ha configurado Squirrelmail como gestor de correo y como interfaz gráfica que permite manipular a través de un navegador web las operaciones de cualquier punto de Internet. Todas las formas/plantillas están hechas en PHP y son modificables y adaptables al entorno que el administrador requiera. En este caso se modifican algunas pantallas y cajones de inserción de datos. En la figura 3.2 se muestra la pantalla inicial del gestor de correo cargada a través del navegador Google Chrome.

Implementación de una solución confiable de correo electrónico, para el H. Congreso del Estado de Baja California Sur

Página 79

Instituto Tecnológico de la Paz

Figura 3.2. Pantalla de acceso utilizando el navegador google chrome.

Bajo la interfaz gráfica de correo hay muchos procesos internos que interactúan entre sí para lograr el objetivo como: squirrelmail, apache, postfix, cyrus-imap, cyrussasl y un conjunto de módulos complementarios que requiere cada programa para hacer su tarea.

3.5 Módulos adicionales de seguridad

3.5.1 Cyrus-sasl e Imap con Postfix Como ya se había comentado, por omisión el servidor de correo realiza el proceso de autentificación de usuarios contra la base de datos que contiene el sistema Unix localizado en /etc/passwd. Para aumentar la seguridad y reducir los riesgos, se crea una base de datos adicional donde se encuentran sólo los usuarios del servicio de correo electrónico. Implementación de una solución confiable de correo electrónico, para el H. Congreso del Estado de Baja California Sur

Página 80

Instituto Tecnológico de la Paz

Para lograr este fin se instaló y adecuó el programa de cyrus-sasl como se explicó anteriormente. Ahí se dió de alta nombre de usuario y contraseña que formarán parte de la dirección de correo electrónico bajo el dominio cbcs.gob.mx. Ahora, hay que indicarle a postfix contra quién tiene que autentificar y autorizar el acceso. Para ello hay que crear usuarios virtuales. Postfix necesita conocer los usuarios agregados en la base de datos de contraseñas (sasldb2) para poder recibir y enviar al buzón correspondiente. Para ello, se agrega cada usuario de sasldb en el archivo /usr/local/etc/postfix/virtual, con el siguiente formato: 1. Usuario

usuario@dominio

Mismousuario

Si

se

usuario@servidor+dominio

desea

recibir

[email protected]

correo

como:

[email protected]

(forma

corta)

o

(forma larga), ambas direcciones representan al mismo

usuario del sistema. 2. @dominio

usuario_valido@dominio

También si se desea tener una dirección de correo que reciba todo el correo que no es designado a una dirección valida, por ejemplo todo el spam, correos con virus, usuarios desconocidos. Se compila el archivo cada vez que se realicen modificaciones, con la siguiente instrucción: correo2#postmap /usr/local/etc/postfix/virtual

Una vez que tengamos todos los usuarios del sistema de correo (usuarios autorizados), que deberán coincidir con la base de datos cyrus-sasl (usuarios autentificados), hay que ajustar a postfix para que pueda recibir correo y, además, pueda autentificar y autorizar el acceso a sus buzones personales.

Implementación de una solución confiable de correo electrónico, para el H. Congreso del Estado de Baja California Sur

Página 81

Instituto Tecnológico de la Paz

/usr/local/etc/postfix/main.cf 1. mailbox_transport = lmtp:unix:/var/imap/socket/lmtp

Este protocolo proporciona información a cyrus para que reparta entre sus usuarios autorizados (/usr/local/etc/sasldb2) su correspondiente inbox (nuevo correo). 2. virtual_alias_maps = hash:/usr/local/etc/postfix/virtual

Ruta y nombre del archivo donde se encuentra la información de usuarios virtuales (usuarios autorizados). #SASL 3. smtpd_sasl_auth_enable = yes smtpd_recipient_restrictions = permit_mynetworks, permit_auth_destination, reject_unauth_destination smtpd_sasl_security_options = noanonymous smtpd_sasl_local_domain = $myhostname broken_sasl_auth_clients = yes

Indica a postfix que existe una base de datos que serán usuarios del servidor de SMTP. Además, que realice la autentificación bajo el módulo externo llamado sasl y que permita usuarios conectados sólo desde mynetworks=148.233.66.16/28, 127.0.0.0/8 y mydestination=$myhostname, localhost.$mydomain, localhost

y no

permita la cuenta anonymous. En el archivo de configuración /usr/local/etc/postfix/master.cf debe aparecer la línea: lmtp

unix

-

-

n

-

-

lmtp

Un problema común con “LMTP deliver” son los permisos sobre la ruta donde se encuentra LMTP socket. Cuando esto ocurre se debe a que cyrus y postfix están en grupos separados, ya que se deben encontrar compartiendo el mismo grupo, por ejemplo, mail. Los siguientes archivos deberán tener estos permisos y propietarios: srwxrwxrwx

1

root

wheel

0

Jun

16 00:27

Implementación de una solución confiable de correo electrónico, para el H. Congreso del Estado de Baja California Sur

/var/imap/socket/lmtp

Página 82

Instituto Tecnológico de la Paz

drwxr-x---

2

cyrus mail

4096

Jun

16 00:27

/var/imap/socket

drwxr-x---

14

cyrus mail

4096

Jun

16 00:57

/var/imap

wheel 4096

Jun

13 10:14

/var

drwxr-xr-x

22

root

[3-6]

3.5.2 Anitivirus y antispam De la siguiente ruta /usr/ports/security/amavisd-new/ instalamos el módulo de amavisd-new version 2.7.0 que actúa como gestor de filtros entre el servidor SMTP y los correos electrónico, agregando encabezados al correo. Este módulo permitirá agregar una protección adicional a nuestros usuarios para detener los correos entrantes y salientes de programas maliciosos (malware) y correos de tipo basura (spam). Hay varios productos para identificar malware que interactuar con amavis como: clamav, Trophie, DrWebD, FRISK F-Prot, Panda pavcl –ts, virus; en este caso instalaremos clamav versión 0.97.3 en la ruta/usr/ports/security/clamav y Perl spam assassin 3.3.2.6, que es otro módulo que interactúa con amavis, elaborado en lenguaje Perl, como filtro de correo basura “spam”. Este lo instalaremos de la ruta /usr/ports/mail/p5-Mail-SpamAssassin

El procedimiento consiste en examinar el contenido del mensaje buscando palabras claves y otros identificadores utilizados por los spammers. SpamAssasin utiliza un sistema de conteo: los mensajes son marcados como spam sólamente cuando tenga suficientes características de spam en total.

Una adecuada

administración en la instalación identifica correctamente entre el 95-98% de spam y con menos del 1% de falsas identificaciones. El módulo anti-spam no bloquea el correo, solo marca el correo como probable spam, cambiando el encabezado del campo “asunto” y dejando la opción de decidir qué hacer con el mensaje. El método sólo muestra el correo sospechoso de ser spam, sin un borrado automático. Sin embargo, hay una variedad de alternativas de borrar o dejar o incrementar el nivel de revisión e identificarlo como spam.

Implementación de una solución confiable de correo electrónico, para el H. Congreso del Estado de Baja California Sur

Página 83

Instituto Tecnológico de la Paz

Una vez instalados los módulos de antivirus y antispam, se procedió con las configuraciones de clamd, amavisd y spamd. Hay que asegurarse que clamav tenga los siguientes permisos en los siguientes directorios y las siguientes opciones en el archivo clamav.conf:

correo2# chown -R vscan:vscan /var/db/clamav correo2# chown -R vscan:vscan /var/log/clamav correo2# chown -R vscan:vscan /var/run/clamav correo2#edit /usr/local/etc/clamav.conf

## uncomment or modify these line below: 1.

LogSyslog yes LogFacility LOG_MAIL LogVerbose yes DatabaseDirectory /var/db/clamav LocalSocket /var/run/clamav/clamd.sock FixStaleSocket yes StreamMaxLength 20M User vscan AllowSupplementaryGroups yes ScanELF yes ScanPDF yes ScanMail yes PhishingSignatures yes

Se habilitan las bitácoras, se específica la ruta de archivos, el usuario de verificación “vscan”, verificar formatos de archivos pegados al correo y, finalmente, las firmas de estafas electrónicas conocidas. Para actualizar la base de datos de virus hay que ejecutar: correo2#/usr/local/bin/freshclam

Implementación de una solución confiable de correo electrónico, para el H. Congreso del Estado de Baja California Sur

Página 84

Instituto Tecnológico de la Paz

Para automatizar el proceso de actualización de base de datos de antivirus y se realice cada día a las 12:00 AM de cualquier mes y año correspondiente, se ejecuta el siguiente comando: correo2#crontab –e 0 0 * * * /usr/local/bin/freshclam

Hay

que

adecuar/descomentar

las

siguientes

variables

en

el

archivo

/usr/local/etc/amavisd.conf $inet_socket_port = 10024; $mydomain = 'cbcs.gob.mx'; $myhostname = 'correo2.cbcs.gob.mx' $notify_method

= 'smtp:[127.0.0.1]:10025';

$forward_method = 'smtp:[127.0.0.1]:10025'; ### http://www.clamav.net/

- backs up clamd or Mail::ClamAV

['ClamAV-clamscan', 'clamscan', "--stdout --no-summary -r --tempdir=$TEMPBASE {}", [0], qr/:.*\sFOUND$/m, qr/^.*?: (?!Infected Archive)(.*) FOUND$/m ],

También, se adecua el nombre del servidor, dominio, puerto de verificación de antivirus y los parámetros que requiere clamav para poder iniciar con su función. Ahora hay que indicarle a postfix que todo el correo tiene que ser filtrado por amavisd

de

acuerdo

a

los

parámetros

siguientes.

Primero

el

archivo

/usr/local/etc/postfix/master.cf amavisfeed unix

-

-

n

-

2

smtp

-o smtp_data_done_timeout=1200 -o smtp_send_xforward_command=yes -o disable_dns_lookups=yes -o max_use=20 127.0.0.1:10025 inet n

-

n

-

-

smtpd

-o content_filter= -o smtpd_delay_reject=no -o smtpd_client_restrictions=permit_mynetworks,reject Implementación de una solución confiable de correo electrónico, para el H. Congreso del Estado de Baja California Sur

Página 85

Instituto Tecnológico de la Paz

-o smtpd_helo_restrictions= -o smtpd_sender_restrictions= -o smtpd_recipient_restrictions=permit_mynetworks,reject -o smtpd_data_restrictions=reject_unauth_pipelining -o smtpd_end_of_data_restrictions= -o smtpd_restriction_classes= -o mynetworks=127.0.0.0/8 -o smtpd_error_sleep_time=0 -o smtpd_soft_error_limit=1001 -o smtpd_hard_error_limit=1000 -o smtpd_client_connection_count_limit=0 -o smtpd_client_connection_rate_limit=0 -o receive_override_options=no_header_body_checks, -o no_unknown_recipient_checks,no_milters -o local_header_rewrite_clients=

También el archivo de postfix /usr/local/etc/postfix/main.cf content_filter = amavisfeed:[127.0.0.1]:10024

Todos los parámetros anteriores son por omisión y sólo en casos muy especiales se modifican. En el sitio oficial de amavis-new se encuentra toda la documentación. La

configuración

de

P5-Mail-SpamAssassin

se

realiza

en

la

ruta

/usr/local/share/doc/p5-Mail-SpamAssassin/INSTALL

Hay que asegurarse de instalar algunos módulos de Perl en las versiones requeridas, utilizando el módulo CPAN. Dichos módulos adicionales permiten funciones diferentes como: conexiones con bases de datos, conexión con redes, matemáticas avanzadas, etc. correo2#perl -MCPAN -e shell cpan[x]> install Mail::SpamAssassin Mail::SpamAssassin is up to date (3.003002) cpan[x]> install Digest::SHA1 Implementación de una solución confiable de correo electrónico, para el H. Congreso del Estado de Baja California Sur

Página 86

Instituto Tecnológico de la Paz

Digest::SHA1 is up to date (2.13) cpan[x]> install HTML::Parser HTML::Parser is up to date (3.69) cpan[x]> install Net::DNS Net::DNSis up to date (0.68) cpan[x]>install

NetAddr::IP

NetAddr::IP is up to date (4.062) cpan[x]>install Time::HiRes Time::HiRes is up to date (1.9725) cpan[x]>install LWP LWP is up to date (6.04) cpan[x]> install HTTP::Date HTTP::Date is up to date (6.02) cpan[x]> install IO::Zlib IO::Zlib is up to date (1.10) cpan[x]> install Archive::Tar Archive::Tar is up to date (1.88)

Hay 3 archivos de configuración local.cf, init.pre y v320.pre que contienen muchas opciones que sólo se ajustan en condiciones muy especiales. Se modificó el archivo por omisión (local.cf) y sólo la variable que servirá de marcador required_score 3.9. Después

de esa puntuación el correo es considerado como

spam. correo2#edit /usr/local/etc/mail/spamassassin/local.cf

Con el script sa-update se procedió a instalar las reglas que contienen los puntos con que se evaluarán los correos y, de acuerdo al puntaje obtenido, serán etiquetados como spam. correo2#/usr/local/bin/sa-update

Implementación de una solución confiable de correo electrónico, para el H. Congreso del Estado de Baja California Sur

Página 87

Instituto Tecnológico de la Paz

Dentro

de

la

siguiente

ruta

se

guardan

todas

estas

expresiones

/var/db/spamassassin/3.003002/updates_spamassassin_org

10_default_prefs.cf

25_replace.cf

10_hasbase.cf

25_spf.cf

20_advance_fee.cf

25_textcat.cf

20_aux_tlds.cf

25_uribl.cf

20_body_tests.cf

30_text_de.cf

20_compensate.cf

30_text_fr.cf

20_dnsbl_tests.cf

30_text_it.cf

20_drugs.cf

30_text_nl.cf

20_dynrdns.cf

30_text_pl.cf

20_fake_helo_tests.cf

30_text_pt_br.cf

20_freemail.cf

50_scores.cf

20_freemail_domains.cf

60_adsp_override_dkim.cf

20_head_tests.cf

60_awl.cf

20_html_tests.cf

60_shortcircuit.cf

20_imageinfo.cf

60_whitelist.cf

20_mailspike.cf

60_whitelist_dkim.cf

20_meta_tests.cf

60_whitelist_spf.cf

20_net_tests.cf

60_whitelist_subject.cf

20_phrases.cf

72_active.cf

20_porn.cf

72_scores.cf

20_ratware.cf

73_sandbox_manual_scores.cf

20_uri_tests.cf

MIRRORED.BY

20_vbounce.cf

STATISTICS-set0-72_scores.cf.txt

23_bayes.cf

STATISTICS-set1-72_scores.cf.txt

25_accessdb.cf

STATISTICS-set2-72_scores.cf.txt

25_antivirus.cf

STATISTICS-set3-72_scores.cf.txt

25_asn.cf

languages

25_dcc.cf

local.cf

25_dkim.cf

regression_tests.cf

25_hashcash.cf

sa-update-pubkey.txt

25_pyzor.cf

user_prefs.template

25_razor2.cf

Implementación de una solución confiable de correo electrónico, para el H. Congreso del Estado de Baja California Sur

Página 88

Instituto Tecnológico de la Paz

Obtener las reglas-firmas de una llave pública. La importancia de una llave firmada es que SpamAssassin pueda verificar los archivos de reglas de manera segura. correo2#curl -O http://spamassassin.apache.org/updates/GPG.KEY correo2#sa-update --import GPG.KEY

Para iniciar los servicios anteriores automáticamente, hay que agregar en /etc/rc.conf

lo siguiente:

clamav_clamd_enable="YES" amavisd_enable="YES" amavisd_pidfile="/var/amavis/amavisd.pid". clamav_freshclam_enable="YES" spamd_enable="YES"

[7-11]

3.6 HTTPS y creación de certificados El servicio HTTPS utiliza el puerto estándar TCP/IP 443 con un cifrado basado en SSL/TLS para crear un canal cifrado (cuyo nivel de cifrado depende del servidor remoto y del navegador utilizado por el cliente) más apropiado para el tráfico de información sensible que el protocolo HTTP. De este modo se consigue que la información sensible (usuario y claves de paso normalmente) no pueda ser usada por un atacante que haya conseguido interceptar la transferencia de datos de la conexión, ya que lo único que obtendrá será un flujo de datos cifrados que le resultará imposible descifrar. Principalmente es utilizado por sistemas de correo basados en web, sistemas bancarios, tiendas en línea, y cualquier tipo de servicio que requiera el envío de datos personales o contraseñas. Esta medida adicional de seguridad es para que los datos que se intercambien entre el usuario del H. Congreso y el servidor de correo tengan la debida protección

Implementación de una solución confiable de correo electrónico, para el H. Congreso del Estado de Baja California Sur

Página 89

Instituto Tecnológico de la Paz

cuando se accede desde cualquier punto de Internet, garantizando que no se pueda visualizar el contenido del mensaje. Para que el servidor web/apache (correo2.cbcs.gob.mx) acepte conexiones HTTPS, hay que crear certificados de clave pública. Un certificado digital (también conocido como certificado de clave pública o certificado de identidad) es un documento digital mediante el cual un tercero confiable (una autoridad de certificación) garantiza la vinculación entre la identidad de un sujeto o entidad (por ejemplo: nombre, dirección y otros aspectos de identificación) y una clave pública. Este tipo de certificados se emplea para comprobar que una clave pública pertenece a un individuo o entidad. La existencia de firmas en los certificados aseguran por parte del firmante del certificado (una autoridad de certificación, por ejemplo) que la información de identidad y la clave pública perteneciente al usuario o entidad referida en el certificado digital están vinculadas. Un aspecto fundamental es que el certificado para cumplir la función de identificación y autenticación necesita del uso de la clave privada (que sólo el titular conoce). El certificado y la clave pública se consideran información no sensible que puede distribuirse a terceros. El certificado sin más no puede ser utilizado como medio de identificación, pero es una pieza imprescindible en los protocolos usados para autenticar a las partes de una comunicación digital, al garantizar la relación entre una clave pública y una identidad. Existen variados formatos para certificados digitales, los más comúnmente empleados se rigen por el estándar UIT-T X.509. El certificado debe contener al menos lo siguiente: La identidad del propietario del certificado (identidad a certificar). La clave pública asociada a esa identidad. La identidad de la entidad que expide y firma el certificado. El algoritmo criptográfico usado para firmar el certificado. Implementación de una solución confiable de correo electrónico, para el H. Congreso del Estado de Baja California Sur

Página 90

Instituto Tecnológico de la Paz

Los dos primeros apartados son el contenido fundamental del certificado (identidad y clave pública asociada), en tanto que los otros dos son datos imprescindibles para poder validar el certificado. Un certificado emitido por una entidad de certificación autorizada, además de estar firmado digitalmente por ésta, debe contener, por lo menos, lo siguiente: Nombre, dirección y domicilio del suscriptor. Identificación del suscriptor nombrado en el certificado. El nombre, la dirección y el lugar donde realiza actividades la entidad de certificación. La clave pública del usuario. La metodología para verificar la firma digital del suscriptor impuesta en el mensaje de datos. El número de serie del certificado. Fecha de emisión y expiración del certificado. Como se mencionó anteriormente es necesario generar un RSA de llave privada y un CRS (solicitud de certificado firmado). RSA (Rivest, Shamir y Adleman) es un sistema criptográfico de clave pública desarrollado en 1977. Es el primer y más utilizado algoritmo de este tipo y es válido tanto para cifrar como para firmar digitalmente. CSR (Certificate Signing Request) es la petición de certificado que se envía a la autoridad de certificación. Mediante la información contenida en el CSR la autoridad de certificación puede emitir el certificado una vez realizadas las comprobaciones que correspondan. El CSR se genera en el servidor que aloja el WEB. De forma simultánea se genera una clave privada que nunca debe ser transmitida fuera del servidor. El primer paso es crear RSA de llave privada con la utilería software libre openssl. Es una llave de 1024 bits (server.key) la cual es generada utilizando un algoritmo de encriptación Triple-DES y almacenada en un formato ASCII de codificación común PEM (Privacy-enhanced Electronic Mail). [12-16] Implementación de una solución confiable de correo electrónico, para el H. Congreso del Estado de Baja California Sur

Página 91

Instituto Tecnológico de la Paz

correo2#openssl genrsa -des3 -out server.key 1024 Generating RSA private key, 1024 bit long modulus .........................++++++ ..................++++++ e is 65537 (0x10001) Enter pass phrase for server.key: Verifying - Enter pass phrase for server.key:

correo2#openssl genrsa -des3 -out server.key 1024 correo2#openssl req -new -key server.key -out server.csr correo2#openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt

En la Figura 3.4 se muestra el acceso al correo desde un punto de Internet con ayuda de navegador web. Sin embargo, tenemos una ventana de advertencia que dice que nuestro certificado no es de confianza (Figura 3.3). Para este fin se utilizaron certificados autofirmados que deberán ser emitidos por una fuente de autoridad reconocida. Tras esa pantalla web existen mucho trabajo, varios módulos y procesos que interactúan entre sí, y muchas líneas de códigos de programación.

Implementación de una solución confiable de correo electrónico, para el H. Congreso del Estado de Baja California Sur

Página 92

Instituto Tecnológico de la Paz

Figura 3.3. Acceso inicial al servidor https de navegador común.

Figura 3.4. Acceso a la interfaz gráfica de correo electrónico. Implementación de una solución confiable de correo electrónico, para el H. Congreso del Estado de Baja California Sur

Página 93

Instituto Tecnológico de la Paz

En la Figura 3.5 se muestran la interacción entre todos los procesos que se utilizan.

cyrus-sasldb postfix SMTP/TLS

Autenticar

SMTP/SSL

Otros servidores SMTP

Analizar Analizados 10025

amavisd-new 10024

spamassasin clamav

mbox /var/spool/imap/user

cyrus-imap

freshclam

Usuarios de correo

IMAP (143) Envío

IMAPS (993)

Acceso Clientes de correo

Autenticar

apache

Squirrelmail

Visualización Recepción

http (80) https (443)

Figura 3.5.Interacción entre procesos.

Implementación de una solución confiable de correo electrónico, para el H. Congreso del Estado de Baja California Sur

Página 94

Instituto Tecnológico de la Paz

3.7 Bibliografía

[1].

1 http://www.postfix.org/STANDARD_CONFIGURATION_README.html

[2].

2 http://cernicalo.escomposlinux.org/~emeteo/imap/imap+postfix/

[3].

3 http://oreilly.com/catalog/mimap/chapter/ch09.html

[4].

4 http://postfix.state-of-mind.de/patrick.koetter/smtpauth/limiting_sasl_mechanisms.html

[5].

5 http://users.soe.ucsc.edu/~venkat/tutorial1.html imap

[6].

6 http://www.soporte.acens.com/?cont=340 SSL

[7].

7 http://www.freebsd.uwaterloo.ca/twiki/bin/view/Freebsd/SpamAssassin

[8].

8 http://wiki.apache.org/spamassassin/IntegratedInPostfixWithAmavis

[9].

9 http://www.alcancelibre.org/staticpages/index.php/como-amavisd-new-postfix-centos5

[10].

10 http://www.freebsd.uwaterloo.ca/twiki/bin/view/Freebsd/SpamAssassin

[11].

11 http://freebsdrocks.net/index.php?option=com_content&view=article&id=30%3Ainstallingspamassassin&catid=16%3Ainstalling-qmail-on-8x&Itemid=25

[12].

http://es.wikipedia.org/wiki/Certificado_de_clave_p%C3%BAblica

[13].

http://www.akadia.com/services/ssh_test_certificate.html

[14].

http://es.wikipedia.org/wiki/SquirrelMail

[15].

http://squirrelmail.org/docs/admin/admin-5.html

[16].

http://bulma.net/body.phtml?nIdNoticia=634l

Implementación de una solución confiable de correo electrónico, para el H. Congreso del Estado de Baja California Sur

Página 95

Instituto Tecnológico de la Paz

Capítulo

4

-

Conclusiones

y

recomendaciones Conclusiones En el presente trabajo se ha implementación con la ayuda de software libre de una solución de correo electrónico eficiente y confiable que posibilita el acceso desde cualquier punto de Internet a los buzones institucionales, La solución incluye: Servidor de correo. Módulos adicionales de seguridad de Anti-Spam y Anitvirus. Módulo de IMAP. Módulo de Interfaz Web.

El hecho de utilizar una herramienta de software libre probablemente cause una desconfianza en el desempeño de una función tan importante para la institución. Sin embargo, FreeBSD es uno de los sistemas operativos de software libre con buenas críticas y por experiencia muy estable en sus procesos. El servidor de nombres DNS (congreso.cbcs.gob.mx) por ejemplo, se instaló en FreeBSD 4.10 hace 7 años en una PC Pentium IV de 2 Mhz y 2 Gb de RAM y sólo ha tenido interrupciones cuando no existe suministro eléctrico. Otra ventaja de trabajar con programas de código abierto es que se pueden modificar para adaptarlos a las necesidades de la institución. Pronto surgirá la petición de personalizar las plantillas del sistema de correo acorde al Congreso. Con ayuda de los log-files del sistema se ha estado monitoreando durante el tiempo que ha estado funcionando el producto de este trabajo. Se ha comprobado Implementación de una solución confiable de correo electrónico, para el H. Congreso del Estado de Baja California Sur

Página 96

Instituto Tecnológico de la Paz

que su funcionamiento es estable, el módulo de anti-virus y anti-spam cumplen con sus funciones bloqueando lo no permitido.

Recomendaciones Recomendamos dedicarle una partida del presupuesto del H. Congreso para adquirir un buen servidor con las características necesarias para atender el servicio de correo y además, una unidad de respaldo para proteger los datos. Con el fin de garantizar que quien ofrece el servicio de correo es la computadora autorizada y proteger las transacciones que realicen los usuarios desde cualquier punto de Internet, es imprescindible la adquisición de una póliza con una compañía comercial dentro o fuera de país para la generación los certificados SSL y emisión de un certificado de sitio seguro. Una vez probado y autorizado por la Junta de Coordinación Política a través de la Oficialía Mayor del H. Congreso, se migrarán las bases de datos de usuarios y se realizarán las adecuaciones al nuevo sistema de correo, capacitando a los usuarios para la utilización del mismo. Hay que crear conciencia y una cultura informática sobre los problemas de seguridad, fraudes y riesgos que existen en Internet por el hecho de contar con una dirección electrónica.

Trabajo futuro Para asegurar que el servicio de correo funciona eficientemente es necesario realizar constantes tareas de mantenimiento de software, así como implementar mejoras que aparecerán en un futuro no muy lejano. Por ejemplo, cuando todo el trabajo funcionaba aparece en un log-file la siguiente recomendación: Jul

2 12:35:56 correo2 freshclam[914]: Your ClamAV installation is OUTDATED!

Implementación de una solución confiable de correo electrónico, para el H. Congreso del Estado de Baja California Sur

Página 97

Instituto Tecnológico de la Paz

Jul

2 12:35:56 correo2 freshclam[914]: Local version: 0.97.3 Recommended version:

0.97.5 Jul

2

12:35:56

correo2

freshclam[914]:

DON'T

PANIC!

Read

http://www.clamav.net/support/faq

No hay que desistir en las actualizaciones ya que, aunque algunas instalaciones suelen ser muy tardadas por no contar con suficientes servidores disponibles, hay que reintentar día con día hasta lograr el objetivo. En un trabajo futuro, un punto interesante sería la evaluación de los algoritmos que se utilizan para cifrar información, evaluar los métodos de autentificación y compararlos entre sí. La creación de certificados o las inclusión de nuevas reglas anti-spam son otros temas complicados pero interesantes sobre todo si encontramos alguna mejora en el desempeño dentro de nuestro entorno.

Material de apoyo Actualmente se elaboran 3 manuales para los alumnos de las materias de Redes de Computadoras, Software Libre, Tópicos Avanzados de Redes y Administración y Seguridad en Redes de la carrera de Ingeniería en Sistemas Computacionales del Instituto Tecnológico de la Paz: “Como instalar un servidor de correo con anti-spam y anti-virus utilizando herramientas libres”. “Como instalar un servidor web seguro con herramientas libres” “Como instalar una interface de correo utilizando un web seguro e IMAP”

Implementación de una solución confiable de correo electrónico, para el H. Congreso del Estado de Baja California Sur

Página 98

Sponsor Documents

Recommended

No recommend documents

Or use your account on DocShare.tips

Hide

Forgot your password?

Or register your new account on DocShare.tips

Hide

Lost your password? Please enter your email address. You will receive a link to create a new password.

Back to log-in

Close