Trabajo Escrito Correo en Centos

66
Servidor de correo seguro Instalación y Configuración del servidor de correo en Centos 5.4 Por: Maryed Alvarez Alvarez Wilmer Arlex Castrillón Jorge Luis Madrigal Grupo: 38110 Instructor: Camilo Andrés Zapata SENA ANTIOQUIA 2011

Transcript of Trabajo Escrito Correo en Centos

Page 1: Trabajo Escrito Correo en Centos

Servidor de correo seguro

Instalación y Configuración del servidor de

correo en Centos 5.4

Por: Maryed Alvarez Alvarez Wilmer Arlex Castrillón

Jorge Luis Madrigal

Grupo: 38110

Instructor:

Camilo Andrés Zapata

SENA ANTIOQUIA

2011

Page 2: Trabajo Escrito Correo en Centos

1

INTRODUCCION

Un servidor de correo es un servicio muy utilizado para solucionar la problemática de

comunicación interna y externa en las organizaciones, los servidores de correo más

comunes en internet son (gmail y hotmail), este servicio esta se implementa con la ayuda

de varios protocolos como el IMAP, POP3 y el SMTP.

El propósito con la elaboración y presentación del contenido de esta obra es dar a conocer

la implementación de un servicio de correo electrónico en plataformas libres como Centos

y afianzar conocimientos sobre los protocolos que se manejan en la instalación y

configuración de este servicio.

Page 3: Trabajo Escrito Correo en Centos

2

CONTENIDO

Pag

Introducción 1

Contenido 3

Instalación y configuración de postfix con usuarios del sistema 6

Postfix con usuarios virtuales en un sistema de directorio (Postfix + openldap) 11

Instalación y configuración del administrador grafico del ldap 15 Agregar esquema al Ldap 23

Configuración de postfix para que se integre con ldap 25

Instalación y configuración de Dovecot 30

Pruebas del Dovecot 35

SASL (capa de seguridad y autenticación simple) 36

Pruebas del SASL 38

Instalación y configuración del servicio de nombres de dominio (DNS) 40

Instalación y configuración de TLS 43

Configuración de SSL en Dovecot 56

Instalación de squirrelmail (webmail) 63

Conclusiones 65

Page 4: Trabajo Escrito Correo en Centos

3

MARCO TEORICO

SMPT:

Protocolo Simple de Transferencia de Correo, es un protocolo de la capa de

aplicación. Protocolo de red basado en texto utilizado para el intercambio de mensajes

de correo electrónico.

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.

POP3:

Protocolo de la oficina de correo, es utilizado en clientes locales de correo para obtener

los mensajes de correo electrónico almacenados en un servidor remoto.

MAILDIR:

Maildir es un formato de spool de correo electrónico que no bloquea los ficheros para

mantener la integridad del mensaje, porque los mensajes se almacenan en ficheros

distintos con nombres únicos.

MAILBOX:

Este formato se refiere a que los correos se guardaran en un solo archivo, cada usuario

tendrá un archivo donde se guardaran todos los coreos.

LDAP:

Protocolo Ligero de Acceso a Directorios, Hace referencia a un protocolo a nivel de

aplicación el cual permite el acceso a un servicio de directorio ordenado y distribuido para

buscar diversa información en un entorno de red. LDAP también es considerado una base

de datos, aunque su sistema de almacenamiento puede ser diferente, a la que pueden

realizarse consultas.

TLS:

Seguridad en la capa de transporte, este protocolo cifra todo la comunicación que se envié

por un canal para que intrusos no tengan como poder saber cuáles son los verdaderos

datos que están viajando por la red.

Page 5: Trabajo Escrito Correo en Centos

4

SSL:

SSL proporciona autenticación y privacidad de la información entre extremos

sobre Internet mediante el uso de criptografía. Habitualmente, sólo el servidor es

autenticado (es decir, se garantiza su identidad) mientras que el cliente se mantiene sin

autenticar.

SASL:

Capa de seguridad y autenticación simple, la función de este protocolo es garantizar que

el usuario que se trate de conectar al servicio si sea el que dice ser por medio de

autenticación.

DOVECOT:

Dovecot es un servidor de IMAP y POP3 de código abierto para sistemas GNU/Linux

escrito fundamentalmente pensando en seguridad.

POSTFIX:

Postfix es un servidor de correo de software libre y código abierto, es 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 al ampliamente

utilizado Sendmail.

MUA:

Cliente de correo electrónico, es un programa de ordenador usado para leer y enviar e-

mails.

THUNDERBIRD:

Es un cliente de correo electrónico de la Fundación Mozilla. Su objetivo es desarrollar un

Mozilla más liviano y rápido mediante la extracción y rediseño del gestor de correo del

Mozilla oficial, Es multiplataforma.

MTA:

Agente de transporte de correo, es el servidor de correo como tal en este caso utilizamos

postfix.

Page 6: Trabajo Escrito Correo en Centos

5

MDA:

Mail Delivery Agent, Agente de Entrega de Correo. Es un software, el cual permite la entrega del correo entrante y los distribuye a los buzones de los destinatarios

MAA:

Agente de acceso al correo es un software que te permite acceder al buzón del usuario y

mirar los correos que hay en él.

MRA

Agente de recuperación de correo, este software puede ser el POP3 o el IMAP que son los

encargados de acceder al buzón donde están los correos y descargarlos.

Ldapsoft:

