Servidor de correo con Postfix+Dovecot+RainLoop+Mailman2 y auth LDAP para usuarios del AD DC [Debian 10] – PART IV

ÍNDICE

La documentación abarcará lo siguiente:

1.Implementación de un servidor de correo con buzones.

1.1.Datos de interés.

1.2.Sincronización de tiempo.

1.3. Implementación y configuración de ESMTP Postfix.

1.3.1. Selección de cifrados.

1.3.2. Configurando Postfix.

1.3.3. Creando los archivos de controles para Postfix-LDAP.

1.3.4. Comprobando la integración con LDAP y mapeos de aliases.

1.4.Implementación y configuración de Dovecot.

1.4.1.Configurando Dovecot

1.4.2.Creando archivo de control para Dovecot-LDAP

1.4.3.Script “quota-warnings.sh”

2. Implementación del cliente de correo web

2.1. Instalación de RainLoop

2.2. Fortaleciendo la seguridad del cliente de correo web

2.3. Configuraciones desde la WebGUI de RainLoop

3. Clientes de correo externo

3.1. Outlook 2016

3.2. Outlook 2019

3.3. Thunderbird 78.8.0

4. Filtrado de correos

4.1. Filtrado de correos por categorías

4.2. Filtrado para el remitente y destinatario

4.3. Filtrado para encabezado, adjuntos y cuerpo del correo

5. Copias de Carbón Ocultas

6. Listas de distribución con Mailman 2

6.1. Configuración de Nginx para Mailman 2

6.2. Instalación y configuración de Mailman 2

6.3. Integración de Mailman 2 a Postfix

6.4. Creando otras listas en Mailman 2

7. Rotación de logs y envío de reportes

8. Comprobando la encriptación TLS

9. Iptables

 

2. Implementación del cliente de correo web

Existen varias soluciones para implementar clientes de correo web con el objetivo de gestionar sus correos por protocolo IMAP o IMAPs, entre estos se encuentran: Neomail, Squirrelmail, Horde, Roundcube, Rainloop, entre otros. En este caso se utiliza RainLoop puesto que es un cliente de correos novedoso y se ajusta más a los estándares funcionales actuales.

2.1. Instalación de RainLoop

Como antes se menciona Rainloop se gestiona mediante una página web la cual debe contar con un soporte web para páginas dinámicas, por lo que se debe contar con un servidor web con soporte para interprete PHP y un gestor de bases de datos. En este caso se utilizarán Nginx, PHP7 y MariaDB.

Instalación de Nginx:

Instalación de MariaDB:

Reconfiguramos MariaDB:

  • Establecemos una contraseña para el usuario “root” de MariaDB: mariadbadmin
  • Removemos el usuario “anonymous”.
  • Deshabilitamos al login remoto con el usuario “root” de MariaDB.
  • Removemos la base de datos de prueba.

Habilitamos que MySQL/MariaDB escuche por todas las interfaces. Para ello editamos el fichero de configuración del servidor:

Modificamos la opción “bind-address” y la dejamos como sigue:

Reiniciamos el servicio:

PHP con las extensiones necesarias:

Configuramos php.ini:

Editamos las siguientes opciones:

Sin embargo, cuando se tiene una solución web Nginx+PHP, no basta con modificar los ficheros de “php.ini” (como sucede en con PHP+Apache), sino que también debe agregarse un último paso con respecto a Nginx. Por defecto, cuando instalamos un servidor Nginx este viene con un límite de subida de ficheros de 1 MB. Si se quiere aumentar este límite en Nginx, se debe hacer lo siguiente:

Para aplicar esto a todos los servidores, en el contexto “http”, agregamos la siguiente línea:

Reiniciamos ambos servicios:

Creando la base de datos y usuario de conexión con la misma para MariaDB:

-Enter password: mariadbpassword
-Confirmación de contraseña: mariadbpassword

Una vez dentro del intérprete de comandos de MariaDB, ejecute los siguientes comandos, adaptando a su escenario:

Creando el directorio donde se va a hospedar RainLoop:

Usted debe obtener los archivos fuentes de RainLoop puesto que este no viene disponible en los repositorios para Debian, usted puede obtenerlo mediante su URL oficial:

Modificando los permisos:

Creando un alias o Host Virtual en apache para RainLoop, en caso de utilizar Host Virtual debe agregar una entrada en su DNS para este:

