Servidor de correo Zimbra 8.8.15 en Ubuntu 20.04 dominio real, certificado, protección y reputación de nuestro servidor + listas de correo. Parte 2/4

//Certificado Let’s Encrypt y protegiendo nuestro servidor contra suplantación de identidad.

Aprovechando que tenemos tanto un dominio real como IP pública, vamos a generar un certificado válido para nuestro servidor Zimbra. Esto además de añadir protección a nuestro servidor, significa credibilidad y seguridad para nuestros usuarios.

Antes de comenzar por supuesto debemos tener nuestro sistema Zimbra instalado y funcionando, en la siguiente entrada podrá encontrar los pasos.

1- Certificado Let’s Encrypt

Es importante remover cualquier indicio de certbot, aunque si hemos realizado una instalación limpia no tendremos problema:

# sudo apt remove certbot

Vamos a utilizar snap para instalar certbot, así que con los siguientes comandos instalamos y ponemos en marcha el paquete:

# sudo snap install core; sudo snap refresh core
# sudo snap install --classic certbot
# sudo ln -s /snap/bin/certbot /usr/bin/certbot

Listo, ya podemos generar nuestro certificado para el dominio en este caso ntw.nat.cu con el siguiente comando:

# sudo /snap/bin/certbot certonly --standalone --agree-tos --staple-ocsp --email admin@ntw.nat.cu -d mail.ntw.nat.cu -d webmail.ntw.nat.cu --preferred-chain 'ISRG Root X1'

Es muy importante, poner como primer dominio, el FQDN del servidor Zimbra, en este caso mail.ntw.nat.cu, luego podemos añadir otras url, por ejemplo generamos el mismo certificado para webmail.ntw.nat.cu, pero también podemos añadir otras como imap.ntw.nat.cu o smtp.ntw.nat.cu, solo es cuestión de agregarlos con el parámetro -d.

Lo siguiente es para asignar algunos permisos:

# sudo apt install acl
# sudo setfacl -R -m u:zimbra:rwx /etc/letsencrypt/

Nos logueamos como Zimbra y copiamos el privkey.pem hacia el directorio de Zimbra:

# sudo su - zimbra
# cp /etc/letsencrypt/live/mail.ntw.nat.cu/privkey.pem /opt/zimbra/ssl/zimbra/commercial/commercial.key

Descargamos el Root X1:

# wget -O /tmp/isrgrootx1.pem https://letsencrypt.org/certs/isrgrootx1.pem.txt

Combinamos los dos archivos:

# cat /etc/letsencrypt/live/mail.ntw.nat.cu/chain.pem /tmp/isrgrootx1.pem > /opt/zimbra/ssl/zimbra/commercial/commercial_ca.crt

Aplicamos el deploy del certificado:

# /opt/zimbra/bin/zmcertmgr deploycrt comm /etc/letsencrypt/live/mail.ntw.nat.cu/cert.pem /opt/zimbra/ssl/zimbra/commercial/commercial_ca.crt

Opcionalmente podemos verificar que se realizó con éxito:

# /opt/zimbra/bin/zmcertmgr viewdeployedcrt

Nos queda reiniciar los servicios de Zimbra para que todo comience a funcionar:

# zmcontrol restart
# exit

2- Verificar la configuración de mynetworks

# postconf mynetworks

Este archivo solo debe contener la direccion local, tanto para IPv4 como IPv6, y la red a la cual pertenece Zimbra, por ejemplo, si la IP de nuestro Zimbra es 192.168.1.10/24 entonces mynetworks debería contener: mynetworks = 127.0.0.0/8 [::1]/128 192.168.1.0/24.

En este caso me devuelve: mynetworks = 127.0.0.0/8 [::1]/128 152.206.85.0/24

En un servidor de correo postfix, el parámetro mynetworks declara uno o varios hosts o incluso redes enteras que no van a pasar por las reglas del servidor, entonces cualquier cliente que pertenezca a la red declarada aquí, podrá enviar correo sin autenticar entre otras cosas. Por tal motivo es necesario cerciorarse que solamente aparezca aquí la red interna del Zimbra.

3- Suplantación de identidad y envío de correo sin autentificación.

Lo siguiente lo ejecutamos con el fin de evitar la suplantación de identidad, esto significa que un usuario autenticado en el servidor, aún estando autenticado no puede enviar correo a nombre de otro. En el video sobre esta entrada veremos como se comporta esto y podrás entender mejor.

# su zimbra
zmprov mcf zimbraMtaSmtpdSenderLoginMaps proxy:ldap:/opt/zimbra/conf/ldap-slm.cf +zimbraMtaSmtpdSenderRestrictions reject_authenticated_sender_login_mismatch

Luego editamos el archivo smtpd_sender_restrictions.cf y agregamos lo siguiente justo después de: permit_mynetworks

# nano /opt/zimbra/conf/zmconfigd/smtpd_sender_restrictions.cf

permit_mynetworks, reject_sender_login_mismatch

Pasado unos minutos estos cambios surten efecto, o podemos también forzarlos reiniciando los servicios.

Ademas vamos a ejecutar los siguientes comandos que también son necesarios para el envío sin autentificación o a nombre de usuarios inexistentes en el servidor:

# zmprov mcf zimbraMtaSmtpdRejectUnlistedRecipient yes
# zmprov mcf zimbraMtaSmtpdRejectUnlistedSender yes
# zmmtactl restart
# zmconfigdctl restart

Una vez realizados todos estos pasos podemos verificar que todo funciona correctamente, a continuación les dejo algunas herramientas online que le servirá para las pruebas. Si no dispone de acceso desde internet al servidor Zimbra, siempre puede usar Telnet.

https://www.smtper.net/

https://dnschecker.org/smtp-test-tool.php

Para dudas o comentarios utilizar el grupo en Telegram o la Comunidad.

0.00 avg. rating (0% score) - 0 votes

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Bienvenido al curso pfSense con NETWORLD

Muy pronto llega nuestro curso completamente gratuito a nuestro canal de YouTube NETWORLD, así que debes estar al tanto para que no te lo pierdas.

Hemos creado una membresía nueva en el canal que te permitirá obtener ayuda y resolver tus dudas sobre el curso, directamente con nosotros.