miércoles, 5 de noviembre de 2014

Servidor Mail Seguro parte III

Servidor IMAP

 Continuando con ésta guía para montar nuestro propio servidor de correo seguro cara a internet, y habiendo ya configurado MySQL para montar nuestra base de datos de usuarios y dominios virtuales en la primera parte, y configurado Postfix con su módulo MySQL en la segunda, pasamos a instalar y configurar Courier como servidor IMAP.
 Internet Message Access Protocol (IMAP, Protocolo de acceso a mensajes de internet) es un protocolo que nos permitirá acceder de manera remota o local a nuestros buzones de correo y de esta manera gestionar con un cliente (Thunderbird, Zimbra, Balsa, Evolution... (Sí, tambien Outlook, malditos)) nuestras carpetas de recibidos y enviados.
 El servicio que se encargará de esta tarea será Courier. Lo instalaremos junto con su demonio de autenticación y su plugin para MySQL.
sudo apt-get install courier-base courier-authdaemon courier-authlib-mysql courier-imap courier-imap-ssl courier-ssl
 Cuando nos pregunte sobre dividir la configuración en sub-directorios le diremos que no e inmediatamente después obviaremos el mensaje de configuración SSL aceptándolo.
 Procedemos a editar el archivo de configuración del demonio de autenticación:
sudo nano /etc/courier/authdaemonrc
 Y cambiamos la cambiamos la variable authmodelist:
authmodulelist="authmysql"
 Además, como medida temporal, habilitaremos los logs del demonio a nivel 2 para facilitarnos la depuración en caso de futuros errores que pudiesen aparecer.
DEBUG_LOGIN=2
 Ahora vamos a asegurar que la lista de authmysql esté bien configurada:
sudo nano /etc/courier/authmysqlrc
 Aquí debemos buscar los campos que acreditan al demonio a consultar la base de datos que creamos anteriormente en MySQL:
MYSQL_SERVER localhost
MYSQL_USERNAME mail
MYSQL_PASSWORD mailPASS # Contraseña que establecimos para el
# usuario mail en MySQL
MYSQL_PORT 0
MYSQL_OPT 0
MYSQL_DATABASE maildb
MYSQL_USER_TABLE users
MYSQL_CRYPT_PWFIELD crypt
#MYSQL_CLEAR_PWFIELD clear
MYSQL_UID_FIELD uid
MYSQL_GID_FIELD gid
MYSQL_LOGIN_FIELD id
MYSQL_HOME_FIELD home
MYSQL_NAME_FIELD name
MYSQL_MAILDIR_FIELD concat(home,'/',maildir)
MYSQL_WHERE_CLAUSE enabled=1
 Por lo general, en Ubuntu solo necesitaremos cambiar las variables MYSQL_USERNAME y MYSQL_PASSWORD.
 Con esto ya tendríamos un servidor de correo simple perfectamente configurado. No obstante es poco o nada seguro ya que no usa cifrados para comunicarse ni le hemos implementado medidas anti-spam ni anti-virus.
 Si se desea, se le puede echar un vistazo al archivo /etc/courier/imapd para comprobar su configuración. No obstante, éste no requiere ningún cambio.

 Llegados a este punto, nos debemos plantear el probar el funcionamiento del servidor, antes de continuar con las implementaciones más avanzadas. Para hoy mismo, si no me surge ningún imprevisto, crearé un anexo a esta guía para implementar un usuario, dominio y alias virtual en nuestra base de datos y poner a prueba la emisión, recepción y autenticación en Postfix y Courier.
 La próxima entrada nos meteremos con temas de configuración un poco más avanzada que implementará los chequeadores de contenido, es decir, el anti-spam y el anti-virus.

 Saludos y ya sabéis, para cualquier duda o corrección, a comentar.

No hay comentarios:

Publicar un comentario