Agregue el siguiente contenido, adaptando a su escenario de red:

Creamos un enlace simbólico para activar la configuración:

Comprobamos i hay errores de sintaxis en Nginx:

Si todo está bien, debe devolver lo siguiente:

Reiniciamos Nginx y PHP-fpm para aplicar los cambios:

Rainloop ya puede ser accedido a través del siguiente enlace:

http://webmail.empresa.midominio.cu

Recuerde que es de buena práctica asegurar además el acceso de los usuarios a RainLoop mediante conexión segura HTTPS. Para ello se han de seguir una serie de pasos que se describen en el siguiente apartado:

2.2. Fortaleciendo la seguridad del cliente de correo web

Editamos el fichero de configuración de Nginx:

Modificamos la opción “gzip on” y la dejamos como sigue:

Creando Certificado SSL Autofirmado:

Debe devolver lo siguiente, mientras se van completando las preguntas:

Configuramos el parámetro DH:

Configuración de Nginx para que use SSL:

Movemos la llave y certificado a sus respectivos directorios:

Creamos el siguiente fichero:

Agregamos lo siguiente:

Editamos los parámetros SSL para el sitio:

Agregamos lo siguiente, adaptando a su red:

Editamos el fichero de configuración de Nginx para el sitio:

Ajustando la configuración SSL para Nginx, adaptando lo que se encuentra resaltado en color blanco, por los datos de su red:

Verificamos errores de sintaxis:

Nos debe devolver la siguiente alerta, la cual omitiremos, eguido de una notificación de configuración correcta:

Reiniciamos Nginx y PHP-fpm para aplicar los cambios:

Llegado a este punto ya usted puede acceder a la interface web administrativa de RainLoop en la cual puede realizar una serie de modificaciones acorde a sus necesidades.

2.3. Configuraciones desde la WebGUI de RainLoop

Accedemos a la WebGUI de RainLoop para configurarlo:

http://webmail.empresa.midominio.cu/?admin

El navegador nos advierte de que el servidor web usa un certificado que no está validado. Si vemos la información del certificado podemos ver cómo se generó con alias:

Como se trata de un certificado auto-firmado, aceptamos el riesgo y continuamos.

Donde las credenciales de acceso inicialmente son:

-Usuario: admin
-Contraseña: 12345

A continuación, se representan algunos ejemplos a tener en cuenta para configurar RainLoop mediante la interface web administrativa.

Lo primero que nos aparecerá en la web administrativa del sitio, es que una alerta que nos pide cambiemos las credenciales del usuario “admin”:

Esto se puede lograr con desplazarse hasta la pestaña de seguridad o haciendo un “click” en el hipervínculo indicado.

En la opción “General” queda a su consideración el idioma, tema a modo global, y permitir la selección de estos por parte de sus usuarios. Se adecua además el valor del tamaño máximo permitido para los adjuntos, el cual en el ejemplo aparece disponible para 10 MB. Se recomienda mantener desmarcadas las opciones “Permitir cuentas adicionales” y “Permitir Múltiples identidades”, para evitar la suplantación de identidad, a través de RainLoop:

Opción “Dominios” donde usted debe agregar manualmente su dominio mediante el botón “Agregar dominio”:

En la opción “Dominio”, una vez presionado el botón “Agregar dominio” aparece una ventana similar a la que se refleja en el ejemplo, donde usted debe llenar los campos referentes a su dominio, y los campos referentes a las entradas que ya debe tener creadas con antelación para IMAP y SMTP. En sustitución, puede utilizar direcciones IP también, además debe tener en cuenta los mecanismos de seguridad antes configurados en su servicio de correo en correspondencia a los puertos de escucha y cifrado, declarándolos. En este caso se configurará RainLoop para que use modo SSL/TLS implícito para IMAP y STARTTLS para SMTP.

También aparecen las opciones de correo corto, la cual se refiere a que el usuario para autenticarse al servicio web de correo no tiene necesariamente que introducir como identificador su nombre de usuario más el dominio ej: “[email protected]”, simplemente con escribir “usuario1.apellido. Como paso final puede utilizar el botón “Probar” antes de seguir con las opciones siguientes.

Dejamos habilitado el dominio de correo:

En la opción “Pantalla de ingreso” usted debe escribir manualmente el nombre de su dominio en caso que no aparezca, quedando a su consideración permitir la selección de idioma, y que RainLoop encuentre automáticamente el nombre del dominio.

Opción “Personalización” Aquí usted puede configurar el título que aparece en la página más una breve descripción de la misma, además de un favicon personalizado, las demás opciones aparecen disponibles solo en la versión Premium.

La opción “Contactos” queda a su consideración permitir los contactos y permitir la sincronización de estos con un servidor externo que brinde información mediante CardDAV. Permite, además, declarar los parámetros de conectividad con la base de datos asociada a RainLoop, la cual ya fue creada anteriormente.

La opción “Complementos” permite la descarga desde internet de los complementos y plugins disponibles para Rainloop. Usted puede descargarlos manualmente y ponerlos en la siguiente ruta “var/www/rainloop/data/_data_/_default_/plugins”. Una vez puestos los complementos en este directorio debe refrescar la página para que sean reconocidos por RainLoop y configurar en caso que sea necesario cada uno de estos. Este ejemplo no usará ninguno, pues la mayoría están asociados a cambios de contraseña según el método de autenticación y otros no necesarios para nuestro ejemplo.

La versión de RainLoop sobre la cual fueron hechas estas configuraciones se muestra en la siguiente imagen:

Con estos pasos ya usted puede gestionar su correo mediante RainLoop accediendo a la dirección URL a fin con este:

https://webmail.empresa.midominio.cu

RainLoop nos recibirá con su login:

El nombre de usuario que se especifique, puede ser con inicio de sesión corto o largo. Si fuese necesario, RainLoop ya esta preparado para agregar el dominio por omisión.

 

¿De cuánta utilidad te ha parecido este contenido?

¡Haz clic en una estrella para puntuar!

Promedio de puntuación 5 / 5. Recuento de votos: 1

Hasta ahora, ¡no hay votos!. Sé el primero en puntuar este contenido.

Sobre Franco Diaz Hurtado 27 artículos
Ing. Telecomunicaciones y Electrónica; 1er Especialista en Redes de ECASA Nivel Central

5 comentarios

  1. Firefox 87.0 Firefox 87.0 Windows 10 x64 Edition Windows 10 x64 Edition
    Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:87.0) Gecko/20100101 Firefox/87.0

    Ok, esperaré por las modificaciones, favor de avisar en cuanto estén.
    Gracias. Saludos

  2. Firefox 87.0 Firefox 87.0 Windows 10 x64 Edition Windows 10 x64 Edition
    Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:87.0) Gecko/20100101 Firefox/87.0

    Ok. AHora me ha estado dando otro error, he instalado varias veces pero el error persiste.
    Y es el siguiente.
    Cuando accedo por el Rainloop a la hora de enviar un msj, me dice
    «No se puede enviar el mensaje»

    Y si pruebo por el outlook, cuando lo configuro, que le doy
    PROBAR CONFIGURACION DE LA CUENTA….
    -Iniciar sesión en el servidor de correo entrante (POP3) okkkkkk
    -Enviar mensaje de correo electrónico de prueba da el siguiente error
    Enviar mensaje de correo electrónico de prueba: el servidor respondió: 451 4.3.0 [email protected]

    En espera de su respuesta

    • Firefox 87.0 Firefox 87.0 Windows 10 x64 Edition Windows 10 x64 Edition
      Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:87.0) Gecko/20100101 Firefox/87.0

      He realizado modificaciones en la configuracion que aun han de ser reflejadas en este articulo. De todas formas, las actuales deberian poder funcionar. El problema se debe a que, es posible, que la web interprete mal algunos caracteres de la configuracion. Trata de bajar las configuraciones del enlace de la primera parte e ir adapatando a lo que se va modificando por articulo.
      SL2

      PD: en estos dias actualizo el tutorial

  3. Firefox 87.0 Firefox 87.0 Windows 10 x64 Edition Windows 10 x64 Edition
    Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:87.0) Gecko/20100101 Firefox/87.0

    en el apartado:
    # Habilitar OCSP stapling:
    ssl_stapling on;
    ssl_stapling_verify on;
    resolver ns1.empresa.midominio.cu valid=300s;
    resolver_timeout 5s;

    Quien es «ns1»

Responder a Favor, necesito la respuesta Cancelar la respuesta

Tu dirección de correo electrónico no será publicada.


*