Muchos (¿la mayoría?) de nosotros todavía dependemos de un módem y una conexión telefónica para surfear la red. En nuestro caso, y más aún si nuestro trabajo depende de ello, los molestos banners publicitarios en los sitios que frecuentamos y la constante avalancha de e-mail no solicitado (Spam) nos mantiene en línea más tiempo del necesario, nos retiene en menos sitios de los que deseamos visitar, consume vorazmente los recursos de nuestro ya limitado ancho de banda, y engrosa ágilmente la cuenta de nuestra próxima factura telefónica y, en el peor de los casos, también la de nuestro ISP (Internet Service Provider). ¿Estamos condenados a sufrir este abuso o podemos hacer algo al respecto?

Como responsable de este sitio y algunos otros más, una importante parte de mi trabajo diario se desarrolla en línea, conectado a Internet, ya sea recopilando información, aplicaciones, o atendiendo mi correo electrónico. Desafortunadamente, por la inexistencia de un servicio de conexión de alta velocidad efectivo en mi localidad de residencia, debo realizar todas estas tareas como lo vengo haciendo desde hace 5 años: con un simple módem y una cara conexión telefónica. Pero afortunadamente la comunidad del Software Libre ya se ha encargado de que esta combinación no sea necesariamente una maldición. Veamos a continuación qué podemos hacer para aprovechar más eficientemente nuestro angosto ancho de banda, protegiendo al mismo tiempo nuestro derecho a la privacidad en la red de redes.

Mi E-mail es mío

No importa a qué nos dediquemos o para qué lo usemos, a medida que más aspectos de nuestra actividad personal pasen también por Internet, el correo electrónico se va convirtiendo en una herramienta cada vez más imprescindible y valiosa. Nosotros lo sabemos y también lo saben miles empresas, negocios y oportunistas, deseosos de convertirnos en un eslabón más de su campaña de márketing. Recientemente éstas personas cuentan con una nueva arma de terror, con las cada vez más frecuentes bases de e-mail disponibles a la venta para esos fines, y de las que ya podemos formar parte sin siquiera saberlo. El correo no solicitado, también conocido como correo basura o Spam ha alcanzado con ésto una nueva dimensión.

Con GNU/Linux existen desde hace tiempo herramientas y técnicas para combatir el Spam, tanto desde el servidor como desde el lado del cliente. Pero como mi ISP no tiene una política para combatir el Spam definida, mi cuenta de e-mail en su servidor POP3 corre el peligro cada vez mayor de convertirse en un basurero tóxico. Multipliquemos esto por las 4 cuentas POP3 que uso más frecuentemente y la receta para el desastre parece estar completa. Corre entonces por mi parte buscar una manera de que esto no suceda...

MailFilter

