Está en la página 1de 9

Seguridad en Zimbra

Enforcing a match between FROM address and sasl


username en Zimbra 8.5

Hacer cumplir una coincidencia entre la dirección FROM y el nombre de


usuario de sasl en Zimbra 8.5

Con este procedimiento de va a corregir que el Sistema de Correo no sea


inseguro y permitir que un usuario autenticado envíe correos en nombre de otra
dirección. Me explico:

Flujo por Defecto de envío de correos en Zimbra


Un usuario se autentica, y envía un correo a los destinatarios pertinentes, hasta
aquí todo normal.
Vista a Nivel de Outlook:
El correo me llega correctamente.

Pero, por defecto, Zimbra permite que una vez está un Usuario
autenticado, pueda enviar emails en nombre de otra dirección de correo. Lo
cual es muy peligroso, y puede comprometer el buen funcionamiento de nuestro
Sistema de Correo, y sobre todo la seguridad de la Empresa y sus Usuarios.
Veamos el flujo de correo de un correo de User 1, autenticado
correctamente, usando la dirección de correo electrónico del Jefe de la
Empresa.

Vista a Nivel de Outlook:


Primero me cambio la dirección de E-mail desde donde envío para ejecutar
el Fake Email.

Creo un correo para un usuario (en este caso yo pero imaginemos el


departamento de administracción) y le pido que transfiera una cantidad de
dinero a un usuario.

La persona que recibe el Correo, lo ve de manera legítima, como si proviniera


del JefeFinanciero, con su dirección de correo y todo. Esto es un Fake Email y
debe ser corregido de inmediato.

Activando la Seguridad para comprobar que el


login de usuario y su dirección de correo,
corresponde con lo que dice su username en el
sasl
Activar esta seguridad no nos llevará más de 3 minutos y conseguiremos un
Sistema Zimbra Robusto y Seguro, lo primero es hacer login como usuario
Zimbra mediante SSH:

root@labjorge:/# su zimbra
1
zimbra@labjorge:/$ zmprov mcf zimbraMtaSmtpdSenderLoginMaps proxy:ldap:/opt/zimbra/conf/ldap-slm.cf
2
+zimbraMtaSmtpdSenderRestrictions reject_authenticated_sender_login_mismatch

El siguiente paso es abrir el


fichero opt/zimbra/conf/zmconfigd/smtpd_sender_restrictions.cf

1 zimbra@labjorge:/$ vi /opt/zimbra/conf/zmconfigd/smtpd_sender_restrictions.cf

Y una vez en él, añadiremos reject_sender_login_mismatch después


de permit_mynetworks, el resto no hay que tocar nada:
1 permit_mynetworks, reject_sender_login_mismatch

Después de un minuto aproximadamente, zmconfigd actualizará la


configuración de postfix y aplicará correctamente los nuevos cambios que
hemos introducido.

El Flujo de Correo queda de la siguiente manera; El User 1 se autentica, e


intenta enviar un correo usando la dirección de correo de su Jefe, pero el
Sistema Zimbra le devuelve un error al instante.

Vista a Nivel de Outlook:

Una vez hemos aplicado esta seguridad, vamos a probar de nuevo a mandar otro
correo, solicitando esta vez más dinero:
Lamentablemente para el Usuario con malas intenciones, este problema de
seguridad está ya corregido y al intentar enviar el correo, recibirá un bonito
error 553 5.7.1 Sender address rejected: not owned by user.

Whitelist para ciertas cuentas


Seguramente necesitemos activar una pequeña Whitelist, para que ciertas
cuentas o usuarios si puedan realizar este cambio de dirección de correo, y con
un login puedan enviar en nombre de otras cuentas, tipo formularios de
contacto, no-reply, etc. Os dejo los pasos a seguir.

El primer paso es crear la base de datos de usuario:


1 root@labjorge:/# vim /opt/zimbra/conf/slm-exceptions-db

El segundo paso es introducir las direcciones que queremos permitir y luego el


usuario real:

1 jefefinanciero@labjorge.jorgedelacruz.es admin@labjorge.jorgedelacruz.es

El tercer paso es hacer el postmap para que se cree la Base de Datos


correctamente:

1 root@labjorge:/# postmap /opt/zimbra/conf/slm-exceptions-db

El comando ahora a ejecutar con el zmprov añade la base de datos de Whitelist:

root@labjorge:/# zmprov mcf zimbraMtaSmtpdSenderLoginMaps 'lmdb:/opt/zimbra/conf/slm-exceptions-db,


1 proxy:ldap:/opt/zimbra/conf/ldap-slm.cf' +zimbraMtaSmtpdSenderRestrictions
reject_authenticated_sender_login_mismatch

Podemos esperar 1 minuto o forzar el reinicio con el siguiente comando:

1 root@labjorge:/# zmmtactl stop && sleep 30 && zmmtactl start

Y al enviar de nuevo usando la dirección alternativa, no nos dará ningún error:


Espero que esta entrada os sea de mucha utilidad, tanto como a nosotros. Y
podáis tener más seguros vuestros Zimbra 8.5

Este artículo está basado e inspirado en el artículo de Ahmad Imanudin y en


el Wiki Oficial de Zimbra

También podría gustarte