Saludos amigos, en anteriores entradas os he mostrado como darle un toque de seguridad adicional a nuestras Infraestructuras Zimbra, hagamos resumen:
- Zimbra Seguridad (I Parte) – Para rechazar falsos mail from que no existen en nuestro LDAP.
- Zimbra: Seguridad (II Parte) Enforcing a match between FROM address and sasl username en Zimbra 8.5 – Para forzar autenticación entre los usuarios de nuestro LDAP y el mail from.
Aparte de estos, es cierto que hemos mencionado muchos más sobre SPF, DKIM, rDNS, y también sobre Certificados SSL, o seguridad en los cifrados. Pero hoy os quiero dar el toque que faltaba si ya estamos usando Zimbra Collaboration 8.5 en adelante.
Uno de los principales problemas de SPAM hacía nuestras cuentas es precisamente el permitir que falsos mail from nos envien correos a nuestros usuarios. Del modo que lanzando un telnet por el puerto 25 por ejemplo, podemos enviar un correo hacía un usuario legítimo [email protected] desde una cuenta con el mismo dominio como por ejemplo [email protected], y Zimbra se lo come por defecto y el usuario lo recibe.
Desde Zimbra Collaboration 8.5 se introdujeron una serie de mejoras para temas como por ejemplo este y hoy os quiero dejar aquí los sencillos pasos para proteger nuestros entornos Zimbra Collaboration 8.5 en adelante rechazando estos falsos mail from, como usuario zimbra lanzaremos los siguientes comandos:
zmprov mcf zimbraMtaSmtpdRejectUnlistedRecipient yes
zmprov mcf zimbraMtaSmtpdRejectUnlistedSender yes
zmmtactl restart
zmconfigdctl restart
Con estos simples comandos, nuestra Infraestructura quedará de la siguiente manera:
Podemos probar de nuevo el Telnet y nos encontraremos con el siguiente mensaje:
MacBook-Pro:~ usuario$ telnet mail.dominio.com 25
Trying mail.dominio.com...
Connected to mail.dominio.com.
Escape character is '^]'.
220 mail.dominio.com ESMTP Postfix
ehlo mail.dominio.com
250-mail.dominio.com
250-PIPELINING
250-SIZE 10240000
250-VRFY
250-ETRN
250-STARTTLS
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN
mail from: [email protected]
250 2.1.0 Ok
rcpt to: [email protected]
550 5.1.0 <[email protected]>: Sender address rejected: dominio.com
Como vemos, Zimbra Collaboration nos va haciendo la vida más sencilla según avanza en versiones, y ahora proteger nuestro entorno se resume a unos pocos comandos. Espero que esta entrada y os guste, como siempre, vuestro feedback es bienvenido.
Os recomiendo no obstante que además hagáis uso de la Parte II de estos posts de seguridad donde forzamos a que todos nuestros usuarios tengan que hacer login antes de enviar correo.




