correo electronico centos

12
PRACTICA SERVIDOR DE CORREO USANDO POSTFIX Y DOVECOT. Christian Loaiza Garcia. 1.OBJETIVOS. Comprender el funcionamiento de un servidor de correo electrónico. Comprender cómo configurar postfix. Comprender cómo configurar dovecot. Comprender cómo configurar un cliente de correo electrónico. 2. PROCEDIMIENTO Para implementar un servicio de correo electrónico hay que tener en cuenta tres conceptos fundamentales (mta, mda, mua). MTA (Mail Transport Agent) es el agente de transporte, es él encargado de enviar el mensaje al MTA de destino. El MTA le entrega el correo al servidor de correo entrante, llamado MDA (Mail Delivery Agent), el MDA se encarga de almacenar el corre hasta que el usuario lo lea. Para leer un correo electrónico existen dos protocolos POP3 (Post Office Protocol), el cual descarga el mensaje del servidor sin dejar copia, y el otro protocolo es IMAP (Internet MEssage Access Protocol), el cual descarga el correo del servidor dejando una copia en él. La recuperación de los correos electrónicos se realiza por medio de un software, llamadod MUA (Mail User Agent), estos programas permiten descargar los correos y almacenarlos en el computador. Para que el servidor de correos funcione correctamente se le debe de asociar un servidor de nombres (DNS), el servidor de nombres que se utilizó es Bind y para configurarlo el Bindconf. En la configuración del servidor de nombres se le agrega una extensión MX (Mail Exchange) para que reconozca el servidor de correos (Imagen 1). Imagen 1. Configuración Binconf

Upload: christian-loaiza-garcia

Post on 02-Dec-2015

73 views

Category:

Documents


3 download

DESCRIPTION

Practica de al Uiversidad Autonoma de Occidente - Servicios Multimedia (Christian Loaiza Garcia)

TRANSCRIPT

PRACTICA SERVIDOR DE CORREO USANDO POSTFIX Y DOVECOT.

Christian Loaiza Garcia.

1. OBJETIVOS. Comprender el funcionamiento de un servidor de correo electrónico. Comprender cómo configurar postfix. Comprender cómo configurar dovecot. Comprender cómo configurar un cliente de correo electrónico.

2. PROCEDIMIENTO

Para implementar un servicio de correo electrónico hay que tener en cuenta tres conceptos fundamentales (mta, mda, mua). MTA (Mail Transport Agent) es el agente de transporte, es él encargado de enviar el mensaje al MTA de destino.

El MTA le entrega el correo al servidor de correo entrante, llamado MDA (Mail Delivery Agent), el MDA se encarga de almacenar el corre hasta que el usuario lo lea. Para leer un correo electrónico existen dos protocolos POP3 (Post Office Protocol), el cual descarga el mensaje del servidor sin dejar copia, y el otro protocolo es IMAP (Internet MEssage Access Protocol), el cual descarga el correo del servidor dejando una copia en él.

La recuperación de los correos electrónicos se realiza por medio de un software, llamadod MUA (Mail User Agent), estos programas permiten descargar los correos y almacenarlos en el computador.

Para que el servidor de correos funcione correctamente se le debe de asociar un servidor de nombres (DNS), el servidor de nombres que se utilizó es Bind y para configurarlo el Bindconf. En la configuración del servidor de nombres se le agrega una extensión MX (Mail Exchange) para que reconozca el servidor de correos (Imagen 1).

Para realizar el transporte de correo se utilizó postfix ya que es de fácil configuración, para instalarlo se utiliza el comando ¨yum install postfix¨, Centos trae por defecto un MTA el cual es Sendmail, para dejar a postfix como MTA por defecto se descarga una aplicación llamada system-switch-mail (Imagen 2) y para descargarla se utiliza el comando “yum system-switch-mail”.

Imagen 1. Configuración Binconf