MailFilter es una pequeña aplicación escrita en C, distribuída bajo la licencia GPL y compatible con GNU/Linux, y lo más problable, también con cualquier entorno Unix (*nix). El principio de funcionamiento de MailFilter es bastante rápido y práctico:

  • Antes de que procedamos a bajar nuestro correo con el cliente de e-mail de nuestra preferencia, MailFilter deberá ejecutarse con anticipación, para que se conecte al servidor de correo correspondiente y revise sólo las cabeceras de todos los mensajes pendientes para nuestra cuenta.
  • MailFilter compara los datos de las cabeceras con una serie de reglas que nosotros mismos definimos, para borrar el Spam directamente en el servidor o sea sin necesidad de bajarlos antes, dejando intactos al resto.
  • Los dos pasos anteriores pueden repetirse para todas nuestras cuentas de correo POP3, estén o no ubicadas en el mismo servidor.
  • Una vez terminada la ejecución de MailFilter podemos bajar nuestro correo como lo hacemos generalmente, pero con la (relativa) certeza de habernos librado de (casi) todo el Spam que nos esperaba.

    Al momento de escribir esto, MailFIlter sólo soporta cuentas de correo tipo POP3, lo que debería ser más que suficiente para la mayoría de nosotros.

    El sitio oficial de MailFilter es http://mailfilter.sourceforge.net/, y allí es posible encontrar toda la información correspondiente a su desarrollo, sus fuentes y algunos binarios. Su autor desarrolló MailFilter usando SuSE Linux, pero también existen paquetes binarios para Red Hat y Linux-Mandrake disponibles. Para el resto, lo mejor es compilar uno mismo MailFilter a partir de sus fuentes, tarea que es de lo más sencilla:

    tar -xvzf maifilter-0.2.2.tar.gz cd maifilter-0.2.2 ./configure make make install

    (Nota: Debemos haber ingresado al sistema como superusuario para ejecutar la última línea exitosamente).

    La ejecución de MailFilter es tan secilla como ejecutar el comando mailfilter (obviamente, cuando ya estamos conectados), desde la consola o una terminal X, pues éste programa no tiene ninguna interface gráfica, inútil para el caso. Pero como en todas las aplicaciones, para que su operación sea realmente útil debemos configurarlo correctamente antes.

    Configurando MailFilter

    Toda la configuración de MailFilter está contenida completamente en un archivo oculto de texto llamado .mailfilterrc, ubicado en el directorio Home del usuario que usamos para recuperar nuestro correo (/root/.mailfilterrc si ingresamos como superusuario). Su sintaxis es extremadamente sencilla, donde cada opción se encuentra convenientemente explicada con profusos comentarios, que en la mayoría de los casos serán suficientes para explicar su función. En caso contrario, podemos consultar su página del manual para obtener toda la información aplicable, usando el comando: man mailfilterrc

    La parte más importante de .mailfilterrc es la que define cada una de las cuentas POP3 que se desean filtrar. Cada una de ellas necesita de estas 4 líneas, las que se repetirán las veces que sean necesarias:

    SERVER=[nombredelservidor] USER=[nombredelusuario] PASS=[contraseñadelusuario] PROTOCOL=pop3 PORT=110

    Las dos últimas líneas no deben cambiarse, ya que MailFilter por ahora sólo soporta servidores POP3 y 110 es su puerto por defecto. Por ejemplo, este es el fragmento correspondiente en mi archivo .mailfilterrc:

    SERVER=pop.softhome.net USER=vengaboy PASS=nosedice1 PROTOCOL=pop3 PORT=110

    SERVER=pop3.interlap.com.ar USER=vengador PASS=nosedice2 PROTOCOL=pop3 PORT=110

    A filtrar se ha dicho

    Luego de definir todas las cuentas de e-mail que deseamos filtrar debemos especificar con qué criterios se analizarán los datos de las cabeceras de los mensajes pendientes en el servidor. Esto se hace fundamentalmente con las opciones DENY y ALLOW, como se explica a continación. Es importante destacar que todas las opciones de filtrado que siguen después de la definición de las cuentas de e-mail se aplicarán a todas ellas en el momento del verificación, este criterio no puede definirse individualmente por cada una.

    Lo primero que debemos hacer es asegurarnos de que los mensajes críticos provenientes de reconocidas fuentes amigables siempre puedan pasar sin problemas. Esto lo hacemos con la opción ALLOW, por ejemplo:

    ALLOW:^From:.barbaraflor@lovenest.net ALLOW:^From:.@planetalinux.com.ar ALLOW:^From:.*Luis Wayar

    También podemos dejar pasar todos los mensajes con algún asunto de nuestro interés:

    ALLOW:^Subject:.South Park ALLOW:^Subject:.Linux ALLOW:^Subject:.*PHP

    Si frecuentemente recibimos archivos attacheados a nuestros mensajes importantes, debemos decirle a MailFilter que aquellos que cumplan con algún criterio definido en las opciones ALLOW no tienen límite en el tamaño de los archivos que pueden incluir, esto lo hacemos con:

    MAXSIZE_ALLOW=0

    Ahora podemos definir qué mensajes consideramos como Spam, usando la opción DENY:

    DENY:^From:.maldito@spammer.com DENY:^From:.@deremate.com DENY:^From:.*Guillermo Puertas

    DENY:^Subject:.Llame ya! DENY:^Subject:.Windows

    Como mencioné anteriormente, MailFilter sólo revisa las cabeceras de los mensajes pendientes en nuestro servidor para bloquearlos o no, ésto hace que su operación sea bastante rápida, y que además de los campos From y Subject, también puedan analizarse To, CC y BCC, en caso de ser necesarios para afinar nuestras reglas.

    Debido a que el funcionamiento de MailFilter es tan efectivo como lo sean las reglas de filtrado definidas en su archivo de configuración, es conveniente que nos aseguremos de que las mismas no sean tan estrictas como para borrar más de lo debido (los mensajes borrados por MailFilter no pueden ser recuperados), ni tan permisivas como para dejar la puerta abierta al Spam más persistente. Una buena idea es filtrar direcciones de e-mail completas (como bases@uole.com) o Asunto que sabemos jamás nos interesarán (como Super Oferta!!).

    Los Spammers más molestos incluso llegan a enviar sus e-mails más de una vez. Para combatir esta plaga podemos decirle a MailFilter que borre los mensajes duplicados sin verificar nada más, agregando la opción:

    DEL_DUPLICATES=yes

    Recientemente apareció un nuevo virus para Windows que aprovecha unos errores en OutLook (que raro!) para enviar mensajes con archivos infectados. Para evitar recibir estos archivos de más de 200 Kb (aproximadamente), sólo tuve que agregar esta línea:

    MAXSIZE_DENY=200000 # tamaño en bytes

    Después de cambiar las reglas de filtrado es conveniente revisar el archivo mailfilter.log generado y verificar que los cambios hayan tenido el efecto deseado, ni más, ni menos. En caso contrario deberemos realizar las correcciones necesarias inmediatamente, especialmente si filtramos más de lo necesario... Algo que puede ayudarnos en esta tarea es cambiar el nivel de detalle de los mensajes producidos por la operación de MailFilter, cambiandolo en su archivo de configuración desde 1 hasta 6 (3 por defecto) en la línea que dice:

    VERBOSE=[niveldedetalle]

    Estas son las más importantes opciones de MailFilter, con las que podemos comenzar a sacarle un buen provecho en cuestión de minutos. Para dominar completamente su configuración también tendriamos que conocer otras opciones, que aunque no son fundamentales para su funcionamiento, pueden cambiarlo radicalmente para cumplir con prácticamente cualquier critero de filtración que necesitemos definir. Para una descripción completa de todas ellas y una configuración más avanzada de la posible con las opciones explicadas en esta nota les recomiendo leer la página del manual disponible a tal fin, usando el comando: man mailfilterrc

    Podemos ver algunos ejemplos reales bastante útiles, con distintos grados de complejidad y soberviamente documentados, en la página del manual correspondiente: man mailfilterex

    Finalmente, para verificar que la configuración elegida cumple con nuestras expectativas, sólo nos resta conectarnos a Internet y ejectar MailFilter desde una consola o terminal X:

    mailfilter

    Práctico para el bolsillo del Linuxero

    MailFilter es una aplicación sencilla, rápida y extremadamente práctica para el usuario individual con una lenta conexión a Internet, pero con una imprescindible necesidad de mantener su correo electrónico libre de Spam. Si nuestra situación es otra, MailFilter puede no ser la mejor elección. Por ejemplo, si estuvieramos del lado del servidor, la misma tarea que realiza MailFilter en el lado del cliente podría delegarse a procmail.

  • Publicidad

    © 2006 Planeta Linux Argentina. La fuente de recursos Linux desde 1999. Desarrollado por VivaServer.