Es un software de administración grafica para el OpenLdap.

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.

Page 7: Trabajo Escrito Correo en Centos

6

INSTALACION Y CONFIGURACION DE POSTFIX CON USUARIOS DEL SISTEMA

Postfix es un servidor de correo que tiene licencia libre, es el agente de envío de correo

(SMTP) que surgió para que fuera una solución más rápida y segura en comparación con el

servidor sendmail.

1. Verificación del puerto 25 (SMTP), como podemos ver en la siguiente imagen el

puerto 25 por defecto está corriendo con el servicio sendmail.

2. Paramos el servicio sendmail y le decimos al sistema que cuando vuelva a iniciar en los

niveles 2, 3, 4 y 5 el servicio sendmail lo apague.

En la siguiente imagen podemos ver que la configuración del servicio sendmail esta

desactivado en todos los niveles de inicio del sistema.

Page 8: Trabajo Escrito Correo en Centos

7

Verificamos que el servicio sendmail en el puerto 25 no este corriendo, como vemos en la

siguiente imagen el servicio no está corriendo.

3. Ahora procedemos a instalar el servidor de correo Postfix, en la siguiente imagen se

muestra cuales con los pasos de la instalación del servicio. Lo primero que hago es buscar

el paquete en los repositorios que tengo y luego si lo instalo.

Luego de esto digitamos el siguiente comando para ver los archivos de configuración del

servicio postfix, el archivo que vamos a configurar es el que está marcado en negro

(/etc/postfix/main.cf)

Page 9: Trabajo Escrito Correo en Centos

8

4. Ahora debemos decirle al sistema que el servidor MTA es el postfix y no el sendmail. Para

esto digitamos el siguiente comando y de la lista elegimos el servidor postfix.

5. Ahora vamos a modificar el archivo de configuración del postfix, lo único que hay que

modificar son las líneas que se ven a continuación, esto es un resumen del archivo en realidad

contienen muchas más líneas solo las que se ven acá fue las que modifique.

NOTA: no borres ni modifiques más líneas, porque pueden ser necesarias para el

funcionamiento del servicio, esta configuración solo es para usuarios del sistema y recuerden

que un buen administrador siempre debe hacer una copia de los archivos que va a modificar.

Parámetros:

Myhostname = Es el nombre de la maquina más el dominio.

Mydomain = Es el dominio con el cual va a trabajar el servidor de correo postfix.

Myorigin = esto significa que el origen de los correos va hacer el dominio del postfix.

Inet_interfaces = esto quiere decir que el servidor escucha por todas las interfaces.

Mydestination = esto especifica cuáles son los destinos de los correos.

Mynetworks = aquí ponemos el ID de red con el que queremos trabajar.

Page 10: Trabajo Escrito Correo en Centos

9

6. Reiniciamos el servicio y verificamos que este corriendo en el puerto 25, como vemos en la

siguiente imagen el servicio se inicia correctamente.

7. Ahora voy a crear un usuario del sistema para mandarle un correo y verificar que el postfix

si este trabajando bien.

8. Envío del correo. Para enviar un correo debemos digitar el siguiente comando.

Y miramos los logs para verificar que el mansaje fue recibido en su destino, por defecto en el

postfix los buzones se guardan en el directorio /var/mail/ y el nombre del usuario, las colas

de correo quedan en el directorio /var/spool/mail/ y el nombre del usuario. Como vemos en

la imagen el mensaje fue enviado por [email protected] al usuario [email protected] y fue

removido de la cola.

Page 11: Trabajo Escrito Correo en Centos

10

9. Verificación del buzón del usuario, esto lo hacemos para verificar que el mensaje si fue

recibido correctamente en su buzón. Como dijimos anteriormente el buzon del usuario

queda en el directorio /var/mail.

Page 12: Trabajo Escrito Correo en Centos

11

POSTFIX CON USUARIOS VIRTUALES EN UN SISTEMA DE DIRECTORIO (POSTFIX + OPENLDAP)

1. Que es OpenLdap:

Openldap es un servicio de directorio de código abierto que ofrece soporte para el protocolo

LDAP (protocolo de acceso ligero al directorio), es utilizado en plataformas GNU/Linux y

también es utilizado en plataformas BSD, AIX, HP-UX, Mac OS X, Solaris, Microsoft Windows

(NT y derivados, incluyendo 2000, XP, Vista), y z/OS.

Este servicio es el que utilizaremos para crear los usuarios virtuales y desde allí el postfix

pueda preguntar por ellos y algunos parámetros que son necesarios como la autenticación del

usuario, en conclusión vamos a integrar el postfix para que trabaje con el openldap.

Instalación de Openldap:

Lo primero que debemos hacer es buscar el paquete del servicio en los repositorios con lo que

estemos trabajando y luego instalarlo.

Luego buscamos los archivos de configuración del servicio. En la imagen se muestran los

archivos de configuración del ldap nosotros solo modificaremos el archivo

/etc/openldap/slap.conf

Page 13: Trabajo Escrito Correo en Centos

12

Modificamos el archivo de configuración, en la siguiente imagen se muestran cuáles son las

líneas que se deben modificar encerradas con el color rojo.

NOTA: el password del servicio ldap puede estar cifrado o como texto plano en este caso

nosotros trabajamos con texto plano. Pero acá les dejo un ejemplo de cómo hacerlo

cifradamente.

