Security para mailcow

Mira quién ataca tu mailcow, con historial, y detenlo: fuerza bruta lenta, password spraying, escaneos y buzones comprometidos, vía fail2ban.

Overview: the last 24 hours per kind, a 14-day chart of failed logins, scans and spam, and the job's status1 de 10

El fail2ban integrado de mailcow detiene los ataques más ruidosos — diez inicios de sesión fallidos en diez minutos suponen un bloqueo de treinta minutos — y luego los olvida. Todo lo más discreto pasa: una dirección que prueba una contraseña cada pocos minutos durante todo el día, una botnet que reparte sus intentos entre cientos de direcciones, un escáner que recorre tu webmail buscando /.env, un buzón cuya contraseña se adivinó y que ahora envía spam. Este módulo lo muestra todo en System → Security, guarda el historial y actúa cuando tú se lo permites.

Qué hace

  • Un historial de ataques: cada minuto lee lo que mailcow ya registra — dovecot, postfix, SOGo y fail2ban desde el redis de mailcow, el servidor web y los inicios de sesión fallidos en la interfaz / API de mailcow a través del agente del host del Toolkit — y lo guarda en la base de datos de mailcow (90 días por defecto). Los registros de mailcow solo conservan las últimas líneas; este historial se queda.
  • Un resumen con los totales de las últimas 24 horas, un gráfico de 14 días, las direcciones más activas (con un botón para bloquearlas), los buzones atacados y los incidentes activos. Un escudo rojo junto al menú System muestra los incidentes graves abiertos en todas las páginas de administración.
  • 13 reglas para lo que fail2ban deja pasar: fuerza bruta lenta, password spraying (una dirección, muchos buzones), reincidentes (direcciones que fail2ban bloquea una y otra vez), fuerza bruta contra SOGo / la interfaz de mailcow / la API, escaneos de exploits web y de 404, sondeos de relay, escaneos de protocolo y avalanchas de spam. Los umbrales, ventanas, acciones y duraciones de bloqueo se pueden cambiar en cada regla.
  • Buzones comprometidos: un pico de envíos, inicios de sesión desde muchas direcciones y un inicio de sesión desde una dirección que antes había fallado en el buzón — una contraseña que probablemente se adivinó.
  • Bloqueos a través del propio mailcow: con las acciones automáticas activadas, una dirección entra en la lista de bloqueo del fail2ban de mailcow durante el tiempo que fija la regla; netfilter la aplica en todos los puertos de mailcow en menos de un minuto, y la ves en la propia página Fail2ban de mailcow. Para hosts web detrás del proxy de Cloudflare, el bloqueo puede ser además una IP Access Rule de Cloudflare a nivel de cuenta.
  • Acciones sobre la cuenta con las propias funciones de mailcow: impedir el inicio de sesión (el buzón sigue recibiendo correo), cerrar las sesiones IMAP / POP3, exigir un cambio de contraseña, limitar el envío.
  • Alertas por correo y Telegram a partir de la gravedad que elijas, con un límite por hora, y un resumen diario opcional.

Pensado para no dejarte fuera

  • Solo vigilancia por defecto: cada incidente dice qué se habría hecho; activas las acciones automáticas cuando confíes en las reglas.
  • Nunca se bloquean automáticamente: las direcciones privadas y reservadas, tu lista de permitidos, la lista de permitidos del fail2ban de mailcow, las direcciones del propio servidor y — activado por defecto — las direcciones que iniciaron sesión correctamente en un buzón en los últimos 30 días.
  • Un bloqueo que quitas en la página Fail2ban de mailcow cuenta como levantado. Los bloqueos caducan a su hora, incluso sin licencia, y la desinstalación los levanta todos.
  • Cada acción — tuya o del módulo — queda en el registro de auditoría.

Requisitos

  • mailcow-dockerized con el mailcow Toolkit 0.6.0 o más reciente de MediaLab Works (este producto es uno de los módulos de ese paquete, con su propia licencia).
  • Acceso root en el host para instalar el Toolkit; el servidor debe llegar a medialab.works por HTTPS para la comprobación de la licencia.
  • El contenedor netfilter de mailcow en marcha (es el que aplica los bloqueos). Con Manage external activado, tu propio cortafuegos tiene que aplicar la lista de mailcow.
  • Opcional: un token de Cloudflare con Account → Account Firewall Access Rules → Edit; un token de bot de Telegram para las alertas.
  • Código abierto (GPL-3.0): recibes el código fuente completo.

Privacidad

Todo queda en tu servidor: registros, direcciones, nombres de buzones y el historial se guardan en tu base de datos de mailcow y nunca se envían a medialab.works. Las alertas solo van a la dirección de correo y al chat de Telegram que configures.

Licencia

Una licencia por servidor mailcow, suscripción mensual o anual o de por vida, con 30 días de prueba gratis; también forma parte del paquete para mailcow. Sin licencia válida se detienen la detección, los bloqueos y las alertas, y no se borra nada. Ver Precios y la guía de instalación y uso.

Requisitos

  • mailcow Toolkit package 0.6.0 or newer (it includes this product) on mailcow-dockerized, Linux, with docker compose and systemd
  • Root access on the host to run install.sh; the server must reach medialab.works over HTTPS (license check)
  • mailcow's netfilter container running (it applies the bans); with "Manage external" on, your own firewall has to apply mailcow's list
  • Optional: a Cloudflare token with Account > Account Firewall Access Rules > Edit; a Telegram bot token for alerts
  • Open source (GPL-3.0): you receive the complete source code

Última versión

0.7.1
publicada el 20 oct 2026
Ver todos los cambios →

Para descargar necesitas una licencia o la prueba gratuita de 30 días.