Greylite es un filtro de spam de código abierto que funciona del lado del servidor de excepcional eficacia y sin falsos positivos. Se implementa un innovador sistema de filtrado que es fruto de dos años de investigación sobre el comportamiento de los spammers.
Greylite es una solución sostenible: no aumenta la carga en su sistema (de hecho, la mejora), y el rendimiento no se degrada con el tiempo.
Greylite funciona como un envoltorio transparente SMTP. Esto lo hace compatible con cualquier servidor SMTP y requiere un proceso de configuración trivial con un mínimo de intrusión en el sistema existente. Cuando en el servidor se ejecuta qmail, puede ser integrado directamente en su cadena de ucspi.
El primer paso que debemos realizar es bajar la última versión de greylite desde la siguiente página:
http://www.greylite.net/download.html
# cd /usr/local/src/
# wget -c http://www.greylite.net/downloads/releases/greylite/greylite-3.0pre2.tar.bz2
# rm *.tar.bz2
Extraemos el contenido del archivo que descargamos:
# tar xjvf greylite-VERSION.tar.bz2
# cd greylite-VERSION
Y compilamos, con soporte de Mysql y con soporte de geoip
# make all install WITH_MYSQL=yes WITH_GEOIP=yes
Una vez que lo tengamos compilado vamos a configurar la instalación con Mysql. Y eso lo logramos editando el archivo que se encuentra en: /usr/local/src/greylite-3.0pre2/scripts/
# vim /usr/local/src/greylite-3.0pre2/scripts/greylite-mysql.sql
Modificamos la contraseña del usuario que se creará con dicho script, que se encuentra en la tercera linea y posteriormente corremos el script para que se cree el usuario de MySQL, la base de datos y las tablas necesarias.
# mysql > /usr/local/src/greylite-3.0pre2/scripts/greylite-mysql.sql -u root -p
Editamos el archivo que se encarga de mandar los correos, localizado en: /var/qmail/supervise/qmail-smtpd/run y modificamos las lineas:
/usr/local/bin/tcpserver -v -R -l "$LOCAL" \ -x /etc/tcp.smtp.cdb -c "$MAXSMTPD" \ -u "$QMAILDUID" -g "$NOFILESGID" 0 smtp \ /var/qmail/bin/qmail-smtpd 2>&1
Y agregamos el siguiente comando:
/usr/local/bin/tcpserver -v -R -l "$LOCAL" \ -x /etc/tcp.smtp.cdb -c "$MAXSMTPD" \ -u "$QMAILDUID" -g "$NOFILESGID" 0 smtp \ /usr/local/bin/greylite /var/qmail/bin/qmail-smtpd 2>&1
Reiniciamos el servicio de qmail:
# qmail restart
Ahora procedemos a editar es archivo /etc/tcm.smtp, y agregamos las siguientes lineas:
:allow,DBRESOURCE=":greylite:pass_de_mysql:greylite::/var/run/mysqld/mysqld.sock",GREYLIST="",SUSPICION="/etc/greylite/suspicion.conf",QMAILQUEUE="/var/qmail /bin/qmail-scanner-queue.pl"
Con lo cual le estamos indicando que use greylite para verificar IP’s y le pasamos el password de mysql para el usuario greylite. Ahora regeneramos las el archivo de reglas de tcpserver:
# tcprules /etc/tcp.smtp.cdb /etc/tcp.smtp.tmp < /etc/tcp.smtp
Y checamos que las reglas se hallan guardado de manera correcta:
# tcprulescheck /etc/tcp.smtp.cdb
Qué nos debe de regresar algo parecido a esto: rule :
set environment variable DBRESOURCE=:greylite:pass_de_mysql:greylite::/var/run/mysqld/mysqld.sock set environment variable GREYLIST= set environment variable SUSPICION=/etc/greylite/suspicion.conf set environment variable QMAILQUEUE=/var/qmail/bin/qmail-scanner-queue.pl allow connection
Probamos que greylite funcione de manera correcta, con el comando telnet, el cual nos debe de regresar un error 400 (4xx) la primera vez que lo hagamos, despues de 30 segundos se puede intentar de nuevo y de esta manera verificar que la IP no es SPAM.
# telnet my.server.com 25 Trying 1.2.3.4...
Connected to my.server.com.
Escape character is '^]'.
220 my.server.com ESMTP
HELO asd 250 my.server.com
MAIL FROM: 250 ok
RCPT TO: 451 qqt failure (#4.3.0) -- or -- 452 insufficient system storage
Y ya podremos verificar en mysql las IP’s verificadas y las IP’s pendientes por verificar desde MySQL.
Post Relacionados:

no lo conocía, le voy a echar un ojo.
Utilizo spamdyke, lo conoces…?
No, no lo conocía le voy a echar un ojo… El Greylite es bastante bueno, y adaptable a muchas listas de spam.
Saludos