Como vemos en la imagen el código que arroja este comando es el password cifrado, entonces

si quieres que el password del ldap este cifrado solo copia este hash en la línea rootpw.

Iniciamos el servicio ldap para que coja las modificaciones que hemos hecho, como vemos en

la imagen aparece un error a una advertencia que nos dice que el archivo DB_CONFIG no está

en el directorio /var/lib/ldap.

Page 14: Trabajo Escrito Correo en Centos

13

Ahora lo que debemos hacer es copiar el archivo /etc/openldap/DB_CONFIG.examenple al

directorio /var/lib/ldap y renombrarlo como DB_CONFIG. Y como vemos en la imagen al reiniciar de

nuevo ya no aparece el mensaje de advertencia.

Creamos la base del servicio de directorio OpenLdap para así poderlo administrarla desde un

entorno gráfico, para hacer esto como vemos en la imagen hay que crear un archivo que

contenga los siguientes parámetros y luego integrarlo al servicio OpenLdap.

Ese es el contenido que debe tener el archivo, esta es la base de la arquitectura con la que

vamos a trabajar.

NOTA: “dc” y “o” son parámetros obligatorios de los clases de objetos con la que estamos

trabajando. El archivo debe tener una extensión .ldif.

Ahora añadimos este archivo al servicio como tal. Para esto veamos la imagen a continuación

para ver cuál es el comando que debemos utilizar.

Page 15: Trabajo Escrito Correo en Centos

14

Con el siguiente comando podemos ver el contenido del servicio LDAP. Lo que está marcado

con el color negro especifica que la base fue creada correctamente que fue el archivo.ldif que

agregamos anteriormente.

Page 16: Trabajo Escrito Correo en Centos

15

2. Instalación del administrador grafico del ldap.

LdapSoft:

Es una herramienta de administración grafica para el LDAP, este software no es gratuito pero

podemos utilizarlo por 15 días en un modo de prueba. En el siguiente link lo pueden descargar.

LINK: http://www.ldapclient.com/downloads56/LdapAdminToolProfessional-5.6.x-Linux-x86-

Install.bin

NOTA: Hay muchos más software de administración para el servicio de directorios, aunque

también hay más sistemas de directorios que vienen con su administrador grafico incluido, un

ejemplo de este es el proyecto 389.

En este link pueden ver los diferentes softwares de administración grafica que pueden utilizar

para manejar y controlar gráficamente su LDAP.

LINK: http://en.wikipedia.org/wiki/List_of_LDAP_software

Instalación de LDAPSOFT:

Luego de que lo descarguemos del link anterior, le damos permisos para ejecutarlo

Ahora ejecutamos el programa, para esto utilizamos el siguiente comando.

Después de esto seguimos los pasos de la instalación las opciones a seguir están marcadas

en rojo.

Page 17: Trabajo Escrito Correo en Centos

16

Page 18: Trabajo Escrito Correo en Centos

17

Page 19: Trabajo Escrito Correo en Centos

18

En este momento el administrador grafico del LDAP LdapSoft ya está instalado en su equipo,

ahora lo que debes hacer es conectarte a tu servidor LDAP ya sea remota o localmente.

Configuración de LDAPSOFT

Damos clic en Open Connection, luego clic en new

Page 20: Trabajo Escrito Correo en Centos

19

A continuación configuramos la conexión, le damos un nombre y especificamos cual es

servidor donde está el LDAP. Y le damos siguiente.

Ahora Especificamos la autenticación con el usuario que tiene privilegios sobre el LDAP. Y

le damos siguiente

Page 21: Trabajo Escrito Correo en Centos

20

En este paso le damos finish, para que nos conectemos con el servidor LDAP.

A continuación nos aparecerá el entorno grafico de ldapsoft dentro de nuestro ldap.

Page 22: Trabajo Escrito Correo en Centos

21

3. Creación de la unidad organizativa de usuarios.

Para crear nuestra unidad organizativa nos dirigimos a la siguiente ruta: damos clic

derecho sobre el dominio (dc=redes, dc=com) > New entry > New Organizational Unit

y nos aparecerá la siguiente pantalla, donde le damos un nombre a nuestra unidad

organizativa y damos clic en Next.

Nos aparecerá creada nuestra unidad organizativa.

Page 23: Trabajo Escrito Correo en Centos

22

Ahora vamos a crear un usuario para realizar las pruebas. Nos dirigimos a la ruta: damos

clic derecho sobre la unidad organizativa que creamos anteriormente > New entry >

New users. Luego nos aparecerá la siguiente imagen donde le vamos a dar un nombre al usuario a

crear luego damos clic en Next y nos pedirá unos datos que deben ser obligatoriamente llenados

para crear el usuario.

.

Page 24: Trabajo Escrito Correo en Centos

23

AL final tendremos lago así en nuestro ldap.

AGREGAR ESQUEMA AL LDAP

Para agregar esquemas en el Ldap, descargamos un paquete que trae varios esquemas para el Ldap

y también trae varios archivos que nos pueden servir para nuestro servidor de correo, pero es este

caso solo nos interesa para los archivos que trae los esquemas del Ldap.

El link de descargar es: ftp://mds.mandriva.org/pub/mds/sources/2.3.2/mmc-agent-2.3.2.tar.gz.

Después de descargarlo se descomprime.

Por qué descargar estos esquemas?

Por qué necesitamos un esquema que traiga atributos como mail, mailenable, etc. Buscamos en

