El 2004-08-22 a las 03:06 +0200, Dionisio Ruiz de Zárate escribió:
Una mas. Valdia algo como esto? me creo dos usuarios en mi servidor, dos usuarios ficticios (a y b) al a le reenvio el correo como bueno y al b el malo. esto lo pongo en difernetes carpetas y corro el sa-learn seria posible?
Casi.
ante esto dudas: si yo le reenvio el correo a estos usuarios en el remiente, por el hecho de reenviarselo, aparecerá mi direccion de correo. en este caso, y ya que todas proveeran de mi, tomaria mi direccion como origen de spam?
¡Exacto! Ese es el problema de hacerlo así. No se podría hacer con un "forward", sino con un "bounce", que no toca la mayoría de las cabeceras. Pero habría que probarlo primero. Además, hayq ue tener en cuenta que no todos los clientes de correo tienen esa posibilidad. Otra posibilidad es enviar un forward a un usuario determinado (es_spam@miservidor, por ejemplo), como has dicho, pero conteniendo el spam integramente en un fichero anexo. Un "robot" recibiría el correo, separando los anexos para procesarlos. ¿Problema? Varios. No conozco tal "robot" hecho, pero el fundamental sería que los usuarios se equivocarían en el formato. La que a mi más me gusta, teoricamente, es, teniendo un servidor imap, definir al menos tres carpetas: 'inbox', 'spam', 'spam_no_reconocido' (y posiblemente 'no_es_spam'). El servidor procesaría el correo distribuyendolo entre inbox y spam. El usuario sería responsable (¡ejem!) de mover el correo que considera spam a la carpeta 'spam_no_reconocido'. Esta operación la hacen correctamente todos (o casi) los clientes de correo. La siguiente tarea es meter en el cron el sa-learn. Lo dejo como ejercicio para el lector - traducción: estoy vago, y depende del servidor. A ver, intento explicarte un poco el tema por encima. El spamassassin puede ser "disparado" de diferentes formas. Digamos que se puede hacer por cada usuario independientemente, según le llega el correo, o globalmente. En ambos casos, lo que hace es añadir unas cabeceras internas al correo (configurable) para que filtros posteriores puedan moverlo a diferentes carpetas fijándose en esas cabeceras. Hacerlo por usuario tiene una pega: cada usuario necesita una serie de ficheros particulares, y su propia configuración. Globalmente se puede hacer desde el '/etc/procmailrc', por ejemplo, o como lo hace suse actualmente, desde el amavis-new. ¿Cual es la pega de hacerlo globalmente? Dos. Una, que lo que un usuario considera spam, para otro puede ser correo importantísimo. Y otra es el filtro bayesiano, que trabaja mal. El spamassassin trabaja analizando los correos con una serie de reglas más o menos fijas. Si algún remitente envía correo que se interpreta como spam, pero que a algún usuario le interesa leerlo (el caso tipico son las listas de distribución, de alguna casa comercial), lo que tiene que hacer es poner la dirección del remitente en su lista blanca (whitelist). Y viceversa, si quiere considerar a alguien como espammer, pues en la lista negra (blacklist). Las listas negras/blancas sólo funcionan si el remitente usa siempre la misma dirección, y es algo que es necesario configurar individualmente por cada usuario. El otro ajuste que existe, y que funciona muy bien, es usar un filtro bayesiano. Este es un filtro que necesita entrenarse, dándole de comer unos cuantos cientos de correos basura y otros tantos de correo bueno. La base de datos que genera tiene un tamaño apreciable, unos pocos megas. Idealmente, cada usuario tiene su propia base de datos, por varios motivos. Uno, por privacidad: el administrador no debe estar leyendo el correo para filtrar lo que es spam. Otro, lo que dije antes: la definición de spam varía según cada usuario. Cada uno de ellos puede estar mandando al "aprendizaje" correos contrapuestos con lo que mandan los demás, anulando los efectos. Pero no es imprescindible usar el filtro bayesiano, aunque es muy bueno. ¿Como se dispara el spamassassin "por usuario"? En una configuración en la que los usuarios son usuarios reales del sistema, pues desde sus respectivos '~/.procmailrc' es la manera más simple, pero también hay clientes de correo que pueden hacerlo. Y, en el caso de un servidor de correo, ¿como podemos tener configuraciones por usuario sin que lo sean del sistema, o sea, virtuales? Ahhh... buena pregunta. Me alegro que me haga usted esa pregunta :-P [...] Hoy hace viento, ¿sabes? [...] Creo que Asimov es un magnífico escritor. [...] ¿Sigues ahí? Glubs. O:-) ¿Me explico? :-P Bueno, pues intentaré explicarlo. Habría que leer la documentación del spamassassin en su página web, que hace tiempo que no la miro, para ver novedades y ejemplos. El programa tiene posibilidades de mantener las configuraciones de cada usuario (black/white lists) en una base de datos sql. Ni idea de como se hace eso "en la práctica". Quien lo sepa, que lo cuente. También es posible disparar el spamassassin con "usuarios virtuales". Con 'spamd' tenemos: --virtual-config-dir=pattern This option specifies where per-user preferences can be found for virtual users, for the -x switch. If this and the --virtual-config switch are both used, this will take precedence. ... So for example, if "/vhome/users/%u/spamassassin" is specified, and spamc sends a virtual username of "jm@example.com", the directory "/vhome/users/jm@example.com/spamassassin" will be used. -V=directory, --virtual-config=directory This option specifies where per-user preferences can be found for virtual users, for the -x switch. -x, --nouser-config, --user-config Turn off(on) per-user config files. All users will just get the default configuration. The default behaviour is for per-user configuration to be off. ¿Se puede hacer algo parecido con amavis-new? Ni idea: no tiene manual. -- Saludos Carlos Robinson
participants (1)
-
Carlos E. R.