Professional Documents
Culture Documents
Por
Jess Maria Taborda. Yeison Herrera Balbn. Hugo Alberto Alvarez. Victor Hugo Narvaez. Sergio Alexis Cano. Jorge Jimnez. Stiven Marin. David Echeverry
Grupo #2
El motivo de la elaboracin del trabajo que se describe a continuacin es realizar un manual completo y organizado acerca de la instalacin de un sistema de correo seguro sobre el sistema operativo Fedora 9, para as ayudar a los futuros administradores de red a documentarse y llevar a cabo mas fcilmente su trabajo. Para dicho propsito se tuvieron en cuenta multiples manuales, los cuales nos sirvieron de gua para la elaboracin del presente manual. El lector(a) encontrara en este documento una base para configurar un MTA (agente de transferencia de mensajes) en un ordenador con GNU/Linux instalado para que los mensajes de correo generados por la propia mquina lleguen a su destino y lo hagan sin generar problemas en los servidores de correo que deben manejar ese trfico de mensajes. El MTA elegido para esta tarea es Postfix. Este software es ligero (consume pocos recursos y da buenas medidas de rendimiento). Existen paquetes para todas las distribuciones y por tanto es fcil de instalar; en algunas distribuciones es el MTA instalado por defecto. En conclusin se pretende servir de ayuda para quienes deseen montar su propio servidor de correo.
OBJETIVOS
Disear, implementar y gestionar un sistema de correo que cumpla con lo siguiente: 1. Cifre el trfico entre usuario y servidor. 2. Valide los usuarios contra un sistema de directorios. 3. Almacene los correos de los usuarios en un sistema de directorios o en una base de datos. 4. Permita configurar usuarios y dominios virtuales. 5. Soporte un sistema de antivirus, antispam y antimalware en general. 6. Soporte administracin grafica (fcil de administrar para el usuario). 7. Soporte acceso POP, IMAP y WebMail (hacerlo de forma segura -SSL). 8. Bonus (hacer algo adicional para diferenciar el proyecto de otros similares).
Antes de empezar a configurar debemos estar enterados un poco acerca de unos cuantos trminos: Qu es un servidor de correo? Aplicacin informtica que nos permite enviar y recibir correos entre varios usuarios, no importando que clase de red estn utilizando. El E-mail es una aplicacin TCP/IP.
Qu es un correo electrnico? Servicio que permite enviar y recibir mensajes, normalmente mediante un programa o aplicacin.
Cmo funciona? En cuanto al funcionamiento, es un poco complejo ya que hay que tener en cuenta varios conceptos que para los novatos en este campo se les seria un poco complejo el entenderlo pero trataremos de brindrselo muy detalladamente para evitar confusiones. Por eso antes de explicar su respectivo funcionamiento aclararemos trminos:
Todo empiza cuando el emisor de un correo electrnico manda los mensajes a un servidor y este, a su vez, se encarga de enviarselos al servidor del receptor. Para poder ver el correo-electronico es necesario que el receptor se conecte con su servidor, y que a su vez este utilizando el pop3 o el imap, que son protocolos que permitirn al usuario acceder a sus respectivos correos, visualizarlos, descargarlosetc. Este procedimiento se logra gracias al protocolo SMTP que es el encargado de hacer que un mensaje se transporte de un MTA a otro MTA. El mensaje se genera en el cliente a travs de una aplicacin llamada MUA (agente de usuario de mail), este a su vez se lo enva a su MTA (Agente de transporte de mail) local, este busca el destinatario en sus registros, si existe inmediatamente le enva el mensaje a su MDA (Agente de entrega de mail), el cual almacenara el correo hasta que el usuario a quien fue dirigido el correo acceda a el por medio del pop3 o imap. y si no existiera el usuario a quien va dirigido el mensaje localmente que se hace? Bueno, si el MTA no encuentra el usuario en sus registros, este procede a comunicarse con otro MTA, para enviarle el mensaje, esto se logra a travez del protocolo SMTP, que establece la comunicacin y permite que entre varios MTA se enven los mensajes, este procedimiento se repite cuantas veces sea necesario, hasta que el mensaje logre llegar a su destino. Este proceso se le conoce con el nombre de Relay. Cuando el mensaje llega al MTA destino, este procede a envirselo a su MDA para que posteriormente el usuario acceda al mensaje a travs de MUA. Que pasaria si un mensaje no puede ser enviado por x o y motivo a su destino? Si ocurriera algn error por parte de los MTA, y que no se puedan enviar los mensajes a su destino, estos crearan una lista de cola, en donde estarn los mensajes temporalmente para volverlos a enviar, si despus de un tiempo limitado estos no se han podido enviar a su destino, se perder el mensaje.
Qu protocolos utiliza? Basicamente un servidor de correo funciona a partir de 3 protocolos basicos que son:
SMTP: (Simple Mail Transfer Protocol) : Es un protocolo de red utilizado para el envi de correo de una maquina a otra. Fue diseado en el ao 1982 para intercambiar correos para ARPANET (Advanced Research Projects Agency Network Proyectos de investigacin avanzada para la red), definido en los RFC 821 y RFC 822. La primera de ellas define este protocolo y la segunda el formato del mensaje que este protocolo debia transportarlo. Smtp se basa en el modelo cliente-servidor, donde un cliente enva un mensaje a uno o varios receptores, la comunicacin entre el cliente y el servidor consiste enteramente en lneas de texto compuestas por caracteres ASCII. El tamao mximo permitido para estas lneas es de 1000 caracteres. En el conjunto de protocolos TCP/IP, el SMTP va por encima del TCP, usando normalmente el puerto 25 en el servidor para establecer la conexin. Asi funcionaria el SMTP: El emisor establece una comunicacin con smtp El emisor enva un comando MAIL para indicar el remitente del correo Si el receptor SMTP puede aceptar el correo responde con una respuesta OK+ El emisor envia un comando RCPT identificando a quien va dirigido el correo. Si SMTP puede aceptar correos para ese destinatario responde con un OK si no responde con un error Cuando se a terminado de negociar entre el servidor y el emisor se envian los mensajes, si todo se concluye satisfactoriamente el servidor responde con un OK
La sintaxis que se utilisaria en dicha comunicacin seria: Los comandos y respuestas se componen de caracteres ASC II (estandar para el intercambio de informacin)
HELO: Para abrir una sesion con el servidor. MAIL FROM: Para indicar quien envia el mensaje RCPT TO: Para indicar el destinatario del mensaje DATA: Para indicar el comienzo del mensaje, este finalizara cuando haya una linea unicamente con un punto. QUIT: para cerrar la sesion. RSET: Aborta la transaccin en curso y borra todos los registros. SEND: Inicia una transaccin en la cual el mensaje se entrega a una Terminal. SOML: El mensaje se entrega a un Terminal o a un buzon. SAML: El mensaje se entrega a un Terminal y a un buzon. VRFY: Solicita al servidor la confirmacion del argumento. EXPN: Solicita al servidor uinformacion sobre un comando. HELP: Permite solicitar informacin sobre un comando. NOOP: Se emplea para reiniciar los temporizadores TURN: Solicita al servidor que intercambien los paquetes.
2XX: La operacin solicitada mediante el comando anterior a concluido con xito. 3XX: La orden ha sido aceptada, pero el servidor esta pendiente de que el cliente le envie nuevos datos para terminar la operacin. 4XX: Para una respuesta de error, pero se espera a que se repita la instruccin. 5XX: Para indicar una condicion de error permanente, por lo que no debe repetirse la orden.
Un ejemplo seria: S: 220 Servidor ESMTP C: HELO S: 250 Hello, please meet you C: MAIL FROM: yo@midominio.com S: 250 Ok C: RCPT TO: hackerhigueyano@hotmail.com S: 250 Ok C: DATA S: 354 End data with <CR><LF>.<CR><LF> C: Subject: Campo de asunto C: From: yo@midominio.com C: To: destinatario@sudominio.com C: C: Hola, C: Esto es una prueba. C: Adios.
Aqu no termina la amplia gama de comandos de SMTP a continuacin exponemos otros que les sern muy utiles:
VRFY: Se utilize para verificar un nombre de usuario.
EXPN: Se utiliza para ampliar una lista de correo. SP: Comando enviar, los mensajes debern entregarse en la terminal del usuario, si el usuario no esta cativo. SOML: Comando de enviar, los mensajes debern entregarse en la terminal de usuario o buzon de correo, si el usuario esta activo. SAML: Comando de enviar, exige que el mensaje sea entregado a la terminal del usuario si la terminalesta activa, en cualquier caso el correo se introduce en el buzon del usuario.
Eje: C: VRFY Smith S: 250 Fred Smith <Smith@USC-ISIF.ARPA> C: VRFY Smith S: 251 Usuario no local; remitir a <Smith@USC-ISIQ.ARPA> C: VRFY Jone S: Cadena 550 no coincide con nada. C: VRFY Jones S: 551 Usuario no local, por favor intente <Jones@USC-ISIQ.ARPA> C: VRFY Gourzenkyinplatz S: 553 Usuario ambigua. Smith es el nombre de usuario, la respuesta del servidor puede incluir el nombre completo del usuario, y debe incluir el buzon de correo del usuario. En el caso de ampliacin de correo se requiere una respuesta multilinea
S: 250-Jon Postel <Postel@USC-ISIF.ARPA> S: 250-Fred Fonebone <Fonebone@USC-ISIQ.ARPA> S: 250-Sam P. Smith <SQSmith@USC-ISIQ.ARPA> S: 250-Quincy Smith <@ USC-ISIF.ARPA: Q-Smith@ISI-VAXA.ARPA> S: 250 - <joe@foo-unix.ARPA> S: 250 <xyz@bar-unix.ARPA> C: EXPN Ejecutivo-Bao-Lista S: 550 Acceso denegado a Usted.
Existen diversas implementaciones y aplicaciones reales del protocolo LDAP, como son: 1. Active Directory. 2. Fedora Directory Server (FDS). 3. Mandriva Directory Server (MDS). 4. Apache Directory Server.
Para la instalacin de nuestro Ldap implementaremos el FDS (Fedora Directory Server), ya que como estamos trabajando sobre Fedora 9 lo ms conveniente y sencillo seria implementarlo a l.
Esquema y todo un conjunto de herramientas para un control operacional ms granulado. En la actualidad esta trabajando en una amplia variedad de empresas e instituciones a nivel mundial, principalmente por su alto rendimiento y fcil administracin.
DOMNINIOS VIRTUALES: Son aquellos dominios que realmente no existen, es decir nuestro servidor tiene un nombre de dominio en especifico, pero puede recibir correos destinados hacia dominios con los que el nombre de nuestra maquina no tiene nada que ver. Ejemplo, nuestro servidor posee el nombre <mail.midominio.com>, pero si en la variable virtual_mailbox_domain especificamos un dominio como dominiodos.com, nuestro servidor podr procesar los correos que vallan dirigidos hacia dicho dominio.
SERVICIOS A UTILIZAR: Existen varios servidores de correo, los cuales nos ofrecen mltiples caractersticas en su configuracin, en este manual como ya lo habamos mencionado antes, utilizaremos el postfix. Conozcamos un poco acerca de lo que es postfix, sus funciones y caractersticas.
POSTFIX:
Postfix es un MTA (Mail Transport Agent ) rpido, fcil de administrar y seguro, es totalmente compatible con sendmail, manteniendo externamente las formas de este. Postfix es una combinacin de diversos programas que realizan su funcin determinada dentro del conjunto.
Postfix, originalmente desarrollado en IBM por el experto de seguridad y programador Wietse Venema, es un MTA compatible con Sendmail diseado para ser seguro, rpido y fcil de configurar. Postfix utiliza un diseo modular para mejorar la seguridad, en el que los procesos pequeos con privilegios limitados son lanzados por un demonio master. Los procesos ms pequeos, con menos privilegios, realizan tareas muy especficas relacionadas con las diferentes etapas de la entrega de correos y se ejecutan en un ambiente de cambio de root para limitar los efectos de ataques. Los archivos de configuracin de Postfix son legibles y aceptan hasta 250 directrices. A diferencia de Sendmail, no se requiere procesar ninguna macro para que los cambios tomen efecto y la mayora de las opciones usadas frecuentemente se describen en archivos muy bien comentados. Postfix almacena sus archivos de configuracin en el directorio /etc/postfix/. A continuacin se muestra una lista de los archivos usados ms a menudo:
access Utilizado para el control de acceso, este archivo especifica los sistemas que pueden conectarse a Postfix. aliases Una lista configurable que el protocolo de correo requiere. main.cf El archivo global de configuracin de Postfix. La mayora de las opciones de configuracin se especifican en este archivo. master.cf Especfica la forma en que Postfix interacta con diferentes procesos para lograr la entrega de correo. transport Hace las correspondencias entre direcciones de correo electrnico y los hosts de transmisiones.
CYRUS-IMAPD Cyrus IMAP (Internet Message Access Protocol) es desarrollado y mantenido por Andrew Systems Group. A diferencia de otros gestores de correo IMAP, cyrus almacena cada correo en un fichero independiente. Las ventajas son obvias: *Mayor fiabilidad de almacenamiento. *Rapidez de acceso inusitada. *Los ndices de cada mensaje y su estado se guardan en una base de datos a parte. *Los mensajes se indexan para una mayor rapidez en el acceso de la bsqueda.
*No es necesario una cuenta de sistema Linux para cada uno de los usuarios de correo. Es un cliente de correo electrnico (MUA), es decir con este paquete instalaramos los servicios POP e IMAP para poder enviar y recibir el correo, hemos decidido utilizar Cyrus-imapd porque nos permite un formato para los buzones de correo que mejora el rendimiento y escalabilidad de Maildir. Este formato almacena los datos por partes del sistema de archivos y que solo pueden ser accedidos por el servicio de Cyrus-imapd. Igualmente si estas trabajando en fedora 9 y lo instalas desde los .rpm, te podr solicitar las siguientes dependencias: 1. cyrus-imapd-perl-xxxxx.rpm 2. cyrus-imapd-utils-xxxxx.rpm 3. db4-utils-xxxxx.rpm
FEDORA-DS
Con este paquete instalaremos el servidor Fedora Directory Server para la validacin de los usuarios contra este sistema de directorios, tambin si lo instalas desde los .rpm, podra pedirte las siguientes dependencias: 1. libtermcap-xxxxx.rpm 2. termcap-xxxxx.rpm