internet hasta encontrar los esquemas que necesitamos.

Mmc-agent-2.3.2 trae un esquema que al analizarlo encontramos los atributos que necesitábamos.

Este esquema de encuentra dentro de paquete mmc-agent-2.3.2 en la siguiente ruta: contrib > ldap

> mail.schema.

Después de saber cuál es el esquema debemos de añadirlo al ldap. Lo hacemos de la siguiente

manera.

Hacemos una copia del esquema mail.schema al directorio donde el ldap aloja todos sus esquemas.

Para ello lo realizamos desde una consoló y ejecutamos el comando mostrado en la siguiente

imagen. También depende el comando donde hayamos descargado mmc-agent-2.3.2.

Page 25: Trabajo Escrito Correo en Centos

24

Verificamos si la copia se hiso correctamente en el directorio donde se almacenan los esquemas del

ldap.

Ahora nos dirigimos al archivo de configuración del ldap para añadir el esquema. El archivo de

configuración es slapd.conf que se encuentra en el directorio /etc/openldap. En el archivo del ldap

agregamos un sentencia include con el esquema que vamos a agregar, la cual debe ser como se

muestra en la siguiente imagen.

Iniciamos el ldap para que cargue la nueva configuración.

Luego lo que hacemos es ir a la consola grafica de ldapsoft para añadir el nuestro servicio de

directorio los atributos que necesitamos a nuestros usuarios.

Después de agregar los atributos en los usuarios nos debe quedar algo así en cada uno de los

usuarios.

Page 26: Trabajo Escrito Correo en Centos

25

CONFIGURACIÓN DE POSTFIX PARA QUE SE INTEGRE CON LDAP

Primero debemos crear un usuario que es el encargado de guardar los mensajes de los usuarios

virtuales. Con el comando id podemos ver la información de los usuarios, como se muestra en la

imagen, este comando nos arroja un dato que es gran importancia en este proceso (uid y el

gid).También podemos ver el comando para para crear el usuario y la casa del usuario.

Page 27: Trabajo Escrito Correo en Centos

26

En el archivo de configuración del postfix (main.cf) agregamos las siguientes líneas.

Donde, la línea:

Virtual_mailbox_domains =

Le anuncia a postfix que redes.com, es el llamado buzón de correo del dominio virtual, ai se omite

este parámetro postfix no entregara el correo.

Virtual_mailbox_base =

Especifica un prefijo para todas las rutas de acceso de buzón virtual. Evita que el correo sea

entregado a todo el sistema de archivos.

Virtual_mailbox_maps =

Es el índice por la dirección de correo virtual, nombra la tabla de búsqueda de los buzones.

Virtual_uid_maps = y Virtual_gid_maps =

Parámetros que indican que todos los buzones son propiedad de un uid y un gid fijo.

Virtual_minimun_uid =

Límite inferior en el buzón Maildir del propietario UID.

En el archivo main.cf de postfix configuramos la siguiente línea para especificar que los correos van

a ser almacenados como Maildir.

Page 28: Trabajo Escrito Correo en Centos

27

En el postfix es necesario crear un archivo con el nombre de virtual_ldap.conf con los parámetros

que se muestrean a continuación en la imagen, esto con el fin de definir algunas reglas para la

entrega de correos. Este archivo hay que crearlo ya que en el anterior paso especificamos este

archivo en la sentencia Virtual_mailbox_map.

Las sentencias hacen referencia a:

Server_host =

Especificamos la dirección ip de nuestro servidor ldap.

Search_base =

Especificamos la base donde se van a hacer las consultas al ldap de los usuarios.

Query_filter =

Especificamos o hacemos que cuando se valla a enviar un correo pregunte si al usuario que se le va

a enviar o el que va a enviar el correo haga parte de los atributos que especifiquemos en esta

sentencia.

Result_atribute =

Le estamos diciendo a nuestro MTA como se va a almacenar los correos de cada usuario.

Result_format =

Le decimos al nuestro MTA con que nombre va a almacenar o como va a crear el directorio de

almacenamiento Maildir del usuario

Page 29: Trabajo Escrito Correo en Centos

28

Reiniciamos el servicio de postfix, para que este tome las configuraciones que hemos realizado.

Al igual que el paso anterior reiniciamos el ldap.

Con el comando postmap realizamos un mapeo de donde se almacenaran los correos enviados.

Page 30: Trabajo Escrito Correo en Centos

29

Para confirmar que nuestro servidor de correo si está funcionando correctamente enviaremos un

correo a uno de los usuarios que hemos creado anteriormente de la siguiente forma. Si al final de la

pantalla encontramos removed significa que el correo fue entregado de manera correcta.

En la esta imagen podemos observar que el correo si llego a un directorio especifico creado por el

sistema para el almacenamiento de los correos para este usuario.

Ya tenemos configurado nuestro MTA para que trabaje con usuarios virtuales y que también le haga

consultas al ldap.

Page 31: Trabajo Escrito Correo en Centos

30

INSTALACION Y CONFIGURACION DE DOVECOT

QUE ES DOVECOT:

Dovecot es una aplicación que contiene los protocolos IMAP y POP, estos protocolos son utilizados

para la recepción del correo trabaja con los estándares Mailbox y Maildir es un servidor de código

abierto para plataformas GNU/Linux.

Maildir:

Es un directorio donde se guardan los correos en un archivo independiente, Maildir es un

