Son muchos los lectores de este Blog que suelen venir para leer artículos sobre Zimbra. A su vez, uno de los temas más discutidos en la Comunidad Oficial de Zimbra es el problema con el SPAM, hay cientos de hilos donde se explica como hacer uso de toda la potencia de Zimbra Collaboration.
En este artículo, voy a obviar en gran parte la seguridad que Zimbra nos ofrece y vamos a poner una MTA dedicada de forma perimetral, basada en Opensource y sencilla de configurar, y aguantar cientos de miles de correos por día.
Vamos allá con el menú:
- Topología física de Zimbra Collaboration y Scrollout F1<
- Topología lógica de Zimbra Collaboration y Scrollout F1<
- Instalando Zimbra Collaboration 8.5.1 sobre Ubuntu 14.04 LTS
- Instalando Scrollout F1
- Configurando Scrollout F1
Topología física de Zimbra Collaboration y Scrollout F1
En esta ilustración se muestra la topología física de la solución propuesta en este artículo, con los recursos necesarios, IPv4 internas, externas, DNS records, etc:
Topología lógica de Zimbra Collaboration y Scrollout F1
Así es cómo quedará la topología lógica, y el flujo de Emails, una vez hayamos implementado F1 Scrollout y Zimbra Collaboration:
Instalando Zimbra Collaboration 8.5.1 sobre Ubuntu 14.04 LTS
Aquí están los pasos detallados para instalar Zimbra Collaboration 8.5.1 sobre Ubuntu 14.04 LTS.
Instalando Scrollout F1
Scrollout F1 viene preparado en una cómoda ISO basada en Debian 7 x64, lista para desplegar una vez la hemos descargado.
Para descargar Scrollout F1, por favor haz click aquí
[accordion]
[accordion-group title=” Requerimientos mínimos (para un laboratorio únicamente):”]
- 512 MB – 1 GB of RAM
- 10 GB storage
- 1 Processor x86/AMD64
- 1 network adapter with 1 IP address
- Internet connection during installation
- VMware, VirtualBox or bare-metal
[/accordion-group]
[accordion-group title=”Requerimientos para 4,500 – 5,000 mensajes al día”]
- 1 GB+ of RAM
- 30 GB storage
- 1 multicore Processor x86/AMD64
- 1 network adapter with 1 IP address
- Internet connection during installation
- VMware, VirtualBox, Hyper-V or bare-metal
[/accordion-group]
[accordion-group title=”Todas las características que incluye”]
- 256 bit TLS/SSL encryption with Perfect Forward Secrecy (for SMTP & HTTPS)
- Host-to-host IPSec transport encryption with pre-shared key
- Free and commercial Anti-Virus for inbound and outbound emails
- Different Quarantine per domain
- Different Scores per domain for Tagging and Blocking SPAM
- Provides DMARC record: get notified when domain names are exploited.
- Built-it parallel outbound delivery from/to multiple hosted domains
- Additional SMTP ports
- Spam scanning for inbound and outbound emails originated from non-intranet server
- Powerful and innovative geographic filtering for Sender IP, Server IP, URL IP and TLDs.
- Verify Sender IP against weighted white/blacklist providers (score RBL).
- Spammer database pollution by deploying unlimited spam traps for your website
- Innovative, easy to use (drag & drop) spam feeder using IMAP clients (as Outlook)
- Various validations for hostname, domain, IP, helo/ehlo commands and more
- Verifies incoming emails for DKIM and signs outgoing emails (2048 bits RSA)
- Active Directory recipients validation
- Protection against fake messages that appear to come from your domain or from yourself
- Built-in rules for newsletters and other messages generated by automated systems
- Protection against executable files, malicious content, scripts and more
- Eliminates a large amount of junk emails sent by infected or hijacked computers.
- Various tests for embedded pictures.
- Protection against forged domains like (fake) yahoo.com, gmail.com etc.
- Protection against wifi, dynamic, invalid or unknown hosts.
- Easy to replicate messages across the world by typing a backup (sub)domain.
- Whitelist [sender domain] using drag & drop emails (with MS Outlook)
- Blacklist [sender address] using drag & drop emails (with MS Outlook)
- Reduce storage cost by redirecting multimedia messages (archived or hidden)
- Relay outgoing messages through a global or per sender domain ISP (smarthost)
- (Experimental) Lite DLP for MS Word, Excel, PowerPoint, PDF and scanned images (archived or hidden)
- Assign an outbound IP address per domain
- Disclaimer per domain
- Accelerate http traffic with web cache
- Simple web interface with guidelines
- Enforce encrypted connection with email servers
- Backup (BCC) incoming/outgoing emails to an alternative mailbox
- Clone/duplicate incoming emails to another (sub-)domain
- Custom Spam TAG in the Subject
- Fallback delivery on alternative email servers
- Prevent bounces
- Learn spam from other email servers
- Internal DNS cache
[/accordion-group]
[accordion-group title=”Consideraciones para múltiples dominios”]
- High I/O storage drive (SSD or RAID5)
- Different outgoing IP addresses per sender domain (separate reputation between senders).
[/accordion-group]
[/accordion]
Crearemos una VM con los recursos indicados en el apartado Topología Física y cargaremos la ISO:
Nos aparecerá el menú de Debian para instalar, podemos seleccionar el instalador gráfico, pero en este caso he optado por el simple, ya que es más ligero y old school:
Lo primero será seleccionar el lenguaje, yo siempre recomiendo dejar los Linux en inglés, ya que es el idioma en el que están concebidos y luego no tendremos problemas extraños con nuestra querida ñ en algún que otro caso:
Después la localización para la descarga de paquetes, podemos optar por cualquiera de las áreas, yo suelo dejar seleccionado también United States:
Y empezará a preparar el resto de paquetes para la instalación:
Deberemos configurar la Red de manera manual e introducir la IP de la LAN que vimos en la Topología Física, más arriba:
El sistema nos pedirá una password para el usuario root, debemos asegurarnos que es segura y cumple con los requisitos adecuados, no; 123456 no los cumple 🙂
El usuario que nos creará aparte de root, a mi me gusta poner oper, pero podéis crear el usuario que os apatezca, y que luego recordéis:
Para el particionamiento, al no requerir ninguna complejidad adicional, dejaremos que Debian nos cree un LVM por defecto con todo el espacio disponible:
Y una vez completados estos pasos, el sistema estará casi listo.
De hostname vamos a usar el FQDN, aunque también podemos usar un hostname interno, y posteriormente que el FQDN haga NAT de la IP externa hacía la IP interna.
Si usamos un Proxy HTTP en nuestra organización, es el momento de introducirlo aquí:
Y finalmente, comenzará la instalación:
Una vez termina la instalación, la siguiente vez que arranque la VM, obtendremos el siguiente menú, que pasados unos pocos segundos, arrancará con el Kernel por defecto.
Configurando Scrollout F1
[alert style=”green”]Nota: En este tutorial se obvia la configuración de red de la segunda tarjeta de red ubicada en la DMZ y su posterior NAT hacía Internet. Comentar si hay dudas.[/alert]
Una vez tenemos nuestra VM encendida, es el momento de configurar Scrollout F1, lo primero es acceder mediante un navegador a la URL de Administración, desde el fabricante nos recomiendan Google Chrome:
- La URL de Administración es – https://IPINTERNASCROLLOUT/
- Usuario por defecto: Admin
- Password por defecto: 123456
Inmediatamente después, nos solicitará cambiar la contraseña por una más segura.
En la primera pestaña, Connect, encontraremos las siguientes opciones:
- Hostname de nuestro Appliance
- IP Interna (no hagáis caso a mi captura de pantalla, ya que en mi entorno uso este rango, el vuestro debe coincidir con vuestro rango)
- Máscara de Red
- Puerta de Enlace
- Servidores DNS
- Sufijo de búsqueda de DNS
Y aquí las dos opciones más interesantes en esta pestaña:
- DNS Interno: Que sirve ni más ni menos que para hacer un cacheo de las consultas DNS que realizamos, de tal forma que si estamos enviando emails a los mismos clientes siempre, al tener cacheada las DNS, ahorraremos tráfico de consulta de DNS, así cómo evitar congestionar nuestra MTA, y los servers DNS externos.
- Puertos SMTP Adicionales: De sobra es conocido el problema que Telefónica tiene con el puerto 25, cuando cierran este puerto, aquí podemos habilitar otros puertos para que nuestros clientes SMTP, u otros Servidores Externos se comuniquen con nosotros.
En la pestaña de Route, encontraremos la configuración para cada dominio que queremos filtrar en nuestra MTA, recordemos que Zimbra puede alojar tantos dominios como queramos, de tal manera que nuestra MTA también es capaz de filtrar más de un dominio, en este caso, solo vamos a configurar example.com
- Organization: Son los valores que cualquier persona verá cuando hace un telnet por el puerto 25, asi que podemos jugar con los valores que queremos mostrar aquí.
- Domain: el dominio que queremos filtrar
- La IP del destino final donde queremos entregar los correos una vez están limpios, en este caso la de nuestro server de Zimbra, 192.168.1.200
Quarantine: Para configurar la cuarentena de nuestro servicio, deberemos marcar el Score que queremos marcar como limpio, y cual marcar como SPAM, así como la cuenta de email donde caerán todos estos SPAM marcados.
En Secure > Levels podremos encontrar toda la granularidad que deseamos y que Scrollout nos ofrece, recomiendo no jugar con más de dos categorías al mismo tiempo y nunca saltar más de tres bolitas en agresividad, para probar de manera efectiva. No existe una receta perfecta, es ir ajustando poco a poco, y sobre todo hacer uso adicional y externo de las RBL & DNSBL, ubicadas en Connection Filter.
En Collect > SPAM & LEGIT se encuentra el Collector, una de las piezas más importantes de Scrollout, ya que es la cuenta que recoge todo el Correo y lo va taggeando como bueno, malo, o posible SPAM. Lo mejor es configurarlo con una cuenta IMAP de nuestro server Zimbra, donde deberemos echar un vistazo de vez en cuando.
Después de varios días, semanas y meses recogiendo datos, filtrando Correos, etc, en la pestaña MONITOR > STATS, podremos obtener estas gráficas tan detalladas que nos darán una idea del volumen total que estamos filtrando.
Enhorabuena, ahora dispones de una solución MTA a la altura de otros grandes como son IceWrap, SonicWALL Email Security Platform, Cisco Ironport o Interscan Messaging Security, etc. pero Open Source.
No os perdáis los siguientes artículos, que tienen que ver con este respecto a instalar una MTA externa basada en Open Source.
Por favor cualquier duda o pregunta, estaré encantado de responderla en los comentarios.






