Spam Prevention · 2 min read · Oct 24, 2025

Greylisting - lucha contra el spam con Postgrey y Postfix en Debian y Ubuntu

¿Alguna vez has oído hablar de greylisting?

Hay numerosas formas de prevenir que el spam llegue a tu bandeja de entrada, la más popular probablemente sea SpamAssassin. Greylisting no reemplazará el software de filtrado de spam como SA, pero servirá como un poderoso primer obstáculo para el spam, reduciendo así la cantidad de spam que entra en el sistema. Debería verse más bien como una adición a todas las otras características anti spam de Postfix.

Aparte del evidente beneficio de reducir la cantidad de spam en tu bandeja de entrada, le dará a tu escáner de virus y a SpamAssassin menos trabajo que hacer. Tanto el filtrado de spam como el escaneo de virus son procesos intensivos en CPU y detener el spam en la puerta potencialmente te ahorrará dinero debido a los requisitos de hardware reducidos.

Greylisting en resumen significa que cuando alguien quiere entregar un correo a tu servidor de correo, simplemente responderá -¿Por favor, vuelve más tarde?-. Eso es algo que todos los servidores de correo compatibles con RFC hacen y cuando vuelven, el correo es aceptado. La mayoría de los spammers y software de spam no son compatibles y no son lo suficientemente pacientes como para intentar de nuevo. Te sorprenderá ver cuán efectivo es esto. De todos modos, sigue los enlaces a continuación para aprender realmente sobre ello. Como siempre, hay pros y contras, así que haz tu tarea antes de implementarlo en un servidor de producción.

Greylisting.org
Greylisting en Wikipedia

Hay varias implementaciones de greylisting y se puede hacer con casi cualquier servidor. Te mostraré cómo hacerlo en un Debian con Postfix funcionando como MTA con Postgrey. Los pasos de esta guía funcionarán para todas las versiones de Debian desde Debian 3.1 (sarge) hasta 8 (jessie).

Instalar Postgrey

Asumo que tienes una instalación de Postfix funcionando.

Si usas apt-get para instalar Postgrey, los requisitos se manejarán automáticamente. Sin embargo, si instalas desde el código fuente, tendrás que verificarlo manualmente.

Los requisitos para Postgrey son:

  • Perl >= 5.6.0
  • Net::Server (Módulo Perl)
  • IO::Multiplex (Módulo Perl)
  • BerkeleyDB (Módulo Perl)
  • Berkeley DB >= 4.1 (Biblioteca)

Recomendaría instalar el paquete Postgrey con apt.

Primero, instalamos el paquete Postgrey con:

apt-get -y install postgrey

Esto instalará el servidor Postgrey en tu máquina. Puede que quieras cambiar algunas configuraciones. Lo más molesto del greylisting es que impone un retraso en la entrega de correos. Si encuentras que el retraso de 5 minutos, que es el predeterminado, es un poco demasiado largo, puedes configurarlo a 1 minuto. Puedes cambiar esto editando /etc/default/postgrey. Cambia el valor predeterminado:

POSTGREY_OPTS="--inet=127.0.0.1:10023"

a:

POSTGREY_OPTS="--inet=127.0.0.1:10023 --delay=60"

Sin embargo, sugeriría cambiar los valores predeterminados solo después de haber verificado que todo funciona como se espera. También vale la pena notar que un retraso más corto reducirá la eficiencia del greylisting. Aumentar el retraso a una hora será más duro para el spam, pero también más duro para la paciencia de tus usuarios. :)

Ahora inicia el servidor de políticas de Postgrey con:

service postgrey start

El servicio de políticas de Postgrey debería estar ahora en funcionamiento en el puerto 10023.

Ahora configuremos Postfix para usar Postgrey.

Configurar Postfix

Los archivos de configuración de Postfix se encuentran en /etc/postfix. Edita /etc/postfix/main.cf y añade check_policy_service inet:127.0.0.1:10023 a las smtpd_recipient_restrictions. Debería verse algo así:

smtpd_recipient_restrictions = permit_sasl_authenticated,
           permit_mynetworks,
           reject_unauth_destination,
           check_policy_service inet:127.0.0.1:10023

Ahora todo lo que tenemos que hacer es recargar la configuración de Postfix con:

postfix reload

Simple y agradable. Siéntate y disfruta de la ausencia de spam :)

//Erk

Share: X/Twitter LinkedIn

Recibe nuevas publicaciones en tu bandeja de entrada.

No spam. Cancela la suscripción en cualquier momento.