Luego de dejar a postfix como MTA por defecto, se desactiva el servicio Sendmail con el comando ¨service sendmail stop¨ y se deshabilita su arranque al iniciar el sistema con el comando ¨chkconfig sendmail off¨. Postfix tiene dos archivos de configuración main.cf, donde se configuran los parámetros del servicio, y master.cf archivo utilizado para habilitar la seguridad del correo. Inicialmente se modificaron los parámetros de main.cf como se ve en la tabla 1.

Luego de modificar las directrices se reinicia postfix con cualquiera de los siguientes comandos “service postfix reload” o “service postfix restart”. Luego de configurar el MTA se procede a configura el MDA, para esta práctica se utilizó dovecot y en su archivo de configuración se des comenta el parámetro “protocols” y se reinicia el servicio con el comando “service dovecot restart”.

Para probar el correcto funcionamiento del servidor de correos se enviará un correo a un usuario (user1) desde el centOS y el MUA lo debe de recibir, el MUA que se utilizará en esta práctica es Outlook. En Outlook se agrega una cuenta nueva, con los parámetros de la tabla 2.

Imagen 2. Interfaz cambio MTA

Tabla 1. Configuración postfix

Directriz Valor$myhostname = mail.christian.com

$mydomain = christian.com$myorigin = $mydomain

$inet_interfaces = all$mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain$home_mailbox = Maildir/

$mynetworks = 127.0.0.0/8 192.168.0.0/24 10.0.0.0/8$mailbox_command =

Tabla 2. Parámetros configurados en Outlook

Nombre para mostrar Felipe PerezDirección de correo electrónico [email protected] de correo entrante 10.0.0.1Servidor de correo saliente 10.0.0.1Nombre de la cuenta user1

Luego de crear la cuenta se probó el servicio de correo mandando un mensaje desde el servidor (imagen 3a) de correos al usuario registrado en el Outlook llegando un mensaje (imagen 3b)

En las imágenes se puede observar que el correo recibido coincide con el correo enviado desde el servidor.

El servicio de correo permite utilizar alias, nombres “ficticios” que representan a los usuarios, en este caso el alias de user1 fue felipe. Para administrar los alias en el servidor de correo se abre el documento etc/aliases, al final del documento se ingresan los datos de la siguiente forma, nombre ficticio: nombre real, quedando de la siguiente forma felipe : user1.

Para probar el uso de los alias se envía un correo desde el servidor (imagen 4a) teniendo como receptor el alias del usuario, en el Outlook se recibe el correo (imagen 4b).

En las imágenes se observa que el mensaje enviado desde el servidor coincide con el recibido por el Outlook.

Imagen 3b. Mensaje recibido en Outlook

Imagen 3a. Mensaje usuario desde el servidor

Imagen 4b. Mensaje recibido en Outlook

Imagen 4a. Mensaje alias desde el servidor

A demás del uso de alias para un solo usuario se puede asociar varios usuarios a un solo alias. El alias se llamó hermanos y las cuentas asociadas son user1 (Felipe Pérez) y user2 (Alejandro Pérez).

En la imagen 5a se observa el contenido enviado desde el servidor de correos al hermanos, alias que contienen a user1 y user2. En la imagen 3b se observa que el mensaje es recibido por los dos usuarios y en la imagen 3c se muestra el contenido del correo él cual concuerda con el enviado desde el servidor.

Luego de probar el correcto funcionamiento del correo, se procedió a aplicarle seguridad al correo, la seguridad en correo es generar una encriptación de la información para que no pueda ser captada por personas o empresas ajenas al destinatario, el transporte del correo seguro se realiza por un puerto diferente y con un protocolo diferente al correo normal.

Los puertos usados para el correo se muestran en la tabla 3.

Imagen 5c. Mensaje recibido en Outlook

Imagen 5b. Bandeja de entrada Felipe y Alejandro

Imagen 5a. Mensaje grupo desde el servidor

Tabla 3. Protocolos y puertos del servidor de correos

Agente Protocolo Puerto

MTASMTP 25

SMTPS 25 o 465

MDA

POP3 110IMAP 143

POP3S 995IMAPS 993

