Hola, He vuelto a poner en marcha el Spamassassin, pero tengo la sensación de que no "aprende" nada. Hago lo siguiente. Desde el cliente de correo creo dos carpetas IMAP (spam y nospam) y voy poniendo los mensajes en cada una de ellas. Cuando la carpeta spam tiene más de 150 mensajes le digo que "aprenda" con el comando: # sa-learn --showdots --spam /var/spool/imap/usser/usuario/spam/* Y me responde que sí, que de 150 mensajes ha aprendido de 125, pero me siguen llegando mensajes que son marcados por el SA pero no los cataloga de spam. Una vez que he ejecutado el comando elimino los correos de los que, supuestamente, ya ha aprendido. ¿Algún truquillo para que aprenda mejor y sea más eficiente? :) La versión del SA es la antigua 2.6x. Saludos, -- Camaleón
Como bien dice Javier Fontoba, no debes eliminar los declarados como SPAM. Yo tengo más de 4000 almacenados y Spamassassin no falla ninguno desde que llevaba 1200. Lo cual implica que mi carpeta de correo basura "pesa" 98 MB. Creo que voy a empezar a borrar. Saludos. Ventura.
El 2004-09-29 a las 10:18 +0200, Camaleón escribió:
He vuelto a poner en marcha el Spamassassin, pero tengo la sensación de que no "aprende" nada.
Sensación, sensación... o aprende o no aprende :-P Mira en la cabecera: |X-Spam-Status: No, hits=-4.9 required=5.0 tests=AWL,BAYES_00 autolearn=ham | version=2.63 BAYES_* es lo que indica si se usa o no.
Hago lo siguiente. Desde el cliente de correo creo dos carpetas IMAP (spam y nospam) y voy poniendo los mensajes en cada una de ellas. Cuando la carpeta spam tiene más de 150 mensajes le digo que "aprenda" con el comando:
150 es poco, necesita 500 o 1000.
# sa-learn --showdots --spam /var/spool/imap/usser/usuario/spam/*
Y me responde que sí, que de 150 mensajes ha aprendido de 125, pero me siguen llegando mensajes que son marcados por el SA pero no los cataloga de spam. Una vez que he ejecutado el comando elimino los correos de los que, supuestamente, ya ha aprendido.
No combiene borrarlos tan rápido: si la base de datos peta no lo puedes entrenar de nuevo. -- Saludos Carlos Robinson
Carlos E. R. wrote:
Sensación, sensación... o aprende o no aprende :-P
Mira en la cabecera:
|X-Spam-Status: No, hits=-4.9 required=5.0 tests=AWL,BAYES_00 autolearn=ham | version=2.63
BAYES_* es lo que indica si se usa o no.
¡Ajá! Pos no tá... :-P Vamos al fichero de configuración... A ver: use_bayes 1 auto_learn 1 bayes_path /etc/mail/spamassassin/bayes Y el fichero bayes_seen ocupa 84 KB. y bayes_toks 2,5 MB. ¿Hay que poner alguna opción más? ¿O es que mi asesino es muy vago? :)
150 es poco, necesita 500 o 1000.
Captada la indirecta.
No combiene borrarlos tan rápido: si la base de datos peta no lo puedes entrenar de nuevo.
O.K. ¿Por lo de base de datos te refieres a los fichero bayes_*? ¿Se pueden hacer copias en otro disco para tenerlos de reserva? Saludos, -- Camaleón
El 2004-09-29 a las 17:37 +0200, Camaleón escribió:
BAYES_* es lo que indica si se usa o no.
¡Ajá! Pos no tá... :-P
Vamos al fichero de configuración... A ver:
use_bayes 1 auto_learn 1 bayes_path /etc/mail/spamassassin/bayes
Y el fichero bayes_seen ocupa 84 KB. y bayes_toks 2,5 MB.
¿Hay que poner alguna opción más? ¿O es que mi asesino es muy vago?
:-) Puede ser dos cosas, tipicamente: que todavía no haya aprendido bastante, o que el usuario que ejecuta el aprendizaje no es el mismo que el que luego ejecuta el filtrado.
:)
150 es poco, necesita 500 o 1000.
Captada la indirecta.
No combiene borrarlos tan rápido: si la base de datos peta no lo puedes entrenar de nuevo.
O.K. ¿Por lo de base de datos te refieres a los fichero bayes_*? ¿Se pueden hacer copias en otro disco para tenerlos de reserva?
Si, y si. A ver, en teoria los correos los puedes borrar, porque recuerda de cuales ha aprendido, supongo que con un undice. Pero a mi a veces me ha dejado de funcionar, o lo hace con menos eficacia: pues entonces borro la base de datos, y le vuelvo a mandar a la escuela. Respecto a hacer una copia, pues si, excepto si te das cuenta de que falla después de hacer la copia y depues de haber borrado los correos - ya sabes, ley de murphy. Claro, que si dices que te llegan 500 en un dia, pues tienes que borrar un montón. Yo lo que suelo hacer es que le doy a aprender sólo aquellos que no ha detectado por su cuenta, que son menos que guardar. -- Saludos Carlos Robinson
Carlos E. R. wrote:
Puede ser dos cosas, tipicamente: que todavía no haya aprendido bastante, o que el usuario que ejecuta el aprendizaje no es el mismo que el que luego ejecuta el filtrado.
He visto que hay 3 directorios donde el asesino "trabaja". Los usuarios (de sistema y root) utilizan su directorio ~/.spamassassin, respectivamente. Las configuraciones globales se guardan en /etc/mail/spamassassin/ y esta es la opción que yo utilizo (por Cyrus, el servidor de correo POP/IMAP, que no utiliza cuentas del sistema). Es posible que no haya aprendido lo suficiente... le voy a dar unos días más de margen.
Yo lo que suelo hacer es que le doy a aprender sólo aquellos que no ha detectado por su cuenta, que son menos que guardar.
Sí, eso hago también. Si un correo que es spam lo ha marcado como tal, lo paso directamente a la papelera para posterior revisión, pero no lo utilizo como "material didáctico" para el asesino. Saludos, -- Camaleón
El 2004-09-30 a las 09:11 +0200, Camaleón escribió:
Carlos E. R. wrote:
Puede ser dos cosas, tipicamente: que todavía no haya aprendido bastante, o que el usuario que ejecuta el aprendizaje no es el mismo que el que luego ejecuta el filtrado.
He visto que hay 3 directorios donde el asesino "trabaja". Los usuarios (de sistema y root) utilizan su directorio ~/.spamassassin, respectivamente. Las configuraciones globales se guardan en /etc/mail/spamassassin/ y esta es la opción que yo utilizo (por Cyrus, el servidor de correo POP/IMAP, que no utiliza cuentas del sistema).
Ajá. Entonces tienes que hacerle aprender usando el mismo usuario usuario que usa cyrus, o decirle que lo grabe ahí - respetando los permisos para que el cyrus los pueda leer y escribir.
Yo lo que suelo hacer es que le doy a aprender sólo aquellos que no ha detectado por su cuenta, que son menos que guardar.
Sí, eso hago también. Si un correo que es spam lo ha marcado como tal, lo paso directamente a la papelera para posterior revisión, pero no lo utilizo como "material didáctico" para el asesino.
Se puede usar, y no estoy seguro si debo o no debo. De todas formas, recuerda que si la puntuación es alta ( >10 o por ahí), entonces autoaprende. Si, con con procmail derivo el spam a una carpeta aparte. Incluso tengo una dedicada para el spam de esta cuenta, por ver cuantos me llegan. Y luego otra cuenta para los que derivo manualmente. Luego, cuando he tenido que borrar la base de datos, le doy a aprender de todos. A veces, cuando empieza a equivocarse demasiado, hacerle olvidar y reaprender parece que funciona, el número de fallos disminuye. -- Saludos Carlos Robinson
Carlos E. R. wrote:
Ajá. Entonces tienes que hacerle aprender usando el mismo usuario usuario que usa cyrus, o decirle que lo grabe ahí - respetando los permisos para que el cyrus los pueda leer y escribir.
Me parece que el asesino al final con quien va a acabar es conmigo... ;-) Algunas puntos a tener en cuenta: 1. El asesino funciona: marca los correos y respeta el archivo /etc/mail/spamassassin/local.cf (al menos el AWL) 2. Los archivos bayes_toks y bayes_seen están llenos de información de la que ha aprendido mediante el comando sa-learn 3. Parámetros de inicio de spamc: user=nobody ¿Es posible que ése sea el error? ¿tendría que poner al usuario con el que ejecuto sa-learn? ¿Pero qué sucede si ese usuario es root? 4. No quiero (puedo) utilizar usuarios del sistema, sino los de cyrus. Quiero utilizar una configuración global que está en el directorio /etc/mail/spamassassin y que me tome los parámetros de local.cf Estoy casi segura de que se trata de un error de usuarios y permisos, pero no doy con él. Si ejecuto sa-learn con el usuario local, no voy a conseguir que se utilicen las bases de datos de las reglas bayesianas de forma global sino que lo limito a ese usuario y no es éso lo que busco. Saludos, -- Camaleón
Camaleón wrote:
¿Y si pruebo poniendo "user=cyrus"? ¿Podría funcionar? Debería afectar así a todos los usuarios definidos en Cyrus.
Bueno, pues después de muchas pruebas, queda de la siguiente forma: - Dejar el parámetro de spamc a "user=nobody" - Los archivos /etc/mail/spamassassin/bayes* con permisos de escritura y lectura para el usuario nobody del grupo users Parece que funciona, pues antes (no lo había visto) me daba el siguiente error en el registro: setuid to nobody suceeded cannot open bayes databases /etc/mail/spamassassin/bayes_* Pero ahora, al darle permisos de lectura/escritura al usuario "nobody" de los dos ficheros bayes_*, no me da el error y los correos pasan el test=BAYES_* correctamente. :) Saludos, -- Camaleón
El 2004-10-03 a las 23:13 +0200, Camaleón escribió:
Bueno, pues después de muchas pruebas, queda de la siguiente forma:
- Dejar el parámetro de spamc a "user=nobody" - Los archivos /etc/mail/spamassassin/bayes* con permisos de escritura y lectura para el usuario nobody del grupo users
Parece que funciona, pues antes (no lo había visto) me daba el siguiente error en el registro:
setuid to nobody suceeded cannot open bayes databases /etc/mail/spamassassin/bayes_*
Pero ahora, al darle permisos de lectura/escritura al usuario "nobody" de los dos ficheros bayes_*, no me da el error y los correos pasan el test=BAYES_* correctamente.
:)
Ah. Bueno, ahora que lo sabes, deberías cambiar el usuario a otra cosa, porque el "nobody" no debe poder escribir en ningún sitio. -- Saludos Carlos Robinson
Carlos E. R. wrote:
Ah. Bueno, ahora que lo sabes, deberías cambiar el usuario a otra cosa, porque el "nobody" no debe poder escribir en ningún sitio.
Umm. Vale. Utilizaré al usuario local, que también parece que funciona bien. :) Saludos, -- Camaleón
participants (3)
-
Camaleón
-
Carlos E. R.
-
Ventura Valderrábano Ornedo