Instalación, configuración y pruebas de servidor postfix usando el protocolo imap y pop3, con cliente desktop y cliente web

Instalación, configuración y pruebas de servidor email postfix usando el protocolo imap y pop3, con cliente desktop y cliente web. Universidad Franci

24 downloads 76 Views 1MB Size

Recommend Stories


LENGUAJES DEL LADO DEL CLIENTE Y DEL SERVIDOR
LENGUAJES DEL LADO DEL CLIENTE Y DEL SERVIDOR INTRODUCCION: Cualquier navegador (al que llamaremos cliente) es una aplicación capaz de interpretar pri

Desarrollo Web en Entorno Cliente
IES Camp de Morvedre Avda. Fausto Caruana, s/n, 46500 Sagunto Tlf: 96 2617720 Fax: 962617721 e-mail - [email protected] http://www.iescamp.es/ http:

Asistencia y Experiencia de Cliente
Asistencia y Experiencia de Cliente Semana del Seguro 2016 Allianz Global Assistance Febrero 2016 Estimados asistentes: Hoy no venimos a la Semana d

Story Transcript

Instalación, configuración y pruebas de servidor email postfix usando el protocolo imap y pop3, con cliente desktop y cliente web.

Universidad Francisco de Paula Santander Administration de Sistemas Operativos en Red

Por: Eliecer Alejandro Molina Vergel

1151054

Edgar Yesid García Ortiz

1150967

Base Teórica: Existen tres estándares que utilizan actualmente la mayoría de servicios de correo electrónico (email). Estos son el SMTP, el POP3 y el IMAP. El estándar SMTP son las siglas de Simple Mail Transfer Protocol (Protocolo Simple de Transferencia de Correo). POP es el acrónimo de Post Office Protocol (Protocolo de Oficina Postal). Aunque pueda sonar algo confuso, POP es el protocolo de almacenamiento de email mientras que SMTP es el protocolo de envío y recepción. POP3 es la tercera versión desarrollada del estándar POP. IMAP (Internet Message Access Protocol) es otro protocolo de almacenamiento más moderno que POP3 y con más posibilidades. Si hacemos una analogía con el correo postal, el protocolo SMTP sería el análogo al cartero o a los servicios de transporte de cartas. Él o ella entregan y recoge el correo para transferirlo a otra localización. El protocolo POP3 y el protocolo IMAP serían como el buzón de correos de tu casa o un apartado postal. Es el sitio dónde el correo es enviado y dónde permanece hasta que el receptor está listo para leerlo. El correo saliente también puede ser puesto en el buzón de correo, es decir, los protocolos POP3 e IMAP también se utilizan para almacenar el correo enviado.

SMTP: el transporte de emails La inmensa mayoría de emails que viajan por internet lo hacen utilizando el estándar SMTP, un protocolo de transferencia. Aunque fue inventado a principios de la década de 1980, se considera un protocolo muy fiable, principal motivo por el que sigue siendo el más utilizado de forma casi universal. La mayoría de correos electrónicos enviados utilizando SMTP llegan rápido al receptor sin problemas. No obstante, SMTP presenta algunos inconvenientes ante eventos que no se tuvieron en cuenta cuándo se inventó, principalmente por ser problemas que no existían entonces y que no fueron anticipados. Por ejemplo, el protocolo SMTP no tiene forma de verificar si el remitente de un email es realmente quien dice ser. Si volvemos la vista a los años 1980, cuándo internet era utilizado por un selecto grupo de personas, principalmente en organismos gubernamentales y centros de docencia e investigación, esto no era un gran problema. A partir de los años 1990 la incapacidad de verificación del remitente comenzó a ser un problema importante y lo que ha permitido el continuo incremento del SPAM y otros usos malintencionados del email, como la transferencia de virus o el email spoofing (suplantación de identidad). Por ejemplo, un programa puede buscar en el buzón de email y enviar un virus como archivo adjunto a toda la lista de contactos de una persona en nombre de esa persona en la que los receptores confían. Se han realizado avances para mejorar la seguridad del estándar SMTP pero está aún muy lejos de ser verdaderamente seguro.