directorio que contiene 3 subdirectorios llamados (new, tmp y curl) en el subdirectorio new se

guardan los buzones de correo en un archivo independiente.

Mailbox:

Este formato se refiere a que los correos se guardaran en un solo archivo, cada usuario tendrá un

archivo donde se guardaran todos los coreos.

INSTALACION

1. Buscamos el paquete en los repositorios con los cuales estamos trabajando y luego

instalamos el servicio.

Vemos cuales son los archivos de configuración de esta aplicación. El archivo saltado con el

color rojo es el que debemos modificar que esta.

Page 32: Trabajo Escrito Correo en Centos

31

2. Ahora entramos a el archivo de configuración /etc/dovecot.conf utilizando cualquier

editor de texto como vim, nano, etc; y modificamos las siguientes líneas que están a

continuación, recuerden que lo que se ve a continuación es un resumen de del contenido

del archivo.

Protocols

Son los protocolos que se van a utilizar.

Protocol imap

Da una especificación del servicio imap, como por ejemplo el puerto en el que está

corriendo.

Protocol pop3

Da una especificación del servicio pop3, como por ejemplo el puerto en el que está

corriendo.

Syslog _facility

Donde van a llegar los logs del dovecot.

Mail_location

Es la dirección donde están alojados los buzones de los usuarios.

Auth default

Especifica el método de autenticación que utilizaran los usuarios para recuperar los

correos del buzón.

Passdb ldap

Args = Especifica la ruta donde se encuentra el archivo que se integra con el LDAP para

conocer cuales con los usuarios y sus contraseñas, En este caso consultaría por el

password de los usuarios.

Page 33: Trabajo Escrito Correo en Centos

32

Userdb ldap

Args = especifica cuál es el archivo que le contestara por los usuarios virtuales.

3. Ahora procedemos a crear el archivo /etc/dovecot-ldap.conf, para crear este archivo nos

podemos basar de la información que contiene el archivo

/usr/share/doc/dovecot/examples/dovecot-ldap-example.conf o copiar este archivo al

directorio /etc/ y renombrarlo.

4. Configuración del archivo /etc/dovecot-ldap.conf, a continuación verán un resumen de la

configuración del archivo.

Parámetros:

Host = especifica cuál es el servidor LDAP.

Sasl_bind = Si va o no va a trabajar con SASL.

Tls = si va a trabajar con este protocolo.

Auth_bind = autenticación básica.

Auth_bind-userdn = es la ruta donde se encuentran los usuarios que se van a autenticar.

Ldap_version = la versión del ldap con la que estés trabajando.

Page 34: Trabajo Escrito Correo en Centos

33

Base = es el lugar donde va a buscar todos los parámetros que necesite.

User_filter = son requerimientos que deben tener los usuarios para que puedan ser válidos, en

este caso el usuario debe pertenecer a una clase de objeto llamada mailAccount y debe tener

un UID definido.

Pass_attrs = este parámetro especifica que la contraseña es la que contiene la opción

userPassword y que el usuario debe ser reconocido por el UID.

Pass_filter = hace un filtro para saber dónde se encuentra el password del usuario.

User_global_uid = cual es el usuario que tiene permisos para ejecutar esta tarea.

User_global_gid = cual es el grupo que tiene permisos para ejecutar esta tarea.

5. Iniciamos el servicio y verificamos que si este corriendo y como vemos en la imagen el

servicio ya está corriendo en sus puertos correspondientes.

6. Ahora debemos crear unas reglas en el firewall para que permita que se puedan conectar

los usuarios remotamente por medio de estos puertos que están corriendo con IMAP y

POP, para esto solo vasta crear estas líneas que están resaltadas con el color rojo a

continuación en el archivo /etc/sysconfig/iptables

Page 35: Trabajo Escrito Correo en Centos

34

Después de esto reiniciamos el firewall para que coja los cambios.

7. Ahora desde un cliente de correo o MUA como por ejemplo thunderbird, evolution, etc .

Nos conectamos al buzón de un usuario para verificar que el protocolo IMAP o POP están

trabajando correctamente. Como vemos en la siguiente imagen el usuario puede acceder

a su buzón por medio de un cliente de correo utilizando el protocolo IMAP.

NOTA: En los sistemas Linux está instalado por defecto el cliente de correo Evolution.

Page 36: Trabajo Escrito Correo en Centos

35

PRUEBAS DEL DOVECOT

Envío de correo por medio de un MUA.

Recibo de correo desde el otro usuario. Como pueden ver en la siguiente imagen el correo fue

recibido satisfactoriamente en el buzón del otro usuario.

Page 37: Trabajo Escrito Correo en Centos

36

SASL (CAPA DE SEGURIDAD Y AUTENTICACIÓN SIMPLE)

Es un protocolo utilizado para la autenticación y autorización de usuarios, este protocolo es muy

común que trabaje en conjunto con TLS/SSL para que las credenciales y los demás datos que se

intercambien en una comunicación viajen cifrados y por ende más seguros.

CONFIGURACION DE SASL EN EL POSTFIX Y EN EL DOVECOT:

1. Editamos el archivo de configuración del postfix /etc/postfix/main.cf y agregamos las

siguientes líneas.

NOTA: en la documentación del servicio podemos encontrar información sobre las siguientes

líneas. Esta documentación se encuentra en el directorio /usr/share/doc/postfix/

