Correo - Dovecot

Un Servidor IMAP

Bueno, ya tenemos nuestro Servidor de Correo postix en marcha: éste nos permite mandar correos desde nuestro Servidor y, si nos mandan un correo lo deja en nuestro buzón para que lo leamos. Pero, ¿cómo podemos acceder a él? Seguro que has configurado alguna vez un cliente de correo o MUA (Kmail, Thunderbird, Evolution, ...) y le has tenido que colocar ahí los datos del servidor POP. Éste es el que te permite acceder a los mensajes que están en la máquina receptora y traértelos hasta la tuya para leerlos.

Un Servidor IMAP es algo semejante. IMAP es un Protocolo Interactivo de Acceso a Mensajes: algo que nos permitirá guardar nuestros mensajes en el Servidor en carpetas, de modo que cada mensaje sea un único archivo, y con el que podremos dejar nuestros mensajes en el Servidor después de leerlos, filtrarlos, ... Los más usados son Courier y Cyrus. Por su simplicidad de funcionamiento y configuración yo elegí dovecot.

Mailbox vs Maildir

Cuando hicimos pruebas con nuestro flamante postfix vimos que los correos no son más que mensajes de texto, llenos de códigos, que se van añadiendo sucesivamente a un archivo. Éste es el denominado mbox y su ubicación por defecto es /var/spool/mail/usuario/.

Maildir es una implementación que pretende mejorar los mailbox, creando varios directorios (maildirs) en los que se guardarán los mensajes, de tal forma que uno de ellos se guarda en un archivo individual. Además utiliza un nuevo formato, permite que varios procesos accedan simultáneamente a los maildirs, ...

Como ya mencionamos de pasada en la configuración de postix, usaremos buzones de tipo maildir.

Instalación y Configuración

Instalamos:

# urpmi dovecot
instalando
Preparando... #############################################
1/1: dovecot #############################################

Y en el archivo el archivo de configuración /etc/dovecot.conf comentamos la línea

#default_mail_env = mbox:%h/Mail/:INBOX=/var/spool/mail/%u:INDEX=%h/.imapidx

y en su lugar dejamos:

default_mail_env = maildir:%h/Mail/:INBOX=/%h/Mail/new/:INDEX=%h/.imapidx

¿Qué hemos hecho? Indicar dos cosas: primero que usaremos maildir en lugar de mbox y segundo que la carpeta de entrada de mensajes será directorio_home_usuario/Mail/new/. Nótese que no tiene por qué ser /home/usuario/Mail/new/.

Fíjate todas las opciones de configuración que permite dovecot, y lo simple y elegantemente que se consigue lo que quieres.

Para terminar iniciando el servicio:

# /etc/init.d/dovecot start
Starting IMAP daemon (dovecot): [OK]

Bien

Veamos puertos a la escucha. En los que nos afecta aquí vemos dos: imap=143 e imaps=993 (imap seguro):

# netstat -puta
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 *:imap *:* LISTEN 3890/dovecot
tcp 0 0 *:imaps *:* LISTEN 3890/dovecot

Vemos que está preparado para acceder al correo en modo seguro, cifrando las comunicaciones con ssl. Esta capacidad puede activarse de forma relativamente sencilla generando los certificados y señalando en el archivo /etc/dovecot.conf dónde están mediante:

ssl_cert_file= ...
ssl_cert_key_file= ...

Esta capacidad no la he activado, por que no la necesitamos por ahora como veremos a continuación.

Qué uso vamos a darle

Bien, ahora deberíamos abrir este puerto tanto en el firewall como en el router, para poder acceder desde el exterior usando nuestro clientes de correo (thunderbird, evolution, ...). Tal y como hemos comentado antes, el acceso al servidor imap se realizaría sin cifrado. Pero por ahora no manejaremos esa funcionalidad: en primer lugar no hemos puesto en marcha un servidor pop, y el servidor imap sólo atenderá peticiones locales; ni siquiera desde la intranet, y es que los puertos estarán cerrados tanto en firewall como en router. ¿Cómo accederemos a nuestros correos entonces? Pues a través del navegador web, de igual modo que cuando accedemos a gmail o yahoo. Para ello instalaremos squirrelmail y garantizaremos la seguridad obligando a que el acceso se haga vía https exclusivamente. Con esto es suficiente por ahora... al menos en mi humilde opinión. Y es que cuantos menos puertos estén abiertos y menos protocolos en uso, más seguridad.

. : .