POP3 e IMAP: El estándar POP es el protocolo utilizado para el almacenamiento y organización de los correos electrónicos. Se diseñó en 1984 con la idea de permitir a los usuarios tener acceso a un servidor de correo, recibir los mensajes y almacenarlos en una carpeta local del ordenador propio y poder desconectarse de internet para leer y escribir mensajes. La capacidad de estar offline para leer o escribir era realmente útil cuándo permanecer conectado a internet era caro y se pagaba por minutos de conexión. Actualmente la mayoría de servidores de correo utilizan POP3, la tercera versión del estándar POP que fue desarrollada en 1988, o el estándar IMAP. El protocolo IMAP es más moderno y ofrece más posibilidades que POP3. Por ejemplo, permite administrar varias bandejas de entrada, varios accesos a la vez o múltiples criterios de organización. Si deseas información detallada sobre cada protocolo puedes consultar los documentos RFC 821.

POP3 En informática se utiliza el Post Office Protocol (POP3, Protocolo de Oficina de Correo o "Protocolo de Oficina Postal") en clientes locales de correo para obtener los mensajes de correo electrónico almacenados en un servidor remoto, denominado Servidor POP. Es un protocolo de nivel de aplicación en el Modelo OSI. Las versiones del protocolo POP, informalmente conocido como POP1 y POP2, se han quedado obsoletas debido a las últimas versiones de POP3. En general cuando se hace referencia al término POP, se refiere a POP3 dentro del contexto de protocolos de correo electrónico

Características: POP3 está diseñado para recibir correo, que en algunos casos no es para enviarlo; le permite a los usuarios con conexiones intermitentes o muy lentas (tales como las conexiones por módem), descargar su correo electrónico mientras tienen conexión y revisarlo posteriormente incluso estando desconectados. Cabe mencionar que aunque algunos clientes de correo incluyen la opción de dejar los mensajes en el servidor, el funcionamiento general es: un cliente que utilice POP3 se conecta, obtiene todos los mensajes, los almacena en la computadora del usuario como mensajes nuevos, los elimina del servidor y finalmente se desconecta. En contraste, el protocolo IMAP permite los modos de operación conectado y desconectado. Los clientes de correo electrónico que utilizan IMAP dejan por lo general los mensajes en el servidor hasta que el usuario los elimina directamente. Esto y otros factores hacen que la operación de IMAP permita a múltiples clientes acceder al mismo buzón de correo. La mayoría de los clientes de correo electrónico soportan POP3 o IMAP; sin embargo, solo unos cuantos proveedores de internet ofrecen IMAP como valor agregado de sus servicios. Los clientes que utilizan la opción dejar mensajes en el servidor por lo general utilizan la orden UIDL (Unique IDentification Listing). La mayoría de las órdenes de POP3 identifican los mensajes dependiendo de su número ordinal del servidor de correo. Esto genera problemas al momento que un cliente pretende dejar los mensajes en el servidor, ya que los mensajes con número cambian de una conexión al servidor a otra. Por ejemplo un buzón de correo contenía 5 mensajes en la última conexión, después otro cliente elimina el mensaje número 3, si se vuelve a iniciar otra conexión, ya el número que tiene el mensaje 4 pasará a ser 3, y el mensaje 5 pasará a ser número 4 y la dirección de estos dos mensajes cambiara. El UIDL proporciona un mecanismo que evita los problemas de numeración. El servidor le asigna una cadena de caracteres única y permanente al mensaje. Cuando un cliente de correo compatible con POP3 se conecta al servidor utiliza la orden UIDL para obtener el mapeo del identificador de mensaje. De esta manera el cliente puede utilizar ese mapeo para determinar qué mensajes hay que descargar y cuáles hay que guardar al momento de la descarga. Al igual que otros viejos protocolos de internet, POP3 utilizaba un mecanismo de firmado sin cifrado. La transmisión de contraseñas de POP3 en texto plano aún se da. En la actualidad POP3 cuenta con diversos métodos de autenticación que ofrecen una diversa gama de niveles de protección contra los accesos ilegales al buzón de correo de los usuarios. Uno de estos es APOP, el cual utiliza funciones MD5 para evitar los ataques de contraseñas. Mozilla, Eudora, Novell Evolution así como Mozilla Thunderbird implementan funciones APP.

Imap Internet Message Access Protocol (IMAP, Protocolo de acceso a mensajes de internet), es un protocolo de aplicación que permite el acceso a mensajes almacenados en un servidor de Internet. 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 POP(otro protocolo empleado para obtener correos desde un servidor). Por ejemplo, es posible especificar en IMAP carpetas del lado del 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 correo electrónico 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, 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.