Smtpd_sasl_auth_aneble = yes (esta línea es para habilitar la autenticación con SASL).

Smtpd_recipient_restrictions = Permit_sasl_authenticated, reject (Esta línea nos dice que los

usuario deben pedir autenticación con sasl y los que no la pidan van a ser rechazados)

Smtpd_sasl_type = dovecot (El usuario que tiene permiso sobre el imap y el pop)

Smtpd_sasl_path = private/auth (es el intermediario entre el postfix y el dovecot, este archivo

está en el directorio /var/spool/postfix/prívate/auth/)

Smtpd_sasl_security_options = noanonymous, noplaintext (la autenticación no puede ser plana

y no pueden ser usuarios anónimos)

Page 38: Trabajo Escrito Correo en Centos

37

2. Ahora vamos al archivo de configuración del dovecot y agregamos las siguientes líneas que

se van a continuación.

Page 39: Trabajo Escrito Correo en Centos

38

3. Reiniciamos los servicios para que carguen las modificaciones.

PRUEBAS DEL SASL

Si hemos configurado todo correctamente cuando volvamos a iniciar sesión con un usuario

desde el MUA nos deberá pedir autenticación para el IMAP y para el SMTP o postfix.

1. Envío de correo y autenticación.

Autenticación SMTP (postfix)

Page 40: Trabajo Escrito Correo en Centos

39

Autenticación IMAP, cuando inicies sesión con un usuario lo primero que te deberá aparecer

es esta autenticación para que te pueda dejar acceder al buzón de tu usuario

NOTA: el software evolution solo pide una sola vez autenticación para el envío de correo

(SMTP) y las demás veces no pide autenticación el recuerda la contraseña, para que te la

vuelva a pedir debes iniciar sesión de nuevo.

Si la autenticación es válida puedes ingresar a tu buzón de correo.

Page 41: Trabajo Escrito Correo en Centos

40

INSTALACION Y CONFIGURACION DEL SERVICIO DE NOMBRES DE DOMINIO (DNS)

BIND:

Bind es el servidor de DNS mas utilizado en todo el mundo, el servicio de nombre de dominio es

esencial para la infraestructura del proyecto debido a que el nos va a resolver los nombres de

dominio por las direcciones IP; este software es de licencia BSD es decir que se puede modificar,

compartir, cambiar la licencia y usarlo.

1. Instalacion de los paquetes necesarios.

2. Verificamos los archivos de configuracion del bind.

3. Modificamos el archivo de configuracion en este archivo se configuran las zonas.

Page 42: Trabajo Escrito Correo en Centos

41

4. Ahora lo que debemos hacer es copiar las zonas directas e inversas

5. Configuracion de la zona inversa.

6. Configuracon de la zona Directa.

7. Configuramos el siguiente archivo

Page 43: Trabajo Escrito Correo en Centos

42

8. Luego de todo esto configuramos el archivo /etc/resolv.conf para que el servicio DNS que

acabamos de instalar se implemente en esta maquina.

9. Ahora Reiniciamos el servicio para que cargue la configuracion.

10. Verificamos que el servicio si este corriendo en el puerto correspondiente.

Page 44: Trabajo Escrito Correo en Centos

43

INSTALACION Y CONFIGURACION DE TLS

Que es TLS:

Protocolo de capa de conexión segura. Es un protocolo criptográfico que proporciona

comunicaciones seguras por una red, comúnmente Internet.

Para la implementacion de tls es necesario instalar openssl.

Openssl es un paquete relacionado con criptografia.

Al finalizar la instalación verificamos cuales son los archivos de configuración del openssl.

Nos dirigimos al archivo de configuración de openssl para empezar nuestra configuración. Antes

que todo para implementar TLS debemos de crear una CA (Entidad Certificadora), para cuando el

cliente y el servidor de correo se comuniquen de forma segura la CA sea la que nos garantice que

si nos estamos comunicando de forma segura y que quien dice ser el servidor de correo sea el

servidor de correo correcto.

1. Creación de la CA (Entidad Certificadora).

El archivo para crear la CA nos la muestran en la imagen siguiente. Luego de estar en la ruta que se

muestra en un cuadro rojo, listamos lo que tiene el directorio y después ejecutamos el script

llamado CA con el comando que se muestra en la imagen. La opción –h que va después del script

me muestra las opciones que puedo utilizar con el script. Este script es llamado o es ejecutado con

el comando ./nombre del script.

La opción para crear la CA es newca que va después del comando de ejecución del script.

Page 45: Trabajo Escrito Correo en Centos

44

Luego nos aparecerá una serie de preguntar acerca de la nueva CA. Las preguntas son las que

aparecen en un recuadro rojo.

En la pregunta siguiente escribimos un password.

Enter PEM pass phrase: “password” y luego verificamos el password.

En la pregunta

Enter pass phrase for:

Escribimos el password que elegimos en la primera pregunta del script.

Ya tenemos nuestra CA creada. Después de digitar el password nos aparece un resumen de lo que

hicimos anteriormente.

Page 46: Trabajo Escrito Correo en Centos

45

Como podemos observar en la imagen anterior tenemos un problema ya que nos dice que la CA es

falsa.

Después de investigar el error o el problema sacamos la conclusión de que el error era del script.

Nos dirigimos hacia el script para resolver el problema. Ingresamos al script a través de un editor

de texto.

Que modificamos para solucionar el problema?

