Instalación y configuración de Proxmox Mail Gateway

Proxmox Mail Gateway (en lo adelante PMG) es; citando desde su web:

La solución de seguridad de correo electrónico de código abierto líder que lo ayuda a proteger su servidor de correo contra todas las amenazas de correo electrónico en el momento en que surgen. La arquitectura flexible combinada con la interfaz de administración basada en la web y fácil de usar permite a los profesionales de TI y las empresas controlar todos los correos electrónicos entrantes y salientes con facilidad y proteger a sus usuarios del correo no deseado, virus, phishing y troyanos.

En otras palabras, no es más que un relay de correo el cual se encargará de gestionar todo el tráfico de E-Mails, siendo éste el que esté de cara al mundo y no el propio servidor de correo.

Hay varias maneras de instalar PMG:
– En un CT usando sus repositorios.
– Con un ISO (proceso idem a instalar Proxmox).
– O descargándose la plantilla que nos brinda el propio sitio de Proxmox.

Hoy nos atañe la pimera opción, en un CT/LXC, de esa manera ahorramos recursos.

Requisitos:

  • CT con 2 cores (o más) y 2 GB de RAM mínimo
  • Debian 9 o 10.
  • Conexión a internet.

Notas:
– PMG    = 192.168.0.4
– Correo = 192.168.0.5

Comencemos:

  • Crea un CT con Debian 9 o 10 y agregale el repositorio de PMG correspondiente a la versión que usaste al «sources.list«:
  • Agrega las GPG:
  • Actualizalo:
  • Instala PMG:

Para su configuración les traigo 2 versiones: una pensando en la persona que tiene IP Real, y la otra en una VPN.

Primero acondicionaremos el terreno:

  • En tu DNS Externo crear un registro directo e inverso para el PMG con un IP aparte al resto que tengas (no es recomendado tener varios servicios en un mismo IP). Puedes llamarlo «mail» o «mx», como prefieras.
  • Crea la regla de acceso NAT al puerto 25 que tenga como destino «WAN NET» (el rango completo de tus IPs Reales), y que sea nateado al IP LAN/DMZ de tu PMG por dicho puerto.
    También puedes optar por crear un IP Virtual con el registro que creaste en el DNS para ese servicio, entonces en el destino pondrías dicho IP Virtual.
  • Darle salida a internet al PMG para que pueda enviar correos, actualizar el ClamAV, etc.
    Puedes darle salida total por todos los puertos, o cerrar y que use solo los necesarios. Según su sitio (2.3. Firewall settings) estos son los que usa:
    Salida: 25 (SMTP), 123 (NTP), 2703 (RAZOR), 80 (HTTP)
  • En tu servidor de correo modificar el Postfix:
    En la línea «relayhost =» agregarle el IP del servidor PMG con el puerto 26 que es por el cual recibirá del servidor de correo.

    En la línea «mynetworks =» agregarle el IP del servidor PMG para que sepa que es de confianza.

    Reiniciar el Postfix

Los que estén en VPN: Si no tienes DNS y usas los de tu proveedor de servicios sáltate ese paso, el resto es obligatorio.

Entonces ya puedes eliminar la regla de entrada en el firewall directo a tu servidor de correo pues ahora quien estará de cara al mundo será el servidor PMG.

Una vez que tengamos instalado PMG y los 4 pasos anteriores vamos a pasar a configurarlo.

