Los filtros, especialmente los "bayesianos" funcionan muy bien. El problema es que la información sobre qué es spam y qué no lo es la tienen los clientes, mientras que el punto donde es efectivo bloquear es el servidor.
Los ISP, que son los que controlan el servidor, no suelen dedicarse específicamente a dar servicio de correo. Lo que te venden es la conexión. El correo es un servicio "de valor añadido" que dan porque si no, aparecerían como unos miserables.
El resultado es que ese servicio de correo tiene una calidad muy baja. Si muchas veces están caídos los servidores, no les pidas que además tengan "características avanzadas" como instalar filtros. Y mucho menos filtros que parecen no existir todavía: todas las implementaciones de filtros bayesianos que he visto son para cliente.
Los filtros en el cliente no evitan el spam porque cuando el filtro borra el mensaje, ya se ha recibido. La única forma es que, una vez identificado un patrón de spam, el servidor rechace el mensaje en la misma sesión de recepción de SMTP, con un mensaje de error. Esto evita el tráfico entre el servidor y el cliente receptor, puede evitar el tráfico entre el servidor y el emisor (una vez que tu IP ha sido marcada como posible spammer, queda bloqueada salvo para mensajes administrativos) y evita el problema de los falsos positivos porque aunque se puede detectar un mensaje erróneamente como spam, se produce un error del que se informa al emisor. Así no se pierden mensajes.
A mí todo esto me parece meridianamente claro. Pero mientras no se lo parezca a los autores de servidores SMTP y a los proveedores de servicios que los usan, la cosa seguirá igual.
Los filtros tipo spamassasin, etc... Son para servidor, de todas formas yo tengo un spamassasin y uso el filtro de thunderbird, y aún así recibo unos 20 ó 30 mensajes diarios de spam.
Además tengo otras cuentas en un proveedor de internet que tiene un filtro anti-spam, no es muy bueno, pero cuando intentas descargarte un mensaje marcado como spam, te lanza un mensaje de error. Este mensaje lo puedes capturar con el fetchmail y decirle que no lo descarge.
Hola, soy el autor del comentario inicial. Si te fijas, yo intento darle vueltas más a las posibles soluciones en la parte cliente (de ahí el pensar en este caso en firmas y autenticación del remitente como posible alternativa mejor que los filtros anti spam). Y si lo hago pensando en la parte cliente en vez de filtrar en la parte servidora, es precisamente porque los filtros que no controlas tú sino tu proveedor serían muy problemáticos, mucha gente podría verlos como un ataque a su privacidad: imaginate que tu ISP te borra/anula/bloquea mensajes que ellos consideren spam, y tu sí lo estabas esperando porque contenía una publicidad a la que sí te habías suscrito y que esperabas recibir (por ponerte un ejemplo).
De ahí que como mucho, a lo que puedas aspirar (que de hecho bastantes proveedores lo hacen) es que te pongan filtros tipo spamassasin en el servidor, que SÓLO ETIQUETAN mensajes sospechosos de ser spam, pero no te lo borran porque debes ser tú quien tenga la última palabra. Y si te lo etiquetan, vale, para tí podría ser una ayuda para filtrarlos desde tu cliente de correo, pero te lo has tenido que bajar de todas formas (con todos sus adjuntos, virus, y toda la basura que pudiera llevar dentro), consumiendo tiempo y ancho de banda inutilmente.
¿Conclusión? salvo que se nos ocurra algo mejor, creo que necesitaríamos básicamente tres cosas:
evolucion de los estandares para cubrir sus deficiencias, y poner en practica lo que sí está ya inventado pero no se aprovecha suficientemente
nuevas prácticas en los proveedores de servicios: evitar relay smtp anonimo para forzar que sea autenticado? filtros en los servidores? más y mejor aprovechamiento de listas blancas/negras?
nuevas prácticas de los usuarios: vale que la informática y las comunicaciones hagan un esfuerzo para acercarse y facilitar la vida de los usuarios de a pie, pero éstos también deberían aprender los hábitos elementales, y que hasta tu abuela sepa que mandar un mail es como mandar una carta postal: no es mucho más dificil usar bien el correo electrónico que aprender las normas elementales del correo tradicional, como ponerle direccion y remite en unos formatos estandares, meterlo en un sobre homologado, comprarle un sello timbrado y meterlo en el buzon apropiado (no, abuela no, en la rejilla del ventilador no, se mete en la ranura del buzón).
Perdon por el pitorreo, pero es que aunque estoy de acuerdo en que el software tiene que tender a ser más amigable y facil de usar, no quita para que a los usuarios haya que educarlos en las cosas elementales, y me cuesta tomarme en serio eso de que rehusemos mejorar las cosas sólo para resignarnos a sufrir con esos "idiot computer users" y no enseñarles los conceptos básicos de uso de una cosa cada vez más cotidiana... ¿O no?
Tu idea de aplicar los filtros bayesianos en el servidor es bastante interesante. Los que yo veo son los siguientes:
1. Los filtros bayesianos tienen la particularidad de que tienen una primera etapa en la que hay que "educarlos". Y es aquí precisamente donde radica su utilidad, ya que al entrenarlos a distinguir SPAM del correo legítimo, se está jugando mucho con el tipo de correos que suele recibir un cliente particular. Si por ejemplo yo soy abogado y recibo mucho correo legal donde hay un registro del lenguaje determinado, los filtros se configuran de una forma diferente de lo que se le podría configurar a otra persona. Por eso combinar esta información entre todos los correos que llegan al servidor, podría originar una poca efectividad a la hora de la detección.
2. El segundo problema es consecuencia de la naturaleza de los filtros bayesianos (no sobre su aplicación en el servidor). A mí, en concreto usando el filtro bayesiano de Mozilla, me suele ocurrir que al educar al programa de correo, como la mayoría de los e-mails legítimos que recibo son en español y la mayoría del SPAM es en inglés, se empieza a formar, como si dijeramos, una separación entre las bases de datos de palabras: las que obtienen más probabilidad de ser SPAM son las inglesas y las otras las españolas. De esta manera, si alguna vez me llegaba un correo en inglés (o uno en español con un adjunto de texto en inglés) siempre me lo detectaba como SPAM. Esto es un problema bastante grave que da este filtro.
Yo tampoco confío en estos filtros como posibles soluciones. No hay recetas milagrosas. Yo soy más de la opinión de efectuar unos grandes servidores con bases de datos que almacenen correos electrónicos que YA han sido identificados como SPAM, pero no por filtros de cliente o de servidor, sino por los propios usuarios del correo. Es decir, que para eso los clientes de correo deberían implementar un servicio de envío de los correos que calificamos de SPAM, a otros servicios que se enargarían de este almacenamiento. Lo que ocurriría entonces es que los servidores de correo, al recibir un mensaje, lo enviarían a estos servicios de grandes bases de datos de SPAM para que comprueben si el correo ha sido notificado o no.
Esto tiene la desventaja de que un mensaje determinado de un spammer necesitaría ser recibido por cierto número de usuarios (sin poderlo evitar) antes de que fuera clasificado en la base de datos. Pero se ahorraría el recibirlo a muchos otros usuarios. A lo mejor estamos hablando de una reducción total del 95% de los correos (sin recibirlos en el cliente, es decir, sin generar tráfico, y sin usar filtros de IP's ni listas negras ni filtros bayesianos...).
Hay solución, pero no ésa
(Puntos:5, Inspirado)( http://barrapunto.com/ )
Los ISP, que son los que controlan el servidor, no suelen dedicarse específicamente a dar servicio de correo. Lo que te venden es la conexión. El correo es un servicio "de valor añadido" que dan porque si no, aparecerían como unos miserables.
El resultado es que ese servicio de correo tiene una calidad muy baja. Si muchas veces están caídos los servidores, no les pidas que además tengan "características avanzadas" como instalar filtros. Y mucho menos filtros que parecen no existir todavía: todas las implementaciones de filtros bayesianos que he visto son para cliente.
Los filtros en el cliente no evitan el spam porque cuando el filtro borra el mensaje, ya se ha recibido. La única forma es que, una vez identificado un patrón de spam, el servidor rechace el mensaje en la misma sesión de recepción de SMTP, con un mensaje de error. Esto evita el tráfico entre el servidor y el cliente receptor, puede evitar el tráfico entre el servidor y el emisor (una vez que tu IP ha sido marcada como posible spammer, queda bloqueada salvo para mensajes administrativos) y evita el problema de los falsos positivos porque aunque se puede detectar un mensaje erróneamente como spam, se produce un error del que se informa al emisor. Así no se pierden mensajes.
A mí todo esto me parece meridianamente claro. Pero mientras no se lo parezca a los autores de servidores SMTP y a los proveedores de servicios que los usan, la cosa seguirá igual.
Re:Hay solución, pero no ésa
(Puntos:1)( http://www.corebedigital.com/ )
Además tengo otras cuentas en un proveedor de internet que tiene un filtro anti-spam, no es muy bueno, pero cuando intentas descargarte un mensaje marcado como spam, te lanza un mensaje de error. Este mensaje lo puedes capturar con el fetchmail y decirle que no lo descarge.
Israel E. Bethencourt
FidoX/CORE
Re:Hay solución, pero no ésa
(Puntos:2)( http://barrapunto.com/ )
De ahí que como mucho, a lo que puedas aspirar (que de hecho bastantes proveedores lo hacen) es que te pongan filtros tipo spamassasin en el servidor, que SÓLO ETIQUETAN mensajes sospechosos de ser spam, pero no te lo borran porque debes ser tú quien tenga la última palabra. Y si te lo etiquetan, vale, para tí podría ser una ayuda para filtrarlos desde tu cliente de correo, pero te lo has tenido que bajar de todas formas (con todos sus adjuntos, virus, y toda la basura que pudiera llevar dentro), consumiendo tiempo y ancho de banda inutilmente.
¿Conclusión? salvo que se nos ocurra algo mejor, creo que necesitaríamos básicamente tres cosas:
Perdon por el pitorreo, pero es que aunque estoy de acuerdo en que el software tiene que tender a ser más amigable y facil de usar, no quita para que a los usuarios haya que educarlos en las cosas elementales, y me cuesta tomarme en serio eso de que rehusemos mejorar las cosas sólo para resignarnos a sufrir con esos "idiot computer users" y no enseñarles los conceptos básicos de uso de una cosa cada vez más cotidiana... ¿O no?
Re:Hay solución, pero no ésa
(Puntos:5, Interesante)( http://knocte.blogspot.com/ )
1. Los filtros bayesianos tienen la particularidad de que tienen una primera etapa en la que hay que "educarlos". Y es aquí precisamente donde radica su utilidad, ya que al entrenarlos a distinguir SPAM del correo legítimo, se está jugando mucho con el tipo de correos que suele recibir un cliente particular. Si por ejemplo yo soy abogado y recibo mucho correo legal donde hay un registro del lenguaje determinado, los filtros se configuran de una forma diferente de lo que se le podría configurar a otra persona. Por eso combinar esta información entre todos los correos que llegan al servidor, podría originar una poca efectividad a la hora de la detección.
2. El segundo problema es consecuencia de la naturaleza de los filtros bayesianos (no sobre su aplicación en el servidor). A mí, en concreto usando el filtro bayesiano de Mozilla, me suele ocurrir que al educar al programa de correo, como la mayoría de los e-mails legítimos que recibo son en español y la mayoría del SPAM es en inglés, se empieza a formar, como si dijeramos, una separación entre las bases de datos de palabras: las que obtienen más probabilidad de ser SPAM son las inglesas y las otras las españolas. De esta manera, si alguna vez me llegaba un correo en inglés (o uno en español con un adjunto de texto en inglés) siempre me lo detectaba como SPAM. Esto es un problema bastante grave que da este filtro.
Yo tampoco confío en estos filtros como posibles soluciones. No hay recetas milagrosas. Yo soy más de la opinión de efectuar unos grandes servidores con bases de datos que almacenen correos electrónicos que YA han sido identificados como SPAM, pero no por filtros de cliente o de servidor, sino por los propios usuarios del correo. Es decir, que para eso los clientes de correo deberían implementar un servicio de envío de los correos que calificamos de SPAM, a otros servicios que se enargarían de este almacenamiento. Lo que ocurriría entonces es que los servidores de correo, al recibir un mensaje, lo enviarían a estos servicios de grandes bases de datos de SPAM para que comprueben si el correo ha sido notificado o no.
Esto tiene la desventaja de que un mensaje determinado de un spammer necesitaría ser recibido por cierto número de usuarios (sin poderlo evitar) antes de que fuera clasificado en la base de datos. Pero se ahorraría el recibirlo a muchos otros usuarios. A lo mejor estamos hablando de una reducción total del 95% de los correos (sin recibirlos en el cliente, es decir, sin generar tráfico, y sin usar filtros de IP's ni listas negras ni filtros bayesianos...).
Saludos.
Dos productos
(Puntos:2)( http://barrapunto.com/ )
death2spam [death2spam.com] y SpamProbe [sourceforge.net], este último código abierto.
Cuenta Graham que están entre los productos más efectivos.