• Skip to main content
  • Skip to secondary menu
  • Skip to primary sidebar
El Blog de Jorge de la Cruz

El Blog de Jorge de la Cruz

El Blog de Jorge de la Cruz - Todas las novedades sobre VMware, Veeam, InfluxData, Grafana, Zimbra, etc.

  • Home
  • VMware
    • VMworld
    • VMware vSphere 6.7
    • VMware vSphere 6.5
  • Veeam
    • Resumen Contenido 2021
    • Veeam v11
      • Continuous Data Protection (CDP
      • Ransomware Protection
      • Archive Tier
      • Mejoras en Instant Recovery
      • Veeam Agent for Mac
      • Veeam Backup for AHV v2.1
    • Veeam Backup for Microsoft Office 365
      • 1 – Razones para proteger nuestra información en Microsoft Office 365
      • 2 – Componentes lógicos de Veeam Backup for Microsoft Office 365 2.0
      • 3 – Instalación paso a paso de Veeam Backup for Microsoft Office 365 v2.0
      • 4 – Configuración inicial de Veeam Backup for Microsoft Office 365 v2.0
      • 5 – Creando trabajos de copia en Veeam Backup for Microsoft Office 365 v2.0
      • 6 – Restaurando elementos en Veeam Backup for Microsoft Office 365 v2.0
    • Veeam Backup for AWS
      • Veeam: Veeam anuncia Veeam Backup for AWS Free Edition
      • Veeam: Cómo Desplegar Veeam Backup for AWS – paso a paso
      • Veeam: Vistazo en profundidad al nuevo Veeam Backup for AWS – Creación de Políticas de Backup y Restauración
      • Veeam: Cómo conectar nuestro Veeam Backup & Replication a Veeam Backup for AWS
    • Veaam ONE
      • En busca del Dashboard perfecto: Veeam ONE – Parte I – Introducción a Veeam ONE
      • En busca del Dashboard perfecto: Veeam ONE – Parte II – Descarga e Instalación de Veeam ONE
      • En busca del Dashboard perfecto: Veeam ONE – Parte III – Añadir una Infraestructura de VMware vSphere a Veeam ONE
      • En busca del Dashboard perfecto: Veeam ONE – Parte IV – Añadir una Infraestructura de Veeam Backup and Replication a Veeam ONE
      • En busca del Dashboard perfecto: Veeam ONE – Parte V – Realizando troubleshooting de vSphere usando Veeam ONE Monitor
      • En busca del Dashboard perfecto: Veeam ONE – Parte VI – Realizando troubleshooting de Veeam Backup and Replication usando Veeam ONE Monitor
      • En busca del Dashboard perfecto: Veeam ONE – Parte VII – Vistazo profundo a los Dashboards en Veeam ONE Reporter
      • En busca del Dashboard perfecto: Veeam ONE – Parte VIII – Vistazo profundo a Reportes en Veeam ONE Reporter
      • En busca del Dashboard perfecto: Veeam ONE – Parte IX – Chargeback para crear reportes de coste de nuestra Infraestructura
    • Veeam Availability Console
      • 1 – Teoría e información útil sobre el producto
      • 2 – Instalación de Veeam Availability Console
      • 3 – Configuración y conexión con VBR Server
      • 4 – Administración centralizada de Veeam Backup Agents
      • 5 – Backup de Agentes a diferentes destinos, SMB, Repositorio Veeam o Cloud Connect
      • 6 – Reportes de Backup de Veeam Agent y Veeam Backup and Replication
      • 7 – Manejando la Facturación de Veeam Agents, Backup and Replication y Cloud Connect
    • Backup y restore de cargas de trabajo a Microsoft Azure
      • 1 – Introducción
      • 2 – Conectividad entre nuestro Datacenter y Microsoft Azure
      • 3 – Desplegar Veeam Backup and Replication en Microsoft Azure
      • 4 – Configuración en nuestro Datacenter para backup a Microsoft Azure
      • 5 – Restaurando a Microsoft Azure, desde Microsoft Azure
      • 6 – Migrar cargas de trabajo desde Microsoft Azure hacía nuestro Datacenter
    • Veeam v9.5 Update 4
      • Veeam Cloud Tier
        • Cómo controlar el ancho de banda en Veeam Cloud Tier
      • Secure Restore y Staged Restore
      • Mejoras en Veeam Agent Management
      • Veeam Community Edition
      • Actualizar Veeam Enterprise Manager y Veeam Backup and Replication a la última versión
      • VeeamONE con Intelligent Diagnostics, Remediation actions, Business View 2.0 y Application Monitoring
    • VeeamON 2022
      • Novedades en Veeam ONE v12
    • VeeamON 2021
      • VBO v6 – Self-Service y Backup Copy Glacier-Azure Archive
    • VeeamON 2020
      • Veeam Backup for AWS v2.0
    • VeeamON 2019
      • Veeam Availability Orchestrator v2.0 – ¡novedades!
    • VeeamON 2017
      • Sesiones recomendadas
      • Día I – Veeam Availability Suite v10 – ¡novedades!
      • Día II – Veeam Azure PN (Powered Network), Scale-out Archive Tier y mucho más
    • VeeamON 2015
      • VeeamON 2015 volverá a Las Vegas en el único Evento sobre Disponibilidad en el Data Center
      • Completo resumen, keynotes e imágenes
      • vBrownBag – Jorge de la Cruz – Stop sending postcards to your customers
  • Zextras
  • PRTG
  • Office 365
    • Microsoft – Añadiendo nuestro dominio a Office 365, configuración de DNS y migración de actual Mailbox
    • Veeam: Usando Microsoft Office 365 para nuestras notificaciones por correo electrónico
    • PRTG: Usando Microsoft Office 365 para nuestras notificaciones por correo electrónico
  • Zimbra
    • Instalación
      • Instalando Zimbra 8.7.6 sobre Ubuntu 14.04 LTS – ¡con Chat y Drive!
      • Amazon Lightsail para instalar Zimbra Collaboration 8.7.1, Parte II
      • Amazon Lightsail para instalar Zimbra Collaboration 8.7.1, Parte I
      • Instalando Zimbra 8.7.x con un solo comando, incluye Chat y Drive
  • Linux
    • InfluxDB, Grafana y Telegraf
      • 1 – Instalación y configuración de los components
      • 2 – Instalar agente en Linux
      • 3 – Integración con PRTG
      • 4 – Instalar agente Telegraf en Nodos remotos Windows
      • 5 – Activar inputs específicos, Red, MySQL/MariaDB, Nginx
      • 6 – Monitorizando Veeam
    • Ansible y Zabbix
      • 1 – Inicio
      • 2 – Instalación de Ansible e integración con Active Directory
      • 3 – Configuración de AutoDiscovery en Zabbix
      • 4 – Instalación del agente de Zabbix en Windows
      • 5 – Instalación del agente de Zabbix en Linux y Auto Remove en Zabbix
    • Jenkins
      • 1 – Inicio
      • 2 – Instalación de Jenkins en Ubuntu
      • 3 – Instalando nuestro primer plugin
      • 4 – Sincronización NTP de Linux
      • 5 – Añadir un Slave Windows a Jenkins
      • 6 – Ejecutar tareas en Linux
      • 7 – Ejecutar tareas en Windows
    • Kubernetes
      • 1 – Introducción a Kubernetes
      • 2 – Instalación paso a paso
      • 3 – RollingUpdate con Kubernetes
      • 4 – Dashboard
      • 5 – Volúmenes NFS
      • 6 – Registry
      • 7 – Traefik
      • 8 – Systemd con Traefik y Proxy de Kubernetes
      • 9 – Heapster Influx Grafana
      • 10 – Labels de Kubernetes
      • 11 – API: Swagger
      • 12 – API: Creando nuestro primer POD
  • Contribuidores
    • Acerca de Jorge
    • Acerca de Oscar Mas
      • Clúster SQL
        • 1 – Introducción
        • 2 – Preparación de los equipos virtuales
        • 3 – Instalación del Clúster de Microsoft
        • 4 – Instalación de SQL Server para Clúster de Microsoft
        • 5 – Configuración de nuestro Clúster de SQL
        • 6 – Monitorización de Clúster de SQL con Zabbix
        • 7 – Actualizando clúster de SQL

Zimbra: Implementando PostFWD para securizar nuestro entorno

29 January, 2014 - Escrito en: opensource, zimbra

Saludos amigos, Oscar Mas nos enseña hoy una herramienta Open Source para securizar nuestro entorno Zimbra y no acabar en RBL listados sin poder trabajar, con la perdida de negocio que esto conlleva y lo mal que está todo para que esto suceda. Os dejo con la entrada:

Aunque tengan habilitado el sistema de bloqueo de cuentas por intentos fallidos y además le hayamos añadido, el famoso fail2ban para aumentar la seguridad de nuestro Sistema de Zimbra. Eso no nos previene de que un “bichito”, se meta en el Outlook de unusuario y empieze a enviar Spam desde el equipo infectado. Ante esta situación, nos podemos encontrar nuestro servidor de Zimbra de la siguiente manera:

PostFWD-001

La verdad es que, por nuestra parte siempre procedemos de la siquiente manera:

 1.- Cerrarmos los accesos  a los puertos afectados, para parar la incidencia con IPTABLES. Ejemplo:

root@zimbra:~# iptables -A OUTPUT -p tcp --destination-port 25 -j DROP
root@zimbra:~# iptables -A INPUT -p tcp --destination-port 25 -j DROP

2.- Revisarnos los logs, para saber que usuario es el que está ocasionando el SPAM y le cambiamos el password
3.- Limpiamos las colas de correo. Ejemplo:

root@zimbra:~# /opt/zimbra/postfix-2.10.1.2z/sbin/postsuper -d ALL

Estos pasos son sencillos y hasta se podrian automatizar, pero el problema está cuando nuestro servidor empieza a estar en RBL’s, que es el mayor problema. Hay listas que nos sacan en poco tiempo y hay listas, en las cuales nos hemos de pelear con el administrador de la RBL, para que nos elimine de su lista negra. Una de las soluciones que llevo implementando desde hace tiempo, es un Firewall de correo electrónico delante de los servidores de Zimbra, el cual controla la salida de correo que nuestro servidor de Zimbra ocasiona y a su vez nos podría servir de pasarela de entrada, para limpiar de SPAM y no sobrecargar nuestros sistemas de Zimbra. En este caso explicaré el control de salida, con PostFWD.

La idea es la siguiente:

PostFWD-002

Pulsa en el enlace inferior para leer más


Todo el correo que salga de nuestro servidor de Zimbra o algún dominio en concreto, lo enviaremos al servidor de Postfix y este nos permitirá sacar una cantidad de mensajes durante un tiempo que hayamos predeterminado, de esta manera si nos capturan una cuenta, todos los mensajes se quedarán en la cola del servidor de Zimbra. Con esto conseguimos varias cosas

  • No entrar en RBL’s
  • Controlar los envios masivos que puedan hacer nuestros usuarios
  • Evitar que un “bicho”  de un equipo que tiene una cuenta configurada con nuestro servidor, envie Spam incronladamanete

Para realizar este laboratorio, dispondremos de un servidor de Zimbra correctamente configurado con la IP: 192.168.100.20 y un servidor de Postfix basado en Ubuntu con la IP: 192.168.100.21, en el cual le instalaremos el Sistema de PostFWD

PostFWD-003

Lo primero que tenemos que hacer es instalar los paquetes en el Sistema Ubuntu que nos hará de Firewall y de pasarela de correo. Los paquetes son los siguientes:

  • postfix-pcre: paquete que nos permitirá hacer regular expressions en Postfix
  • postfix: el servidor de postfix
  • postfwd: el Sistema de Firewall, que nos permitirá controlar los mensajes

Lo haremos de la siguiente manera:

root@fwpostfix:~# aptitude install postfwd postfix postfix-pcre –y

Nos saldrá un menu NCurses y le indicamos que nuestro servidor se usará para “Internet Site”

PostFWD-004

El siguiente paso es importante, ya que le indicamos el nombre nuestro servidor de correo,  para identificarse con otros servidores de Internet:

PostFWD-005

Habilitamos el PostFWD para que arranque con el Sistema. A mí me gusta ser ordenado y poner todos los ficheros de configuración personales o que son altamente modificados, en directories separados a los propios de la configuración. En mi caso los pondre todos en: /etc/postfix/Custom/

root@fwpostfix:~# vim /etc/default/postfwd
STARTUP=1
CONF=/etc/postfix/Custom/postfwd.cf

Una vez hecho esto, hemos de configurar el postfix, para que cuando entre el mensaje por el sistema de SMTP, lo transfiera al PostFWD y este haga el filtro:

root@fwpostfix:~# vim /etc/postfix/main.cf
…
mynetworks = /etc/postfix/Custom/relay_clients
header_checks = pcre:/etc/postfix/Custom/header_checks
 
smtpd_recipient_restrictions =
        permit_mynetworks,
        check_policy_service inet:127.0.0.1:10040,
        reject_unauth_destination
…

Crearemos el directorio donde pondremos nuestras configuraciones ( hay que ser limpios ) :

root@fwpostfix:~# mkdir /etc/postfix/Custom/pre>

Esta parte es interesante, ya que en el log del postfix, podremos ver el subject del mensaje en los logs de nuestro servidor  de Postfix y de esta manera saber si los mensaje son correctos o son Spam:
root@fwpostfix:~# vim /etc/postfix/Custom/header_checks
/^subject:/      WARN

Abriremos el relay a la IP del servidor de Zimbra y al localhost:

root@fwpostfix:~# vim /etc/postfix/Custom/relay_clients
##################################################
# NOTA: acuerdate de reiniciar el postfix : service postfix restart
##################################################
# Localhost
127.0.0.0/8
# Servidor de Zimbra
192.168.100.20

Y configuraremos el Sistema de Firewall:

root@fwpostfix:~# vim /etc/postfix/Custom/postfwd.cf
###
#
# Firewall de postfix
#
# postfwd -f /etc/postfix/Custom/postfwd.cf -C
# /etc/init.d/postfwd stop && sleep 10 && /etc/init.d/postfwd start
#
###
&&SERVIDOR_DE_ZIMBRA {
client_address=192.168.100.20;
};
id=100_SERVIDOR_DE_ZIMBRA;&&SERVIDOR_DE_ZIMBRA;action=jump(690_3mx60seg)
id=500_DEFAULT;action=rate($$client_address/2/60/450 4.7.1 No se puede enviar mas de 2 mensajes durante 60 segundos.)
id=690_3mx60seg;action=rate($$client_address/3/60/450 4.7.1 No se puede enviar mas de 3 mensajes durante 60 segundos.)

En esta configuración tenemos dos opciones:

En la configuración, definimos la variable: &&SERVIDOR_DE_ZIMBRA, en la cual hemos puesto la IP de nuestro servidor de Zimbra. Podriamos poner más IP’s de servidores separados por una coma. Creamos la primera regla 100_SERVIDOR_DE_ZIMBRA, la cual nos hará un salto a la regla 690_3mx60seg, y está nos hará el filtrado de 3 mensajes durante 60 segundos. Hacemos este “salto”, ya que hemos puesto la regla: 500_DEFAULT por si abriesemos el relay del servidor de postfix y nos olvidamos añadirlo en la variable de nuestro firewall.  De esta forma conseguimos que si la IP no está ubicada en alguna variable, se le aplicará la 500_DEFAULT por defecto.

Verificamos la configuración y reiniciamos los servicios para que se apliquen los cambios:

root@fwpostfix:~# postfwd -f /etc/postfix/Custom/postfwd.cf -C
Rule   0: id->"100_SERVIDOR_DE_ZIMBRA"; action->"jump(690_3mx60seg)"; client_address->"=;192.168.100.20"
Rule   1: id->"500_DEFAULT"; action->"rate(client_address/2/60/450 4.7.1 No se puede enviar mas de 2 mensajes durante 60 segundos.)"
Rule   2: id->"690_3mx60seg"; action->"rate(client_address/3/60/450 4.7.1 No se puede enviar mas de 3 mensajes durante 60 segundos.)"
root@fwpostfix:~# service postfix restart && service postfwd restart

Ahora solamente nos queda desviar el correo de Zimbra hacia este servidor y realizar varias pruebas. Si quieres más información de como desviar el correo de un servidor de Zimbra, lo podeis leer aquí: http://www.jorgedelacruz.es/2013/09/27/zimbra-haciendo-uso-de-smarthost-relay/

[root@zimbra ~]# su - zimbra
[zimbra@zimbra ~]$ zmprov mcf zimbraMtaRelayHost 192.168.100.21:25

Hacemos un envio de varios mails desde nuestro servidor de Zimbra y observaremos que cuando nos pasamos de la cantidad indicada, los mensajes son guardados  en la cola del servidor de Zimbra y poco a poco irán saliendo. En nuestro servidor de Postfix veremos la siguiente línea en los logs:

root@fwpostfix:~# tail –f /var/log/mail.log

Jan 26 21:05:19 fwpostfix postfwd2/policy[22746]: [RULES] rule=02, id=690_3mx60seg, queue=40C8B180105, client=unknown[192.168.100.20], sender=<[email protected]>,
recipient=<oscarmash@gmail.com>, helo=<zimbra.ilba.cat>, proto=ESMTP, state=RCPT, rate=rate/101/0.00s, delay=0.01s, hits=
100_SERVIDOR_DE_ZIMBRA; 690_3mx60seg, action= No se puede enviar mas de 3 mensajes durante 60 segundos.
Recordar, que esta es una solución OpenSource y que este sistema lo implementan muchos fabricantes. Espero que os sea de ayuda.

Filed Under: opensource, zimbra Tagged With: zimbra postfwd, zimbra secure, zimbra securize relay

Reader Interactions

Comments

  1. Jhonatan P says

    20 November, 2015 at 14:00

    Estimado jorge, te escribo para consultarte cómo se desactiva y activa la administración web de zimbra. Me gustaría habilitar localmente solo cuando voy a administrar el servidor. Tengo acceso local al equipo.

    Reply
    • Oscar Mas says

      20 November, 2015 at 14:57

      Hola Jhonatan,

      La forma más sencilla sería dropear el acceso al puerto 7071 o 9071, los cuales corresponden a la administración web de Zimbra (según sea tu implementación, será un puerto o otro), es mediante IPTABLES.

      Un saludo

      Reply
  2. Hector A. Rodriguez says

    12 January, 2016 at 17:52

    Hola estoy tratando de configurar todo como dices aqui, y ya lo tengo todo listo. Pero cuano lo echo a andar, el postfix me da un error de configuracion. A ver te explico como tengo montadas las cosas en mi red. Tengo el zimbra actualmente en la lan 192.168.1.2 y recibe y envia a traves de un firewall. Ahora el postfix con postfwd lo tengo en la lan tambien con 192.168.1.6, cuando le digo a zimbra que su relay host va a ser el postfix todo bien. Pero cuando le digo al firewall que quien va a enviar y recibir nuevamente es el postfix ahi viene el problema, pues cuando los servidores externos tratan de comunicarse con el postfix el postfix devuelve Connection Refuser Server Error y cierra la comunicacion. Puedes ayudarme????

    Reply
  3. Hernan says

    4 September, 2016 at 19:11

    Hola Oscar gracias por tu post, quería preguntarte si usar PostFwd o implementar Cluebringer Policyd que también nos aportaste.
    Qué diferencia hay entre los 2, o se los puede usar juntos para mayor seguridad de nuestros servidores zimbra.
    Saludos

    Reply
    • Jorge de la Cruz says

      4 September, 2016 at 19:33

      Saludos Hernan,
      Aqui un Script para lanzar CBPolicyD – https://github.com/Zimbra-Community/zimbra-tools/blob/master/cbpolicyd.sh
      Espero ayude, un saludo

      Reply
  4. Hernán says

    5 September, 2016 at 1:45

    Muchas gracias Jorge por el script ya lo voy probar 😉 en cuanto a mi duda podrías decirme si ya implementando CBPolicyD no hace falta instalar el Postfwd? Gracias por todo

    Reply
  5. Jerson says

    6 November, 2018 at 11:24

    Estimado Jorge, implemente el PostFWD de acuerdo al tutorial, pero al momento de enviar mas de 5 mensajes en menos de 60 segundos, no bloquea ni muestra el mensaje “No se puede enviar mas de 3 mensajes durante 60 segundos” en el (tail –f /var/log/mail.log), Todos los mensajes muestran status=sent, y todos los emnsajes llegan a su destino. Por favor tu ayuda, no se si estoy haciendo algo mal en algun script.

    Reply

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Primary Sidebar

  • Email
  • GitHub
  • LinkedIn
  • RSS
  • Twitter
  • YouTube

Gold Partners

Silver Partners

Libros Gratuitos

Cloud por vExperts
VMware por vExperts

VMware vExpert

Puesto 16 en Top vBlog

Calendario de Posts

January 2014
M T W T F S S
 12345
6789101112
13141516171819
20212223242526
2728293031  
« Dec   Feb »

Disclaimer

Todas las opiniones expresadas en este sitio son las mías propias y no representan las opiniones de ninguna compañía con la que haya trabajado, esté trabajando o vaya a estar trabajando.

Copyright © 2026 · El Blog de Jorge de la Cruz