Acerca de SASL y Cyrus SASL. SASL (Simple Authentication and Security Layer) es un estructura para la seguridad de datos en protocolos de Internet. Desempareja mecanismos de la autenticación desde protocolos de aplicaciones, permitiendo, en teoría, cualquier mecanismo de autenticación soportado por SASL para ser utilizado en cualquier protocolo de aplicación que capaz de utilizar SASL. Actualmente SASL es un protocolo de la IETF (Internet Engineering Task Force) que ha sido propuesto como estándar. Está especificado en el RFC 2222 creado por John Meyers en la Universidad Carnegie Mellon. Cyrus SASL es una implementación de SASL que puede ser utilizada del lado del servidor o del lado del cliente y que incluye como principales mecanismos de autenticación soportados a ANONYMOUS, CRAM-MD5, DIGEST-MD5, GSSAPI y PLAIN. El código fuente incluye también soporte para los mecanismos LOGIN, SRP, NTLM, OPT y KERBEROS_V4. URL: http://asg.web.cmu.edu/sasl/sasl-library.html.

Acerca de DSA. DSA (Digital Signature Algorithm o Algoritmo de Firma digital) es un algoritmo creado por el NIST (National Institute of Standards and Technology o Instituto Nacional de Normas y Tecnología de EE.UU.), publicado el 30 de agosto de 1991, como propuesta para el proceso de firmas digitales. Se utiliza para firmar información, más no para cifrar ésta. URL: http://es.wikipedia.org/wiki/DSA

Acerca de RSA. RSA, acrónimo de los apellidos de sus autores, Ron Rivest, Adi Shamir y Len Adleman, es un algoritmo para el ciframiento de claves públicas que fue publicado en 1977, patentado en EE.UU. en 1983 por el el Instituto Tecnológico de Michigan (MIT). RSA es utilizado ampliamente en todo el mundo para los protocolos destinados para el comercio electrónico. URL: http://es.wikipedia.org/wiki/RSA

Acerca de X.509. X.509 es un estándar ITU-T (estandarización de Telecomunicaciones de la International Telecommunication Union ) para infraestructura de claves públicas (PKI o Public Key Infrastructure). Entre otras cosas, establece los estándares para certificados de claves públicas y un algoritmo para validación de ruta de certificación. Este último se encarga de verificar que la ruta de un certificado sea válida bajo una infraestructura de clave pública determinada. Es decir, desde el certificado inicial, pasando por certificados intermedios, hasta el certificado de confianza emitido por una Autoridad Certificadora (CA o Certification Authority). URL: http://es.wikipedia.org/wiki/X.509

Acerca de OpenSSL. OpenSSL es una implementación libre, de código abierto, de los protocolos SSL (Secure Sockets Layer o Nivel de Zócalo Seguro) y TLS (Transport Layer Security o Seguridad para Nivel de Transporte). Está basado sobre el extinto proyecto SSLeay, iniciado por Eric Young y Tim Hudson, hasta que éstos comenzaron a trabajar para la división de seguridad de EMC Corporation. URL: http://www.openssl.org/

Implementación Instalación del servidor SMTP Primero tendremos que instalar el servidor smtp, usaremos el servidor postfix, en consola ejecutamos: dnf install postfix cyrus-sasl cyrus-sasl-plain Si existe, eliminamos: dnf remove cyrus-sasl-gssapi dnf remove cyrus-sasl-md5

Definiendo Postfix como agente de transporte de correo predeterminado. El mandato alternatives, con la opción alternatives--config mta, se utiliza para conmutar el servicio de correo electrónico del sistema y elegir que paquete utilizar. Sólo es necesario utilizar éste si previamente estaban instalados Sendmail o Exim. Sí este es el caso, ejecute lo siguiente desde una terminal y defina Postfix como agente de transporte de correo (MTA, Mail Transport Agent), seleccionado éste. alternatives --config mta Si existe mas de un MTA nos mostrará:

Generando firma digital y certificado para ambos servicios. Acceda al directiorio /etc/pki/tls cd /etc/pki/tls La creación de la firma digital y certificado requiere utilizar una clave con algoritmo RSA de 4096 octetos (bits), con estructura X.509 y sin DES. En el ejemplo a continuación, se establece una validez por 1825 días (cinco años) para el certificado creado:

openssl req -sha256 -x509 -nodes -newkey rsa:4096 -days 1825 \-out certs/alejandro.asor.com.crt -keyout private/alejandro.asor.com.key La instrucción anterior nos solicitará datos como:       

Código de dos letras para el país. Estado o provincia. Ciudad. Nombre de la empresa o razón social. Unidad o sección. Nombre del anfitrión. Dirección de correo.

Al finalizar nos mostrará un resumen:

Donde “dominio.tld” es nuestro nombre de dominio, en nuestro caso sería *.alejandro.asor.com, el asterisco permitirá que nuestro dominio tenga subdominios. Esto permitirá que el certificado sea valido para TLD’s Como: mail.alejandro.asor.com. A fin de facilitar a los clientes de correo electrónico el poder gestionar una futura actualización de certificado, conviene añadir una huella distintiva indubitable (fingerprint) al certificado.

openssl x509 -subject -fingerprint -noout -in certs/dominio.tld.crt Es indispensable que todos los archivos de claves y certificados tengan permisos de acceso de sólo lectura para el usuario root: chmod 400 certs/dominio.tld.crt private/dominio.tld.key

Configurando Postfix: Permitiendo la autenficicación por sasl: Nos pararemos en el directorio cd /etc/postfix

Editaremos el archivo master.cf nano master.cf

Descomentaremos las siguientes lineas:

submission inet n n smtpd -o smtpd_tls_security_level=encrypt -o smtpd_sasl_auth_enable=yes -o smtpd_client_restrictions=permit_sasl_authenticated,reject -o milter_macro_daemon_name=ORIGINATING smtps inet n n smtpd -o smtpd_tls_wrappermode=yes -o smtpd_sasl_auth_enable=yes -o smtpd_client_restrictions=permit_sasl_authenticated,reject -o milter_macro_daemon_name=ORIGINATING

Se verá algo parecido a:

Configurando postfix Editamos el archivo main.cf

nano main.cf Vamos a la línea comentada #myhostname la descomentamos y cambiamos después del signo igual, por el nombre del dominio de nuestro servidor en la red, en nuestro caso como tenemos el servidor dns configurado para que mi ip local sea mail.alejandro.asor.com finalmente se vería así: myhostname=mail.alejandro.asor.com Más abajo,descomentamos y cambiamos la variable "mydomain" le damos el nombre de nuestro dominio, se vería algo como:

mydomain=alejandro.asor.com Más abajo, descomentamos y cambiamos la variable myoirigin y le damos el valor $mydomain myorigin=$mydomain Mas adelante configuramos las interfaces, si está comentada la descomentamos, o añadimos i net_interfaces = all esto nos permitirá que trabaje con todas las interfaces de red. Ahora definiremos con qué nombre seremos el destinatario mydestination = $myhostname, $mydomain, localhost.localdomain, localhost Ahora Si se van a manejar más dominios de correo electrónico, lo añadimos. Bajando nos encontraremos con la variable mynetworks, si está comentada la descomentamos y añadimos la ip y su mascara de aquellas direcciones locales que va a escuchar nuestro servidor. mynetworks=192.168.1.0/24, Buscamos la variable home_mailbox y le daremos el valor Maildir/ home_mailbox = Maildir/ Esto permitirá a cada usuario tener en su directorio de trabajo una carpeta que se llamará "Maildir" Por ultimo añadiremos las lineas # tamano del mensaje 10M message_size_limit = 10485760 # tamaño del buzón 1GB O.o mailbox_size_limit = 1073741824

#configuracion TSL

smtpd_tls_security_level = may # Sólo se utiliza si se adquiere un certificado con un CA # smtpd_tls_CAfile = /etc/pki/tls/certs/ca-bundle.crt # Las rutas deben corresponder a las del certificado y firma digital creados.

#ruta a nuestra llave del certificado smtpd_tls_key_file = /etc/pki/tls/private/alejandro.asor.com.key

#ruta de nuestro certificado smtpd_tls_cert_file = /etc/pki/tls/certs/alejandro.asor.com.crt smtpd_tls_auth_only = no smtp_use_tls = yes smtpd_use_tls = yes smtp_tls_note_starttls_offer = yes smtpd_tls_loglevel = 1 smtpd_tls_received_header = yes smtpd_tls_session_cache_timeout = 3600s tls_random_source = dev:/dev/urandom smtpd_tls_protocols = !SSLv2,!SSLv3 smtpd_tls_mandatory_protocols = !SSLv2,!SSLv3 smtp_enforce_tls = yes