Excelente, me has ayudado bastante con estos 3 tutoriales de seguridad, ha mejorado mucho mi servicio y la reputación del dominio.
Gracias.
Muchas gracias Alejandro por tu feedback, me alegro mucho !
Un saludo
Hola Jorge,
Yo cuento con un servidor zimbra 8.6, el servidor no permite open relay sin embargo el servidor acepta remitentes desconocidos y envía el correo nos satura con mas de 10 mil correos diarios.
Podrías darme ideas de como solucionar este problema, esta es la imagen de nuestros ataques.
http://i58.tinypic.com/oubal1.png
Saludos,
Claro, debes aplicar este Post para tu sistema, asi como el que menciono en este post Seguridad II.
Aplica ambos y veras como mejoras.
Haz Backup o snapshot antes de tocar nada.
Un saludo
Jorge, si desearía volver a la configuración original cual seria el procedimiento de todas maneras are un backup y probare la solución a ver que pasa.
Hola, gracias por este post.
Te cuento que ejecuté los comandos de arriba y ahora mi servidor ni recibe ni envía correos.
Podrías decirme como puedo deshacer los comandos anteriores.
Saludos, siento la demora. Que error tienes en los logs? Que version de Zimbra usas? Tienes alguna configuracion personalizada previa?
Un saludo
estimados, he realizado los pasos como indican, pero aún sigue permitiendo hacer lo que no debe hacer con este hilo de seguridad, debo entender que para la versión open no realiza el cambio? al igual que “reject_sender_login_mismatch” de seguridad parte 2?. adjunto mi versión de zimbra. saludos !
8.6.0_GA_1153.RHEL6_64_20141215151155 RHEL6_64 FOSS edition, Patch 8.6.0_P3.
A mi me pasa igual, lo de la parte dos (evitar suplantación) me funciona con clientes de correo autenticados, pero si voy y hago telnet al smtp puedo mandar correos a dominios de zimbra con un from inventado.
Saludos, para esto hay dos cosas, una evitar los fake from, con este mismo post, y otro para hacer que concuerde el sender con el usuario interno, y que este autenticado, con esta entrada – https://www.jorgedelacruz.es/2014/09/08/zimbra-seguridad-ii-parte-enforcing-a-match-between-from-address-and-sasl-username-en-zimbra-8-5/
Probarlo y me contais.
Un saludo
Hola,
Estimado Jorge he estado siguiendo tu blog y déjame felicitarte por la labor tan grande que realizas al compartir vuestro conocimiento con la comunidad.
He estado aplicando los consejos de seguridad que nos proporcionas y ha mejorado muchísimo mi sistema, pero te comento que el miércoles por la mañana recibí 9000 correos de spam, que no entraron a los buzones, pero si tengo las notificaciones que me llegan a la cuenta de admin
pastebin.com/1WkUzhvA esto en menos de 4 horas. Como puedo hacer para detener este tipo de envíos? he mirado en la wiki algo sobre esto pero no se si es por alli. http://wiki.zimbra.com/wiki/DoSFilter
mi versión es 8.6 FOSS edition.
Un Abrazo.
Son muy buenos los aportes.. Pero habria alguna forma de bloquear las conexiones telnet 25 que podria realizar las pcs de las redes de confianza..
Ejemplo, con las seguridad creo que se bloquea usuarios desconocidos por el zimbra.
Pero aun veo que una PC por telnet 25 usando una cuenta existente podria enviar correos a otra cuenta existente, tambien eso pasa haciendo telnet desde afuera de mi red(internet), aunque revise con paginas de revision de correos me indica que esta cerrado el relay pero cuando realizo el ejercicio con telnet 25 a mi dominio con cuentas existentes me deja enviar, oviamente con la seguridad aplicada ya no me permite enviar con cuentas que no existen….. me podrian dar una mano con esta consulta, tal vez me falta algo mas en mi correo zimbra 8.6 open source… gracias de antemano…. saludos a todos
hola asaludos y agradeciendo toda la info del blog. soy nuevo en zimbra y teno un problema mi ip publica esta enviando spam y por esta ip que es la del firewall se redirige al servior de correo zimbra he revisado los logs y no hay colas de correo, lo que veo es varios intentos de envios de spam desde direcciones que intentan enviar correo pero el zimbra no los deja ya que tiene el senderreject activado.
no se que mas puede estar afectando o como revisar ya que no se si verdaderamente el servidor es el problema u otra cosa en la red
Jorge Ayuda
Tengo un trafico muy grande de spam. mi servidor esta despues de mi firewall. y esto es lo que reporta mi zimbra
Release 8.6.0_GA_1153.RHEL7_64_20141215151110 RHEL7_64 FOSS edition.
May 21 13:32:28 mail postfix/smtpd[8923]: NOQUEUE: filter: RCPT from unknown[172.16.20.1]: : Sender address triggers FILTER smtp-amavis:[127.0.0.1]:10026; from= to= proto=ESMTP helo=
Y me envían muchos correos desde mi servidor hacia afuera al parecer el firewall recibe el paquete y lo convierte a mi red local y en las políticas del zimbra recibe todo lo que este dentro de mi red mynetwork.
Como puedo solucionar este problema que me esta causando estragos. o debo cambiar algo en el amavis o en mi postfix
Gracias
Saludos David,
Prueba a mirar en el Log quien es realmente quien esta conectándose para mandar todos esos SPAM, y desde ahí ya podremos ver los siguientes pasos:
cat /var/log/zimbra.log | grep sasl_methodUn saludo
Bueno Una solución temporal fue expone mi servidor de correo y controlar en trafico con un firewall instalado dentro del mismo servidor y asi puedo determinar que el spam desde afuera lo filtre mi firewall y no lo convierta a paquetes locales para que el zimbra pueda también hacer filtro. es temporal mientras se configura un nat transparente desde el firewall de mi red a mi servidor de correo.
La cuestión ahora que es lo que mas se aquejan los usuarios es cuando realizan capturas de pantalla o copian y pegan celdas de excel al cliente web de zimbra los convierte en imágenes PNG pero aveces no los envía, los correos llegan sin esas imágenes a mis destinatarios y cuando envió desde mi cliente web a mis direcciones internas que aun usan outlook tampoco llegan
cuando envió esos correos a destinatarios con cuentas de gmail aparece el siguiente código en el cuerpo del correo y la imagen no aparece en el cuerpo, aparece como adjunto
el código que aparece es muy extenso solo pego el inicio.
<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABH4AAAK9CAYAAABSGas5AAAgAElEQVR4Aey9X4wcSZ7f9+XdaHXS9cxKO4YF1tVSS4I9e1tayAPz0
Hola jorge buen día
Te escribo por lo siguiente, últimamente he tenido conflictos con uno de los servers de zimbra que manejo, uno de ellos no me envia correos a otro cuando envio un correo de dominio1.com a dominio2.com el log me arroja el siguiente error: correo.dominio2.com[ipdominio2] said: 450.4.7.1 client host reject: cannont find your hostname [ipdominio1] (in reply to rctp to command), con otros dominios puedo enviar sin conflicto alguno, intente agregar este dominio en el /etc/host e igual no logre nada
Saludos..
Haz un dig mx dominio2.com y luego un dig a correo.dominio2.com desde el server 1, y dime que sucede si haces un ping a correo.dominio2.com desde el server 1
un saludo
el dig a correo.dominio2.com:
# dig a correo.dominio2.com
; <> DiG 9.9.5-3ubuntu0.8-Ubuntu <> a correo.dominio2.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 41277
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 1280
;; QUESTION SECTION:
;correo.famadeamerica.com. IN A
;; ANSWER SECTION:
correo.dominio2.com. 3600 IN A ipdominio2
;; Query time: 0 msec
;; SERVER: dnsinterno#53(xxx.xxx.xxx)
;; WHEN: Sat Aug 06 18:30:03 VET 2016
;; MSG SIZE rcvd: 69
el ping a el dominio correo.dominio2.com me responde bien
Saludos..
# dig a correo.dominio2.com
; <> DiG 9.9.5-3ubuntu0.8-Ubuntu <> a correo.dominio2.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 41277
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 1280
;; QUESTION SECTION:
;correo.famadeamerica.com. IN A
;; ANSWER SECTION:
correo.dominio2.com. 3600 IN A ipdominio2
;; Query time: 0 msec
;; SERVER: dnsinterno#53(xxx.xxx.xxx)
;; WHEN: Sat Aug 06 18:30:03 VET 2016
;; MSG SIZE rcvd: 69
el ping a el dominio correo.dominio2.com me responde bien
actualmente estoy usando bind9. y tengo creado las zonas para ambos dominios..
Saludos..
dig a correo.dominio2.com
; <> DiG 9.9.5-3ubuntu0.8-Ubuntu <> a correo.dominio2.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 41277
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 1280
;; QUESTION SECTION:
;correo.famadeamerica.com. IN A
;; ANSWER SECTION:
correo.dominio2.com. 3600 IN A ipdominio2
;; Query time: 0 msec
;; SERVER: dnsinterno#53(xxx.xxx.xxx)
;; WHEN: Sat Aug 06 18:30:03 VET 2016
;; MSG SIZE rcvd: 69
el ping a el dominio correo.dominio2.com me responde bien
tengo configurado bind9 y creada las zonas para ambos dominios..
Saludos..
Buenos dias Jorge
Solucione el problema que tenia efectivamente era un tema de DNS….
Gracias por tu aporte!!!!!!!!…
Saludos…
Hola Jorge, muchas gracias por tu colaboración,.
He seguido todos tus pasos y actualmente mi servidor esta en produccion hace 3 meses, solo me he encontrado que algunos servidores privados de correo no dejan recibir nuestros correos, no llega ni como spam, desde la consola de administracion me doy cuenta que me parecen como conexión time out, sabes algo al respecto?, mi mail tester me da 10 de 10, la reputacion aun no esta en Good, pero no creo que sea el causal, total en la empresa somos cerca de 10 personas, quedo muy atento a tus comentarios.
Saludos Andres,
La reputacion en senderbase tiene que ser buena, has seguido los pasos de SPF y DKIM y tienes Reverse DNS y todo?
Que pasa si desde tu server zimbra haces un
telnet server.deesasempresas.com 25Un saludo
Gracias por tu respuesta Jorge,
el dkim, dns reverse esta perfecto junto con los spf, y a continuación te pago el resultado de la prueba que me pides.
“root@mail:/home/agtg# telnet mail.ventasyservicios.com 25
Trying 209.126.119.65…
Connected to ventasyservicios.com.
Escape character is ‘^]’.
220-eeuu50.webhostinglinux.info ESMTP Exim 4.87 #1 Tue, 10 Jan 2017 09:26:15 -0300
220-We do not authorize the use of this system to transport unsolicited,
220 and/or bulk e-mail.
421 eeuu50.webhostinglinux.info: SMTP command timeout – closing connection
Connection closed by foreign host.
“
Excelente aporte!,
La semana pasada sufrí un ataque de spamers al parecer iban saltando entre cuentas… y al final me tiraron a blacklist, y cuando estaba a punto de formatear y empezar de nuevo… aplique los consejos II y III (uso zimbra community 8.5) y problema resuelto!
Lo que mas me llamo la atención fue el volumen de correos, en el ultimo año era de alrededor de 1200 emails por día para unas 200 cuentas, me parecía algo exagerado pero dentro de los parámetros. Pero después del cambio, bajo a 350 aprox… lo que significa que llevaba al menos un año con ese bot usurpando mis cuentas.
Gracias mil Jorge!
Hola Jorge, fíjate que queremos enviar documentos escaneados desde un dispositivo para lo cual debemos configurar la autenticación SMTP pero aún no encuentro como habilitarlo y configurar el user ID y password en el servidor de zimbra.
Te cuento que estamos con la ultima version 8.7.2.
Como puedo hacer para configurarlo y obtener el usuario y contraseña que haga la autenticación.
Gracias!
Saludos David,
Dependiendo de la configuración de tu Zimbra, tendrás que usar puerto 465 para SMTP, siempre puedes poner el dispositivo, si esta en la misma RED, en el permitmynetworks y no usar auth
Gracias Jorge, precisamente el caso es que el equipo desde el cual necesito enviar documentos escaneados está fuera de nuestra red y creo que por ello no me permite saltarme la autenticación para la configuración de SMTP, tenemos otros equipos desde donde puedo hacerlo sin autenticación pero estos si están dentro de la red.
hola he siguido todos los post sobre zimbra. Me parecen muy bueno.
Quisiera que me ayuden con lo siguiente:
Como rechazar un correo que venga del exterior cuando desde donde lo mandaron no pertenece realmente al dominio que puso en el from. Ejemplo: Digamos que un remitente desde el exterior pertenece al dominio sudominio.com y pone en el from: [email protected] to:[email protected]; donde [email protected] si es una cuenta en mi dominio. Ahora si hacen esto, le llega a [email protected] y no soy capaz de rechazarlo.
hola tengo todo configurado, sin embargo necesito conectar usuarios externos a mi red, el problema es que cuando aplico
zmprov mcf zimbraMtaSmtpdRejectUnlistedRecipient yes
zmprov mcf zimbraMtaSmtpdRejectUnlistedSender yes
zmmtactl restart
zmconfigdctl restart
y hago la prueba del puerto 25 los correos pasan como si nada
ejemplo
Connecting mail.muermos.cl:25
resp helo mail.muermos.cl
resp mail from:
resp rcpt to:
resp data
resp <- 354 End data with .
send -> Subject: DNS Exit Email Test
send -> Please ignore this email.
Test email by MX testing tool at
http://www.dnsExit.com/Direct.sv?cmd=testMailServer
send -> .
resp <- 250 2.0.0 Ok: queued as 0C3D94605F5
————————————————————
Successful !! mail.muermos.cl is OK to receive emails for DNSEXIT.COM
Buenas, Luego de aplicar todos estos pasos de seguridad, cuando envío un correo a una cuenta que no existe de mi propio dominio este no sale y se queda en cola, no deja enviar. En lugar de ello, debería permitir y haber un rebote indicando que la cuenta no existe.
Buenas Jorge, Excelente aporte, una pregunta como harias si mi dominio de zimbra es mail.prueba.local y mi dominio publico es prueba.com, y cuando hago un mail-test aparece que necesito un registro A para mail.prueba.local, pero no es mi dominio publico, ese es el helo que el muestra?, como hago para que muestre mail.prueba.com
hola Jorge, tengo usuarios que necesitan conectarse por outlook al zimbra mail para descargarlo mediante pop3… y no logro que descargue mail. Incluso hago telnet al puerto 110, se conecta …. pero en el outlook me da error… que puedo revisar / ajustar..?
Saludos Nery,
El puerto 110 hace tiempo que no se utiliza de manera nativa, prueba con el 993, que es POP3 usando SSL, seguro que ese te funciona.
Un saludo
Hola Jorge, tus posts me han ayudado mucho, tengo una consulta, tengo un zimbra 8.7.11 sobre un Ubuntu 12, tengo un inconveniente, cada vez que el servidor de correo está conectado a la intranet, el enlace del internet se viene abajo, se relentisa mucho y cuando desconecto el correo, la señal de internet vuelve, ya probé cambiar los DNS y configuraciones de los archivos resolv.conf, del dnsmasq.conf, interfaces y sin éxito, si consigo algo de ayuda, muchas gracias.
Saludos Obed,
Revisa tu firewall o router, no creo que sea un tema de Zimbra, sera algo que esta interfiriendo, mira en los logs de zimbra también y en los de sistema del linux. Ubuntu 12 ya no tiene soporte verdad?
Un saludo
Holas Buenas noches acabo de correr los comandos para evitar el open relay, desde entonces no recivo mail podras ayudarme la version de zimbra es 8.8.12 la instale hace muy poco
como puedo revertirlo Desde ya Muchas Gracias lastima que lo haya puesto en produccion el correo ace 2 dias
Saludos cordiales, realizar un telnet localhost 25 y aplicando las configuraciones descritas da como resultado todo OK. Que puedo realizar allí para mitigar y reducir SPAM
Hola, una de las mejores guias es esta / https://www.missioncriticalemail.com/2019/03/21/zimbra-anti-spam-best-practices-2019/
Un saludo
Buenas noches Jorge , tengo un servidor zimbra 8.8.15 que no recibe correos externos , puede enviar y recibir correos internos y solo enviar a dominios externos, he probado muchas opciones y aun no he podido dar con la causa , tengo DNS internos y DNS externos con el proveedor ( para las ip publicas ) , esta de por medio un Pfsense el cual tiene NAT configurado para las ip externa con la ip interna de zimbra , pero sigue sin recibir correos externos , los correos externos que envian ni siquiera entran en la cola de correos de zimbra, , si puedes por favor orientarme , gracias
Saludos Jesus,
No se, donde apunta el registro de tipo A, y el MX de tu dominio publico, a la IP publica de tu Proveedor? Puedes hacer un telnet por puerto 25 desde fuera?
Hola Jorge , hago telnet al puerto 25 en la red interna (ip LAN ) donde esta el servidor de correo , pero en los DNS externos hay un registro MX que apunta a la direccion IP publica y el nombre de zona en este caso el correo ( correo.dominicio.x ) , y al hacer telnet al puerto 25 con la direccion publica no responde , estan los DNS internos LAN y los DNS externos que maneja el proveedor , creo que algo me debe estar faltando algo se me esta escapando
Saludos,
El puerto 25 desde Internet tiene que estar abierto, por el FQDN, o el registro de tipo A, pero vamos tambien la IP publica, lo que quieras.
Lo que esta mal es eso, que desde Internet hacia dentro no pueden conectarte por el puerto 25. El telnet pruebalo desde fuera claro, desde dentro muchas de las veces no puedes acceder a tu ip externa sin loopback, etc.
Saludos
Hola Jorge , voy a verificar con el ISP dónde están los DNS externos a ver si tiene bloqueado el puerto 25 y verificar y te comento , gracias