Para aplicarle seguridad al correo se debe de hacer lo siguiente. Inicialmente se instala dos elementos con el comando “yum install openssl mod_ssl”, luego de la instalación se debe situar en la ruda “cd /etc/postfix” y dentro de la carpeta postfix se crean los archivos de seguridad .key y .cert con el comando openssl (imagen 6).

Durante la creación de los archivos de seguridad se piden algunos datos para configurar los certificados, los parámetros utilizados se muestran en la tabla 4.

Luego de crearse los archivos de seguridad se deben de agregar una líneas en el archivo main.cf situado en /etc/postfis mostrado en la tabla 4.

Hay dos formas para verificar que la seguridad en el servidor de correos se está ejecutando, desde el CentOS utilizando el comando telnet por el puerto 25 y al conectarse al servidor se verifica con el comando STARTTLS (Imagen 7a). Otra forma de verificar la seguridad es abriendo el MUA, activar en las propiedades de las cuentas la aceptación del SSL, y cuando el MUA se conecte al servidor de correos genere una ventana avisando la conexión de un certificado de seguridad (Imagen 7b).

Imagen 6. Creación de archivos de seguridad

Tabla 4. Datos para crear archivos de seguridad

Country Name (2 letter code) coState or Province Name (Full Name) cali

Locality Name (eg, city) valleOrganization Name (eg, company) personal

Organizationa Unit Name (eg, section) laptopCommon Name (eg, Your name) 10.0.0.1

Email Address [email protected]

smtpd_enforce_tls = nosmtpd_tls_loglevel = 1

smtpd_use_tls = Yessmtpd_tls_key_file = /etc/postfix/smtpd.keysmtpd_tls_cert_file = /etc/postfix/smtpd.cert

Tabla 5. Líneas para aceptar seguridad en el servicio decorreo

3. ANALISIS TRAMAS.3.1. SMTP.

En la captura 1 se observan todos los mensajes enviados entre el cliente y el servido, debido que dentro del espacio del protocolo SMTP (puerto 25) presenta la misma información que en la pestaña de información no se indagará, solo se describirá el proceso de envío de un correo, se describirá a fondo IMF datagrama donde se encuentra los datos del mensaje.

a. En la captura se observa el siguiente proceso, Inicialmente el servidor envía un mensaje “220” indicando que el servidor se encuentra disponible y que tipo de MTA se encuentra usando (postfix).

b. El cliente menda un mensaje “HELO” indicando el nombre del computador cliente; el servidor devuelve un mensaje “250” indicando el nombre del servidor de correos (mail.christian.com).

c. El cliente le indica que el usuario “user1” va a enviar un correo (MAIL FROM:).d. El servidor responde con un mensaje “250” indica que si es permitido enviar un correo con

ese usuario (OK), el servidor indica que se enviará un correo a dos destinatarios (RCPT TO:), user1 y user2.

e. el servidor le indica que los dos usuarios se encuentran en su base de datos.

Captura 1. Proceso envió de un correo

f. El cliente usa el comando DATA indicando que se va a escribir el mensaje, el servidor indica al usuario que cuando termine de digitar la información use un punto en una sola línea.

g. La información es encapsulada en un datagrama IMF (Internet Message Format) con los parámetros del receptor, emisor y asunto.

h. El servidor indica que se al encolado el correo en el servidor.i. El cliente se desconecta del MTA.

En paso ‘g’, se indica un datagrama IMF, este datagrama indica todos los parámetros de envío del correo, entre los parámetros se indica quien es el emisor del mensaje, quien es el receptor del mensaje, si el mensaje va enviado con copia (CC) a otro destinatario, además indica cual fue el agente que se utilizó (para este caso fue Outlook).

3.2. POP3

Al igual que el protocolo SMTP la información intercambiada entre el servidor y el cliente en el protocolo POP, captura 2, no muestra muchas características, excepto al momento de cuando el servidor le muestra la información del correo al cliente, el proceso es el siguiente:

a. El servidor indica al cliente que el MDA se encuentra disponible (dovecot ready).b. El cliente indica que desea entrar a la cuenta de user1, para esto utiliza el comando USER.c. El servidor reconoce a user1 como usuario del servidor.d. El cliente envía la contraseña de user1, usando el comando PASS.e. El servidor indica que la contraseña es correcta e inicia la sesión de user1.f. El cliente usa el comando LIST para revisar si tiene correos no leído.g. El servidor le indica la cantidad de correos sin leer, para esta captura fue solo un correo.h. El cliente usa el comando RETR para indicar cual correo desea leer, en este caso se leyó el

primer correo (RETR 1).i. El servidor le muestra al usuario la información del correo (imagen 8) indicando la cantidad

de bits (octetos) del archivo.j. El usuario elimina el correo con el comando DELE.k. El servidor marca el mensaje que será eliminado.l. El cliente utiliza el comando QUIT para cerrar la sesión.m. El servidor cierra la sesión de user1 y elimina el mensaje.

Captura 2. Recepción correo POP3

El correo recibido por user1 (imagen 8), muestra las siguientes características.

a. Indica cual es el servidor que tiene almacenado el correo, el correo mostrado lo tiene almacenado el servidor mail.christian.com.

b. A quien o quienes va dirigido el y cuál es el asunto asignado.

Imagen 8. Correo recibido por user1

c. Un texto plano que dice “prueba para el wireshark”, este es el que recibe el cliente.d. Como se está usando un MUA, el texto se pasa a formato HTML, mostrando el mismo texto

que anterior.

3.3. IMAP

Este protocolo al igual que POP y SMTP, no presenta mucha profundidad dentro de sus tramas, aunque si es más complejo que POP. IMAP descarga y almacena la el servidor de correo mientras que POP solo descarga el correo y no deja una copia en el servidor, el proceso de lectura de correos de IMAP se muestra de la siguiente forma:

a. El servidor indica que el MDA se encuentra disponible.b. EL cliente envía una petición al servidor preguntando si tiene capacidad, para esto usa el

comando CAPABILITY.c. El servidor envía una respuesta indicando que tiene Capacidad.d. El cliente manda la petición de inicio de sesión de “user2” usando el comando LOGIN.e. El servidor reconoce a user2 como usuario del servidor de correos.f. EL cliente realiza una petición (automáticamente) IDLE al servidor, esta petición permite

sincronizar la bandeja del servidor con el cliente.g. El servidor le indica al cliente que se está iniciando la sincronización.h. El cliente le indica al servidor que se ha completado la sincronización.i. El servidor le indica al cliente que ha aceptado la terminación de sincronización.j. El cliente le pide al servidor que abra la bandeja del servidor, para eso se utiliza el

comando INBOX.k. El servidor le envía al usuario una respuesta con los FLAGS (Imagen 9), indicando las

etiquetas. Respondidos, Eliminado, Visto y Borradores.l. El cliente pide una nueva sincronización.m. El servidor sincroniza los mensajes nuevamente.n. El cliente pide la cantidad de correos que tiene el usuario “user2” usando el comando

FETCH, dentro del comando se especifica la forma de búsqueda, en este caso se indica inicialmente el cuerpo del mensaje, junto con su encabezad, referencias y prioridades.

o. El servidor le envía al cliente la cantidad de mensajes que no se han leído junto con sus datos (imagen 10)

p. El usuario leer el correo y envía una nueva sincronización.

Captura 3. Recepción correo IMAP

q. El servidor sincroniza toda la bandeja.r. El cliente envía un mensaje indicando que se almacenan los mensajes y una bandera

FLAG.SILENT indicando que se han visualizado los mensajes.s. Se realiza una nueva sincronización entre el servidor y el usuario.t. El cliente envía una petición de desconexión.

4. REFERENCIAS. Valk, Richard. Switching. WordPress, 2006. Web. 17 Apr. 2013. <http://switch.richard5.net/isp-in-a-

box-v2/configuring-the-mail-server-components/configure-postfix-to-use-tls/>. Kioskea. CCM Benchmark, 2003. Web. 17 Apr. 2013. <http://es.kioskea.net/contents/115-como-funciona-el-

correo-electronico-mta-mda-mua>.