# Soporte para autenticar a través de SASL. # smtpd_sasl_local_domain = # Solo como referencia. smtpd_sasl_auth_enable = yes smtpd_sasl_security_options = noanonymous broken_sasl_auth_clients = yes smtpd_sasl_path = private/auth smtpd_sasl_authenticated_header = yes smtpd_recipient_restrictions permit_sasl_authenticated,permit_mynetworks,reject_unauth_destination smtpd_sasl_path = smtpd

Por ultimo reiniciamos el servicio, si no lo habíamos iniciado pues lo iniciamos. systemctl restart postfix.service

Testeando el servidor postfix Primero que todo añadiremos dos usuarios, en mi caso añadiremos el usuario “alejandro” y “alejandroemail”.

adduser alejandro adduser alejandroemail

Ahora cambiamos las contraseñas, a los dos usuarios le colocaremos como contraseña “12345” escribiremos la instrucción passwd seguido de el nombre del usuario, y seguimos las instrucciones:

passwd alejandro,passwd alejandroemail

Verificamos que se crearon correctamente ejecutando las instrucciónes cd /home ls -l

Como vemos los usuarios se crearon correctamente.

Verificando desde fedora: Instalamos telnet: dnf install telnet abrimos una sesión telnet a nuestro servidor postfix por el puerto 25: telnet mail.alejandro.asor.com 25

vemos que tenemos respuesta, para enviar un correo desde telnet le diremos la siguiente instruccion: mail from: [email protected]

El servidor nos ha respondido, ahora para especificar el destinatario escribiremos rcpt to: [email protected]

Hemos obtenido respuesta, ahora escribiremos el mensaje con la instrucción: data

Nos responde con las instrucciones de como terminar el mensaje, en terminos coloquiales debemos hacer una linea con un solo punto “.”, es decir enter, punto, enter.

Como vemos obtenemos respuesta, saldremos con la instrucción quit

Para verificar que el correo se entregó correctamente vamos abriremos el directorio de correo del usuario a quien se lo mandamos, es decir a alejandroemail

cd /home/alejandroemail/Maildir/

En esta carpeta veremos la siguiente información:

donde new es la carpeta donde se almacenan los mensajes nuevos, los archivos que podemos ver son de administración, como archivos los, cache, y datos de nuestro cliente de correo (lo veremos mas adelante).

Dentro de la carpeta new veremos los correos

Este es el correo que hemos enviado, para visualizarlo copiamos la dirección y abrimos el archivo: nano 1462157275.Vfd02Iff812M871816.fedora

como vemos el mensaje fue almacenado correctamente. Si usaramos el servidor pop el mensaje después de haberse leido sería borrado de la carpeta.

Instalación del servidor POP/IMAP Para el servidor POP o IMAP usaremos dovecot, es un servidor que nos permitirá manejar ambos protocolos al tiempo: dnf install dovecot

Configurando Dovecot: Después de instalar procedemos a configurarlo, iremos a la carpeta de configuración de dovecot, esta se encuentra en la carpeta etc

cd /etc/dovecot

Encontraremos la carpeta conf.d cuyo contenido son varios archivos de configuración del servidor. Primero abrimos el archivo dovecot.conf

nano dovecot.conf

Buscaremos las siguientes lineas y si no existen las agregamos al final:

Linea que Linea final (cómo se vería) buscamos protocols

protocols = imap imaps pop3 pop3s

listen

listen = *, :: Esta variable nos dirá que escuchará por todas las direcciones ipv4 (*), y las direcciones ipv6 (::)

protocol imap{ protocol imap { ... listen = *,:: } #ssl_listen = * } Esta directiva configura el protocolo imap para que escuche por todas las direcciones ipv4 y las ipv6, si no la añadimos o configuramos cuando configuremos nuestro cliente de correo no podremos conectarnos con este protocolo

Abrimos el directorio conf.d y veremos los siguientes archivos

Abrimos el archivo 10-mail.conf

Linea que buscamos

Linea final (cómo se vería)

#mail_location =

mail_location = maildir:~/Maildir

Habilitaremos el cifrado 10-ssl.conf

Linea que buscamos Linea final (cómo se vería) ssl

ssl=yes

ssl_cert

ssl_cert =

Get in touch

Social

© Copyright 2013 - 2024 MYDOKUMENT.COM - All rights reserved.