Conectamos con él por https y por el puerto 8006 (https://IP:8006). La configuración la haré en Ingles, por tanto, déjenlo en Ingles:

  • Vamos a «Configuration > Mail Proxy > Relaying».
    Edita las opciones que hay para que te quede así:

    En «Default Relay» pondrías tu dominio. El resto como viene por defecto.
    Los que estén en VPN: En  el apartado «Smarthhost» poner ahí el IP (o el DNS) del MX de tu proveedor de servicios.
  • Vamos a «Configuration > Mail Proxy > Relay Domains»
    Aquí agregarías tu dominio, es decir, que el único que pude enviar correo usando PMG es tu dominio y nadie más. Por tanto, te quedaría:
  • Vamos a «Configuration > Mail Proxy > Options»
    Yo la dejé de la siguiente manera:

    El «Message Size» por defecto viene para 10MB, chequea cuanto tiene puesto tu servidor de correo y pones la misma cantidad aquí para que haya concordancia entre uno y otro.
    Activa a «Yes» las 3 opciones posteriores para evitar que nadie se conecte a tu PMG sin un registro PTR, que bloquee cualquier dominio que no sea el tuyo al enviar, y para que chequee el HELO de las conexiones.
    Agrega en «DNSBL Sites» el sitio de barracuda para denegar automáticamente todo DNS que esté en BlackList y activa el «DNSBL Threshold» a 1.
    El resto de opciones las dejé como vienen por defecto.
    El campo «SMTPD Banner» lo puedes modificar y poner lo que quieras.
  • Vamos a «Configuration > Mail Proxy > Transports»
    Creas la configuración para que te quede de la siguiente manera:

    En «Relay Domain» tu dominio.
    En «Host» el IP del servidor de correo.
    En caso de tener varios servidores de correo debajo (estilo nodo nacional con UEBs), agregar aquí el resto de dominios e IPs correspondientes a esos servidores.
    Los que estén en VPN: En  el apartado «Use MX» poner ahí el IP (o del DNS) del MX de tu proveedor de servicios.

Y listo! Ahí tiene usted su flamante y nuevo PMG. Ahora solo depende de usted configurarlo y agregarle lo que necesite.

Los lugares que más frecuentarás son:

«Administration > Syslog» = Logs del sistema.

«Administation > Queues» = Cola de salida de correo.

«Administration > Spam Quarantine» = Correos que PMG clasificará como Spam

Ahora bien, en «Administration > Spam Quarantine» pondrás el rango de días que quieres analizar, y debajo te mostrará los usuarios para los cuales hay correos en la bandeja de Spam.
– Seleccionas uno de ellos y debajo verás el(los) correo(s) y a la derecha su contenido.
– En la parte derecha verás botones en la parte superior, a la izquierda tendrás lo referente a la info del mensaje y a la derecha las acciones a tomar con el mensaje.
– En el caso que el correo provenga de una dirección válida y lo haya calificado como Spam, por diferencia de hora, SPF, DKIM, DMARC u otro motivo, se lo puedes entregar al usuario. Yo lo agrego a la lista blanca del usuario y luego se lo entrego. Pincho en «Whitelist» y luego en «Deliver» (tendrás 2 carteles de acción satisfactoria). «Whitelist» porque la próxima vez que llegue un correo de esa misma dirección PMG lo revisará y seguramente lo clasificará como Spam, estando en la lista blanca del usuario todo lo que venga hacia él de esa dirección lo revisará pero se lo entregará al usuario en cuestión y no tendrás usted que hacer nada.
– Así con cada uno de los usuarios que tengas en la lista.

PMG desconfía de todo y de todos y revisa el E-Mail integro, por una basurita que se encuentre y no le guste lo envía a Spam. En un inicio lo harás frecuentemente pero luego ya no tanto. Habrá días que ni sabrás de su existencia porque todo fluye como tiene que ser y él se encarga de ello.

  • Actualización / Restauración

Importante:
PMG guarda por defecto sus plantillas en «/var/lib/pmg/templates«. Si quisieras editar el main.cf del Postfix, o el freshclam.conf de ClamAV debes ir a ese directorio y editar allí, ya que en el próximo reinicio volverá a aplicar los valores de dichas plantillas y se perderán los cambios que realizaste en «/etc/servicio_editado«.
El problema no culmina ahí, ya que al upgradear nuestro servidor estas plantillas también son sobrescritas. Entonces qué hacemos? Sencillo:
Copia el directorio «/var/lib/pmg/templates» hacia «/etc/pmg/templates» y realiza ahí tus cambios y no correrás el riesgo de perder tus modificaciones.

En el caso que tengas una versión vieja (dígase un SO inferior) y quieras instalar la nueva sin perder toda la configuración solamente sigue estos pasos:
– Entra a tu PMG, crea el backup de la configuración y descárgalo.
– Instala la nueva versión.
– Conéctate por SSH y copia en «/var/lib/pmg/backup» el fichero de configuración que guardamos anteriormente.
– Conectate a la web, selecciona la configuración y restaurala.

Ya entonces, para ponerle la tapa al pomo, ponle DKIM para firmar tus correos. Con el post de Adonis verás que fácil.

Saludos.

Agradecimientos a:
Adonis Carrillo (@carrillopedroso)
Alexander Rivas (@Alexminator)
Hugo Florentino (@geekmidget)
Adalberto Fajardo (@semofajardo)
Mario (Mario)

¿De cuánta utilidad te ha parecido este contenido?

¡Haz clic en una estrella para puntuar!

Promedio de puntuación 4.8 / 5. Recuento de votos: 40

Hasta ahora, ¡no hay votos!. Sé el primero en puntuar este contenido.

16 comentarios


  1. Warning: Undefined array key 1 in /var/www/html/sysadminsdecuba/wp-content/plugins/wp-useragent/wp-useragent-detect-os.php on line 668
    Firefox 70.0 Firefox 70.0 Ubuntu x64 Ubuntu x64
    Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:70.0) Gecko/20100101 Firefox/70.0

    tengo un problema.
    Proxmox Mail Gateway a gmail lo inserta en la blacklist y no tengo manera de eliminarlo de alli.

    pmg-smtp-filter[9311]: 2412775DF835C1CC591: block mail to (rule: Blacklist)

  2. Google Chrome 78.0.3904.108 Google Chrome 78.0.3904.108 Android 9 Android 9
    Mozilla/5.0 (Linux; Android 9; POCOPHONE F1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Mobile Safari/537.36

    Revisaste tus reglas de blacklist, quizás por error agregaron al dominio incorrectamente.

  3. Google Chrome 79.0.3945.88 Google Chrome 79.0.3945.88 Windows 10 x64 Edition Windows 10 x64 Edition
    Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.88 Safari/537.36

    Me da error 554 5.7.1 : Relay access denied, rebotan los correos, alguna idea de que podria ser?

  4. Firefox 72.0 Firefox 72.0 Windows 10 x64 Edition Windows 10 x64 Edition
    Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:72.0) Gecko/20100101 Firefox/72.0

    > This is the mail system at host mail1.ceniai.inf.cu.
    >
    > I’m sorry to have to inform you that your message could not
    > be delivered to one or more recipients. It’s attached below.
    >
    > For further assistance, please send mail to postmaster.
    >
    > If you do so, please include this problem report. You can
    > delete your own text from the attached returned message.
    >
    > The mail system
    >
    > : host mailserver.centis.edu.cu[169.158.176.102] said:
    > 554 5.7.1 : Recipient address rejected: Please see
    > http://www.openspf.org/Why?s=mfrom;id=maleta44%40nauta.cu;ip=169.158.128.150;r=mailserver.centis.edu.cu
    > (in reply to RCPT TO command)

  5. Google Chrome 79.0.3945.130 Google Chrome 79.0.3945.130 Windows 10 x64 Edition Windows 10 x64 Edition
    Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.130 Safari/537.36

    Tengo un problema , cuando habilito el tls me dejan de entran correos desde afuera del dominio, y recibo este error 454 4.7.0 TLS not available due to local problem, ya he actualizado la versión PMG , simplemente no me crea el archivo pmg-tls.pem, si alguien paso por ahí y tuviera una solución.

  6. Firefox 74.0 Firefox 74.0 Windows 8.1 x64 Edition Windows 8.1 x64 Edition
    Mozilla/5.0 (Windows NT 6.3; Win64; x64; rv:74.0) Gecko/20100101 Firefox/74.0

    Buenas tardes, tengo una dificultad, estuve haciendo unas pruebas con un zimbra y utilizando como relay el PMG, pero no está funcionando el relay, me da error de acceso denegado y el zimbra creo que no está cogiendo el cambio al puerto 26 para el envio de correos
    necesito asistencia.

  7. Firefox 74.0 Firefox 74.0 Windows 7 x64 Edition Windows 7 x64 Edition
    Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:74.0) Gecko/20100101 Firefox/74.0

    Hola, interesante post y de paso agradecer a los que hicieron posible el mismo. Seria bueno hacer un post para integrar el PMG con ZIMBRA como tambien otras soluciones como Scrolout F1. Saludos

  8. Firefox 78.0 Firefox 78.0 Windows 10 x64 Edition Windows 10 x64 Edition
    Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101 Firefox/78.0

    Hola, en mi caso tengo mi servidor de correo en MDaemon, como tendria que configurarlo para que pueda recibir los correos


  9. Warning: Undefined array key 1 in /var/www/html/sysadminsdecuba/wp-content/plugins/wp-useragent/wp-useragent-detect-os.php on line 668
    Firefox 78.0 Firefox 78.0 Ubuntu x64 Ubuntu x64
    Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:78.0) Gecko/20100101 Firefox/78.0

    Y cómo se hacen las reglas de filtrado para las diferentes categorias de correo (nacional, internacional, local)

  10. Google Chrome 84.0.4147.135 Google Chrome 84.0.4147.135 Windows 7 x64 Edition Windows 7 x64 Edition
    Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.135 Safari/537.36

    Saludos, tengo un dominio alojado ya con un proveedor, y quiero instalar un SERVIDOR en mi empresa que filtre el SPAM/VIRUS.. que llega a los correos de mi dominio, PROXMOX Mail Gateway me sirve para eso.

  11. Firefox 84.0 Firefox 84.0 Windows 10 x64 Edition Windows 10 x64 Edition
    Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:84.0) Gecko/20100101 Firefox/84.0

    Despues de tener tiempo usandolo sin prolemas ahora el en Traiking Center no me sale nada , la fecha y la hora estan bien y en lo demas funciona bien , pero no puedo ver los corereos que entran y salen me dice que no hay datos en la base datos y si han entradi y han salido correos.

  12. Firefox 84.0 Firefox 84.0 Windows 10 x64 Edition Windows 10 x64 Edition
    Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:84.0) Gecko/20100101 Firefox/84.0

    Nunca me he detenido a usar el tracking center. Solo una vez que me daba error de conexion era debido a los ADSblocks de mi navegador. Revisa el tuyo. Cuando pruebe esa funcion si veo alguna solucion le aviso
    alex out

  13. Firefox 83.0 Firefox 83.0 Windows 10 x64 Edition Windows 10 x64 Edition
    Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:83.0) Gecko/20100101 Firefox/83.0

    Pues yo tambien tengo problemas al usar pmg con zimbra, como le sucede a otros, me da el error «Relay access denied (in reply to RCPT TO command)» para los correos que salen fuera de mi dominio
    Alguien sabe como solucionar este problema?

  14. Firefox 78.0 Firefox 78.0 GNU/Linux x64 GNU/Linux x64
    Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Firefox/78.0

    Hola, buen post, agradecido por esta guia, por casualidad alguien usa ISPCONFIG3, deseo integrarlo con PMG.

    Saludos.

  15. Google Chrome 81.0.4044.129 Google Chrome 81.0.4044.129 Windows 10 x64 Edition Windows 10 x64 Edition
    Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.129 Safari/537.36

    saludos tengo mdaemon detras del prox y necesito conectarlo al proxmox gateway que tengo listo y recibiendo mensajeria, como podria ser la configuracion en el servidor de correo

  16. Firefox 94.0 Firefox 94.0 Windows 10 x64 Edition Windows 10 x64 Edition
    Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:94.0) Gecko/20100101 Firefox/94.0

    Buen post, a mi me funcionó a la perfección con Iredmail. Incluso tuve problemas con los spam y gracias a el también pude solucionar el problema rápido. Tiene 5 estrellas.

Dejar una contestacion

Tu dirección de correo electrónico no será publicada.