Hola Jorge,
Qué buena pinta hace!
Hace cuestión de 7-8 meses me llevé un chasco con MxHero en cuanto al rumbo que ha ido cogiendo el desarrollo de su producto así como su presencia en foros/wikis, etc. Al punto de descartarlo como solución no porque el producto sea malo, sino porque no me terminó de convencer la empresa que hay detrás. ¿Qué opinión te merece ScrollOut? Es algo que pondrías en producciones o de momento lo dejarías para laboratorios?
Como siempre, muchísimas gracias por toda tu labor!
Sebas “bazooka” Greco 😛
Con la ultima Release, este producto es realmente maravilloso. Lo he integrado varias veces filtrado varios cientos de miles de correo por dia. Con lo que me da seguridad.
Echale un ojo 🙂
Un abrazo !
estimado Jorge, tengo una maquina con Scrollout F1 en produccion como recomendacion en el postfix de esta maquina es incluir RBL: smtpd_recipient_restrictions = reject_rbl_client b.barracuracentral.org, reject_rbl_client zen.spamhaus.org, reject_rbl_client dnsblchile.org y queda de una robustes tremenda
Si, esto se puede hacer de manera visual en Scrollout también. En Connection Filter está la opción de añadir estas RBL.
Un saludo!
Hola Jorge, Scrollout F1 implementa SPF?
Buenas tardes Alejandro,
Si te refieres a tener SPF valido en tu dominio, debes ojear este post https://www.jorgedelacruz.es/2014/06/24/zimbra-best-practices-enviando-a-gmail-hotmail-etc/
o sea que si vas a usar Scrollout para mandar y recibir emails, o solamente mandar, o solamente recibir, la IP publica y el FQDN del Scrollout debe ir dentro de tu entrada de SPF.
Un saludo
Buenas Jorge, gracias por su atención, pero a lo que me refiero es si Scrollout se encarga de comprobar el SPF de dominios externos o esto lo hace Zimbra? es decir lo que quiero es que cuando alguien me envie un correo a mi dominio mi servidor compruebe si tiene un SPF de lo contrario no deje pasar el correo a mis buzones.
Saludos
Ah, si, voy a ver si encuentro la opcion donde era y te la indico, pero puedes filtrar estos emails para que no lleguen, si.
Un saludo
Buenas, quisiera saber como se configura la otra interfaz en el scrollout porfavor, gracias
Saludos, a que interfaz te refieres?
Un saludo
Disculpa por responder asi pero no encuentro donde mas escribir jaja, es la segunda interfaz del scrollout, porque tengo entendido que son 2 no? 1 que es la que vien de la WAN y la otra que es donde va el servidor de correo que es la que me refiero a la DMZ. es respecto a esta nota:
Nota: En este tutorial se obvia la configuración de red de la segunda tarjeta de red ubicada en la DMZ y su posterior NAT hacía Internet. Comentar si hay dudas.
El resto de interfaces puedes configurarlo a nivel de debian, dentro del server en SSH. Puedes usar dos interfaces de red, o una sola que tenga acceso a la DMZ donde se encuentra la MTa de Zimbra tambien, y luego hacer NAT de la interfaz del Scrollout hacia fuera, del modo que seria algo asi:
Server Zimbra Mailbox: 192.168.1.100 (LAN)
Server Zimbra MTA/PROXY: 192.168.1.150 (LAN) – 192.168.100.150 (DMZ)
Scrollout: 192.168.100.200 (DMZ)
IP Publica 80.80.80.80 haciendo NAT del puerto 25, 465, 2525, etc hacia la IP 192.168.100.200 y el resto de NAT como son el 443, el 80, el 110, etc hacia el Proxy de Zimbra 192.168.100.150
Espero haber sido claro, un saludo.
Nota: En este tutorial se obvia la configuración de red de la segunda tarjeta de red ubicada en la DMZ y su posterior NAT hacía Internet. Comentar si hay dudas.
Hola Jorge,
gran blog.
una consulta con respecto a la configuracion de scrollout, en la seccion de router, indica ahora que es posible integrar con zimbra para verificar los usuarios validos.
has podido realizar laboratorio con dicha configuracion??
si tubieras algun ejemplo te lo agradeceria
crear un archivo dentro de postfix llamado ldap_recipient_maps.cf dar un postmap despues, ir a main.cf y poner una linea:
relay_recipient_maps = ldap:/etc/postfix/ldap_recipient_maps.cf
Contenido de archivo ldap_recipient_maps.cf
server_host = 192.168.XX.XX <–ip de zimbra
server_port = 389
search_base =
query_filter = (&(|(zimbraMailDeliveryAddress=%s)(zimbraMailAlias=%s)(zimbraMailCatchAllAddress=%s))(zimbraMailStatus=enabled))
result_attribute = zimbraMailDeliveryAddress,zimbraMailForwardingAddress,zimbraPrefMailForwardingAddress,zimbraMailCatchAllForwardingAddress
version = 3
start_tls = yes
tls_ca_cert_dir = /etc/postfix/ssl
bind = yes
bind_dn = uid=zmpostfix,cn=appaccts,cn=zimbra
bind_pw = XXXDDDEERRTT <— Password de usuario zmpostfix
timeout = 30
special_result_attribute = member
El pass lo sacas asi de zimbra (con usuario zimbra):
zmlocalconfig -s ldap_postfix_password
Espero sirva!
Hola Jorge, me gustaría saber si con esto se puede crear un servicio de dns blacklist. es posible??
como lo enlazo a mi zimbra?? hay que cambiar algo en el dns o puerta de enlace zimbra??
Con esto lo que pones en Internet es una MTA que te limpie y filtre el correo, de entrada y de salida si quieres. Las DNSBL y RBL siguen estando en internet y las administran y nutren otras personas por nosotros, mas comodo.
Un saludo
Jorge, gracias por tu información, es excelente.
Quiero consultarte sobre las lista blancas en Scrollout, como las maneja, ya que he ingresado varios dominios y cuentas específicas y el sistema anti-spam las sigue bloquiando
Gracias por tu ayuda
Slds
Te sigo por que aprendo mucho de tus experiencias….gracias por compartir este y otros blog
Estimado.
Junto con saludarte, tengo scrollout + zimbra en producción. Sin embargo, no disponemos de las claves de scrollout ya que fue instalado por otro administrador TI. Como puedo quebrar esa clave. Cabe señalar, que si tengo acceso al servidor debian como root.
Saludos,
Saludos Esteban,
Una simple busqueda en Google me devuelve esto – http://sourceforge.net/p/scrollout/discussion/1102835/thread/c16c6712/
Un saludo
Ok, Muchas gracias Jorge.
Comentarte que sigo tu foro ya que me ha servido mucho.
Saludos.
Estimado Jorge,
Un gusto poder saludarte, de años que te sigo y realmente aprendí mucho.
Te comento que estoy implementando ScrollOut y tengo una duda con respecto al diagrama que se indica al principio, muestra que los dos servers (tanto mail como Scrollout) tiene una IP pública, es esto correcto?
El IP público del server mail solo sería para enviar correo? no bastaría solo un IP publico y hacer dnat tanto para scrollout (puerto 25 y otros necesarios) como para los servicios de zimbra(imap, pop, etc)
Saludos y sigue adelante!
Saludos Miguel,
Puedes tener solo el Scrollout en la calle, con el NAT del 25, y demas puertos, y para Zimbra habilitar 443, y POP3, etc.
Un saludo
Jorge, Gracias por la respuesta
Ya lo coloque en el escenario que comentas, sin embargo, ScrollOut bota un mensaje extraño en los logs indicando
warning: tcp:localhost:10002 lookup error
postfix/cleanup[]: warning: connect to TCP map localhost:10002
Revise los archivos de configuración de postfix y al parecer todo esta correcto.
Saludos,
Saludos Miguel,
No conozco los detalles de tu zona de DNS, ni como tienes configurado ese DNS, revisa esa parte.
Un saludo
Estoy tratando de implementar este MTA para filtrar los mensajes entrantes, al enviar un correo desde gmail a un usuario de mi Zimbra me devuelve el siguiente mensaje:
Final-Recipient: rfc822; [email protected]
Original-Recipient: rfc822;[email protected]
Action: failed
Status: 5.1.0
Remote-MTA: dns; 192.168.1.4
Diagnostic-Code: smtp; 550 5.1.0
: Sender address rejected:
example.cu
Lo que veo es que por alguna razón el ScrolloutF1 cuando le llega el mensaje de gmail de: [email protected] le cambia el dominio por el mio: [email protected] y logicamente al entregar este mensaje en mi Zimbra este no encuentra el usuario: [email protected] y no lo deja entrar.
A que se debe esto?
Gracias
Hola excelente tutorial. Quisiera saber si hoy dia esta operativo toda esta configuración.
Estoy administrando un nuevo datacenter, con vmware, y como tarea tengo entre otras, instalar un servidor de correos con Zimbra y un Email Gateway!.Encontre este tuto en la web y me parece que es lo que necesito.
Desde ya muchas gracias, aguardo respuestas..
SLDS
Hola Jorge.
Gracias por el aporte.
¿Al zimbra tendremos que hacerle alguna configuración adicional o solamente basta con direccionarle la IP al Scrollout?
Hola Jorge, quisiera saber si scrollout F1, funciona y como se haria, con exchange 2010?
gracias
Saludos, no hay que hacer nada, solamente poner el Scrollout F1 delante de tu Exchange como entrada de MX, jugando con el peso de los DNS, nada mas.
un saludo
Hola, gracias de antemano por responderme. Estoy intentando anteponer el Scrollout entre mi firewall(Endian) y mi Zimbra. Sin el scrollout sólo tengo que natear lo que llega por el 25 hacia el zimbra y ya está. Pero ahora con el scrollout, algo estoy configurando mal que cuando envío desde gmail un correo de prueba me dice “…Sender address rejected: not logged in (in reply to RCPT TO command)…”
Tengo exactamente el mismo problema, me dice
553 5.7.1 : Sender address rejected: not logged in
COnfiguré todo para que enviara los correos a Zimbra pero no llegan y me marca el siguiente error en el log:
553 5.7.1 : Sender address rejected: not logged in (in reply to RCPT TO command);
Ya no sé de qué lado tengo que mover, seguí las instrucciones del sitio
Intenté configurar el apartado de Inbound, aún cuando en este post no dice que haya que hacer algo por ahí, pero nada. No sé si es algo que tengo en Zimbra que impide la entrega
Hola Jorge
Tengo scrollout filtrando los correos de entrada. Todo bien… Pero qué configuración debo hacer para filtrar los de salida? zimbra -> scrollout -> Internet
Gracias de antemano