En las sentencias que están en un recuadro rojo se añadieron al script, para solucionar el

problema. Estas sentencias deben ir en la echo adecuado.

-extensions v3_ca: especifica que estamos creando un certificado CA.

Page 47: Trabajo Escrito Correo en Centos

46

Ya solucionado el problema volvemos a realizar el proceso de creación de la CA para verificar que

el error si fue solucionado.

Ejecutamos el script.

Volvemos a llenar los datos o a contestar las preguntas para crear la CA.

Page 48: Trabajo Escrito Correo en Centos

47

En la imagen anterior podemos ver que ahora si dice que nuestra ca es verdadera (ca= TRUE).

Ahora si podemos decir que el problema fue solucionado.

Ingresamos al archivo de configuración de openssl que está ubicado en la siguiente ruta

/etc/pki/tls/openssl.cnf.

Que contiene este archivo?

Este archivo contiene todas las rutas que se generan cuando ejecutamos el script CA. Al frente de cada ruta especifican que contienen cada una de ellas. Lo único que se modifico es este paso es la primera ruta que decía : dir = ../../CA y fue modificada por: dir = /etc/pki/CA.

Page 49: Trabajo Escrito Correo en Centos

48

Ahora vamos a generar la petición de certificado a nuestra CA.

Nota: cuando generamos nuestra petición de certificado a la misma vez generamos una llave

privada del servidor.

Para generar una petición de certificado utilizamos el comando que se muestra en la imagen.

Luego de ejecutar el comando hay que contestar las preguntas con las cuales se va a generar la

petición de certificado.

Parámetro del comando openssl:

Req: Es una petición. New: nueva petición. Nodes: le decimos que no encripte la nueva clave. Keyout: Donde queremos generar la llave privada del servidor. Out: Donde queremos generar la petición de certificado.

La petición fue creada en el directorio donde estábamos parados en ese momento y la llave

privada del servidor se generó en el directorio de postfix ya que cuando realizamos la petición de

certificado especificamos donde se generaba la llave privada.

Page 50: Trabajo Escrito Correo en Centos

49

Firmamos la nueva petición de certificado con la CA.

Para ello ejecutamos el comando que se muestra en la imagen siguiente. También nos preguntara

por la llave privada de la CA la cual es con la que firmaremos la petición de certificado.

Nos preguntara si estamos seguros de que queremos firmar la petición por 365 dias, decimos que

sí.

Page 51: Trabajo Escrito Correo en Centos

50

Parámetros del comando:

ca: Que firmaremos la petición con la CA.

Out: El certificado firmado que vamos a mostrar o que se va a generar.

Infiles: Especifica el CSR (petición de certificado) que vamos a firmar.

Verificamos que la llave privada del servidor y el certificado firmado por la CA se hayan generado

en el archivo adecuado o que se especificó anteriormente.

Hacemos una copia del certificado del servidor con la llave pública al directorio de postfix. El

certificado de la CA es cacert.pem. Para hacer la copia del certificado de la CA lo realizamos

ejecutando el comando que se ve en la imagen siguiente.

Ahora se recomienda darles unos permisos específicos al certificado de la CA, la llave priva del

servidor y el certificado del servidor.

Page 52: Trabajo Escrito Correo en Centos

51

Ahora lo que haremos es instalar el certificado de la CA en el cliente MUA. El cliente de correo que

utilizamos fue thunderbird.

Para descarga thunderbird en el siguiente link lo puede descargar y le dicen como instarlo.

Link de descarga: http://download.mozilla.org/?product=thunderbird-3.1.9&os=win&lang=es-ES

Link de documentación de instalación: http://www.mozilla-

hispano.org/documentacion/Descargar_e_instalar_Thunderbird

Nos dirigimos a la opción editar y elegimos preferencias.

Luego nos dirigimos a la opción certificados y damos clic en ver certificados.

Page 53: Trabajo Escrito Correo en Centos

52

Damos clic en importar y elegimos el certificado de la CA de vamos a añadir cono un Ca de

confianza.

Luego nos parece algo así, donde le elegimos las opciones de que muestra la imagen siguiente.

Page 54: Trabajo Escrito Correo en Centos

53

Buscamos para verificar que nuestro certificado fue añadido correctamente.

Elegimos la opción ver en la imagen anterior y nos aparecerá el certificado que se añadió.

Nota: Todos se preguntaran como apareció el certificado de la CA en el cliente de correo viendo

que está en otra máquina.

Lo que hicimos fue enviar el certificado de la CA a través de correo, también se podía hacer

transfiriéndolo con una memoria.

Page 55: Trabajo Escrito Correo en Centos

54

Configuramos nuestro cliente de correo para que utilice TLS.

Nos paramos en un usuario que tengamos y damos clic en ver configuración de esta cuenta.

Nos dirigimos a la opción servidor de salida SMTP.

Page 56: Trabajo Escrito Correo en Centos

55

Elegimos la salida SMTP del usuario que queremos que utilice TLS. Damos clic en la opción editar

para agregarle la opción de TLS.

En la opción seguridad de la conexión elegimos STARTTLS. El nombre del servidor debe ser el

nombre de la máquina de nuestro MTA, el puerto por el que trabaja MTA, el método de

identificación que será normal y el nombre del usuario con que se autenticara dicho usuario

cuando envié correos hacia los destinos.

