Les paso el siguiente documento que he preparado: http://criadoindomable.wordpress.com/2007/04/14/greylist-en-sendmail-con-smf-grey/
Luchar contra el spam se hace a veces una tarea muy complicada. Permanentemente estas personas enemigas que envían SPAM y son terribles enemigos de Internet, se esfuerzan para cambiar sus métodos recurriendo a sistemas ingeniosos y complicados evitar para quienes tratamos de hacer de la conectividad y de los servicios como el de e-mail algo usable y fluido. Existen diferentes formas de protegernos de los SPAM, entre los que se encuentran las RBL y los sistemas de análisis bayesiano y heurísticos. Las mejores soluciones anti-spam se basan en la implementación de varias soluciones a fin de evitar la mayoría de los spam que llegan al usuario. Uno de estos métodos que mejor funciona como filtro anterior a que el mail llegue al servidor es el denominado Greylist. Greylist se basa en el uso de las RFC de los sistemas de mail y simplemente rechaza a todos los mails que llegan indicándole que la casilla está ocupada (error 451) y dejara pasar el mail luego de un tiempo definido. Dado que los spammers y los virus no pierden tiempo en reenviar los mails, nos ahorramos la gran mayoría de estos sin gastar recursos de ancho de banda, procesador y memoria del servidor de correo. Una solución anti-spam de varios frentes podría ser RBL -> Greylist -> Anti-SPAM Con lo cual podemos llegar a eliminar más del 99% de los SPAM que llegan al usuario, siendo el greylist responsable de casi el 80% de este filtrado. Existen muchas soluciones de greylisting para diversos servidores de correo. La que usaremos en este documento es una solución para Sendmail, siendo ese el servidor de mail más extendido del mundo. Para el sistema Sendmail se realiza el filtrado por intermedio de Milter (que es una API que permite realizar filtrado de mail) A partir de un programa denominado smf-grey podremos tener los benefisios de greylisting en nuestro sendmail . Este sistema, según indica su web, es simple, liviano y facil de implementar. Aquí una lista de las posibilidades que brinda: * external editable configuration file; * whitelist by an IP address (in CIDR notation); * whitelist by a PTR (reverse DNS) record; * whitelist by an envelope sender e-Mail address; * whitelist by an envelope recipient e-Mail address; * whitelists auto reloading; * scalable and tunable fast in-memory greylist/autowhitelist engine; * autowhitelisted records reloading and regular dumping; * SMTP AUTH support; * RFC-2821 standard compliance; * Greylisting results header builder. La configuración estaá muy bien explicada en el archivo README, pero la comento aquí igualmente: Lo primero es descargar el programa desde: http://prdownloads.sourceforge.net/smfs/smf-grey-2.1.0.tar.gz?download Para poder instalarlo, se requiere las bibliotecas de desarrollo de milter, en debian es tan simple como hacer: # apt-get install libmilter-dev Luego de haber instalado está biblioteca, se podra descomprimir el programa smf-grey, compilarlo e instalarlo. Para compilar e instalar hay que hacer como root: # make # make install Quedara instalado Para esto es necesario que el Sendmail instalado haya sido compilado con las API’s Milter. En caso de que no se tengá compilado senmail con Milter, leer: http://www.sendmail.org/doc/sendmail-current/libmilter/docs/ Lugo de haber compilado e instalado smf-grey, se tendrá que tocar el archivo /etc/mail/smfs/smf-grey.conf para configurar las WhiteList y los tiempos que se usaran para rechazar los mails o meterlos dentro de la lista auto generada de White List. El smf-grey quedara instalado en /usr/local/sbin/smf-grey. smf-grey funciona como demonio y tiene que estar levantado antes que sendmail, se podrá utilizar alguno de los ejemplos para el init.d que se encuentran el los fuentes del programa. En Debian se puede realizar directamente copiando y modificando el archivo /etc/init.d/skeleton: Como root: cp /etc/init.d/skeleton /etc/init.d/smf-grey Editar /etc/init.d/smf-grey con el editor preferido y cambiar el contenido de las cariables de entorno DAEMON, NAME y DESC para que queden de la siguiente forma: DAEMON=/usr/local/sbin/smf-grey NAME=smf-grey DESC=”Greylist for Sendmail” Luego usar la herramienta udpate-rc.d para actualizar los Run Level’s: update-rc.d /usr/local/sbin/smf-grey start 19 2 3 4 5 . stop 19 0 1 6 . Nota: Se usa 19 dado que sendmail arranca en 20 en Debian. De esta forma nos aseguramos que inicie antes que sendmail. La opción por defecto de update-rc.d es 20. Ahora hay que cambiar el archivo /etc/mail/sendmail.mc para agregar las siguientes lineas: define(`confMILTER_MACROS_HELO’, confMILTER_MACROS_HELO`, {verify}’)dnl INPUT_MAIL_FILTER(`smf-grey’, `S=unix:/var/run/smfs/smf-grey.sock, T=S:30s;R:30s’)dnl Compilar el .cf de sendmail de la siguiente manera: # cd /etc/mail; make Iniciar el smf-grey # /etc/init.d/smf-grey start Reiniciar el sendmail # /etc/init.d/sendmail restart Con esto será sufiente y se podrá contar con el filtrado. En el syslog aparecerán los datos del sistema si es que está funcionando ;) De esta forma se podrá contar con un sistema de greylist para sendmail de una forma muy rápida y sacarnos de encima más del 80% del spam sin hacer mucho esfuerzo. Saludos.- -- Sebastián D. Criado - scriado{en}ciudad.com.ar L.U.G.Ro - http://www.lugro.org.ar GNU/Linux Registered User # 146768 ------------------------------------------------------------------- "Si el Universo fuera un programa estaría hecho en C, y correría sobre un sistema UNIX" Anónimo.
pgpaJaln9s0LV.pgp
Description: PGP signature