Si queremos verificar el funcoinamiento del TLS lo podemos hacer enviando un correo y si no nos

sale ningun advertencia del sertificado es por que todo quedo bien, otra forma es instalar un

software de analicis de trafico como wireshark y verificar que los datos esten cifrados.

Page 57: Trabajo Escrito Correo en Centos

56

CONFIGURACION DE SSL EN DOVECOT

Para configurar SSL en Dovecot tenemos que crear primero un certificado y una llave privada del

servicio Dovecot. Para hacemos lo siguiente.

Hay que ejecutar un script que está en la documentación del Dovecot, pero antes de ejecutar el script

debemos de modificar un archivo donde especificaremos con que información se creara nuestro

certificado para Dovecot. Este archivo ya viene por defecto cuando se instala Dovecot, solo es si no

modificarlo.

En la siguiente imagen muestra donde está ubicado el archivo y con qué editor se abrió para

modificarlo.

Ya dentro del archivo se modificó lo que se muestra en un recuadro rojo. La información que se

muestra es de acuerdo al servidor de correo que se esté montando.

Page 58: Trabajo Escrito Correo en Centos

57

Ahora si ejecutamos el script. El script se encuentra en la ruta que se muestra en la imagen y tambie

se ve el comando para ejecutar el script. También nos aparece la información con la cual se creo el

certificado y la ruta donde almaceno la llave privada.

Verificamos que el certificado si fue creado, para ello nos dirigimos a la ruta que se muestra en la

imagen.el nombre del certificado es creado Dovecot.pem.

También verificamos que si haya creado la llave privada, en la ruta que dijo al ejecutar el script.

Renombramos el certificado y la llave privada para distinguirlas más fácil, ya que cuando se ejecuta

el script las nombra con el mismo nombre.

Page 59: Trabajo Escrito Correo en Centos

58

Ahora vamos a configurar en archivo Dovecot.conf para especificar las líneas de SSL.

Primero debemos añadir los protocolos seguros del Dovecot.

Insertamos o agregamos las líneas que se muestran en el recuadro rojo. Las líneas a agregar deben

de ir dentro de la sentencia del protocolo. En estas líneas especificamos el certificado y la llave

privada de Dovecot que se creó cuando ejecutamos el script.

Se descomentan las líneas que se muestran en la imagen y de nuevo damos la ruta donde se

encuentra en certificado y la llave privada de Dovecot.

Creamos un password cifrado para el Dovecot. Para ejecútanos el comando que se muestra en la

imagen y insertamos el password que deseamos para el Dovecot, luego nos arrojara un código o la

clave cifrada. Este código debemos de copiarlo en una sentencia que se muestra en el otro paso a

seguir.

Page 60: Trabajo Escrito Correo en Centos

59

La clave cifrada la copiamos en la sentencia ssl_key_password

Descomentamos las líneas que se muestran en la siguiente imagen y a la vez hay que modificarlas y

debe quedar como se muestran.

Guardamos la configuración anterior y reiniciamos el servicio.

Page 61: Trabajo Escrito Correo en Centos

60

Ahora verificamos que el servicio está corriendo y también se puede observar que están corriendo los

puertos seguros de Dovecot.

Realizamos la prueba del funcionamiento de SSL, para eso ejecutamos el comando que se muestra

la imagen y nos va a arrojar información de la conexión desde un cliente al servidor a través del

puerto seguro.

Page 62: Trabajo Escrito Correo en Centos

61

Page 63: Trabajo Escrito Correo en Centos

62

INSTALACION DE SQUIRRELMAIL (WEBMAIL)

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.

El primer paso para realizar la instalación de nuestro webmail, es buscando el paquete en los

repositorios y luego instarla en webmail squirrelmail.

También debemos de instalar el servicio web, ya que squirrelmail es un sitio web por cual

accedemos a la cuenta del usuario.

Luego realizamos una copia del sitio web de squirrelmail, el cual debe de estar en el directorio

donde se alojan los sitios web del servidor web. Al archivo que debemos hacer la copia se encuentra

en la ruta: /usr/share/

Reiniciamos el servicio http para que guarde la configuración del sitio del webmail.

Page 64: Trabajo Escrito Correo en Centos

63

Ingresamos al nuestro webmail a través un navegador web.

Ahora nos vamos para la consola y enviar un mensaje desde ahí, y luego iremos a probar nuestro

webmail.

De nuevo nos vamos al navegar y ingresamos con el usuario al cual se le envió el correo.

Page 65: Trabajo Escrito Correo en Centos

64

Luego de ingresar con la cuenta podremos ver que el mensaje llego con éxito y que nuestro webmail

está funcionando correctamente.

Page 66: Trabajo Escrito Correo en Centos

65

CONCLUSIONES

Es importante implementar los métodos de seguridad como SASL, TLS y SSL para que

el sistema de correo este seguro.

Ldap es un protocolo de acceso ligero a directorio. Este tambien es llamado servicio de

directorio.

Smtp es el protocolo que se utiliza para en envio de correos.

Pop3 e Imap son los protocolos utilizados para recibir los correos enviados a traves de

smtp o http.

Ldapsotf es la aplicación grafica para administrar el servicio de directorio (Ldap).

Thunderbird es un cliente de correo electrónico de la Fundación Mozilla.

Postfix es el MTA o servidor de correo para el envio de correos.

Dovecot es un servicio que trabaja con los protocolos pop3 e imap para recibir los

correos.