¿Qué archivo de Zimbra SpamAssassin debería editar?
Para Zimbra Collaboration Suite 8.5 y versiones posteriores, la documentación de Zimbra ubica las personalizaciones locales de SpamAssassin en /opt/zimbra/data/spamassassin/localrules. Un archivo de reglas con .cfextensión puede residir allí; el ejemplo de Zimbra utiliza un archivo independiente para una regla personalizada. Las versiones anteriores de Zimbra utilizaban ubicaciones diferentes, por lo que debe verificar la versión y el directorio en su servidor antes de editar. La estructura actual del paquete también puede variar según la versión o la implementación.
Esta guía agrega una regla pequeña y reversible para todo el sitio, verifica su sintaxis, reinicia el servicio de análisis de correo y comprueba que el mensaje se haya entregado. Se presupone que usted administra el MTA de Zimbra. Si utiliza varios servidores MTA, aplique el archivo y reinicie SpamAssassin en cada servidor que analice el correo entrante.
La guía de reglas personalizadas de SpamAssassin de Zimbra documenta la ruta de las reglas locales y el zmamavisdctl restartcomando. Su guía antispam distingue la configuración antigua de ZCS 8 de la de ZCS 8.5 y versiones posteriores.
¿Qué cambia una regla personalizada?
Una regla de SpamAssassin detecta una característica del mensaje, le asigna un nombre simbólico y contribuye con una puntuación. SpamAssassin combina esa puntuación con los resultados de otras pruebas. Zimbra aplica entonces sus umbrales de gestión de spam configurados. Una regla, por sí sola, no garantiza que un mensaje vaya a la carpeta de correo no deseado o sea rechazado: el resto de la puntuación del mensaje y la configuración del servidor también influyen.
Esa distinción es importante al elegir una puntuación. Empiece con un valor moderado, revise los falsos positivos y auméntelo solo cuando las pruebas demuestren que la señal es fiable. Evite copiar una puntuación alta de un ejemplo sin antes comprobar su propia puntuación de spam y umbral de descarte.
Antes de editar nada, ¿qué deberías confirmar?
- Versión y ruta: Compruebe su versión de Zimbra y si
/opt/zimbra/data/spamassassin/localrulesexiste. La ruta descrita en esta guía se aplica a ZCS 8.5 y versiones posteriores, según la documentación de Zimbra. No asuma que se aplica a versiones anteriores.
- ¿Qué servidor analiza el correo? Identifique cada MTA que ejecute Amavis/SpamAssassin. Una regla instalada en un servidor no aparece automáticamente en otro MTA independiente.
- Intención de la regla: Seleccione una señal de mensaje específica y repetible. Evite reglas que coincidan con palabras generales como "gratis" u "oferta" sin evidencia adicional.
- Reversión: Guarda cualquier archivo existente antes de modificarlo. Utiliza un nombre de archivo nuevo y descriptivo para cada regla nueva y evita sobrescribir
.cfaccidentalmente un archivo existente.
Se trata de personalizaciones a nivel de servidor, no de filtros de buzón. Todos los usuarios cuyo correo pase por el escáner configurado podrían verse afectados.
¿Cómo se escribe una regla sencilla?
SpamAssassin admite tipos de reglas como header, body, uri, y meta. Una regla de encabezado es útil cuando un asunto o valor de encabezado distintivo es la señal. Una regla de cuerpo busca en el contenido del mensaje de texto; la documentación de SpamAssassin indica que las reglas de cuerpo ordinarias operan sobre texto decodificado y tratan el asunto como parte del cuerpo por defecto. Use una regla URI cuando la condición se refiera específicamente a enlaces.
Aquí tienes un ejemplo deliberadamente limitado que añade una pequeña puntuación cuando el asunto de un mensaje de prueba contiene una frase única. Sustituye la frase por una señal que hayas verificado en tus propios correos; este ejemplo no es una firma de spam general.
header LOCAL_SUBJECT_REVIEW Subject =~ /\bExample Vendor Alert\b/i
score LOCAL_SUBJECT_REVIEW 2.0
describe LOCAL_SUBJECT_REVIEW Subject contains the review phrase
El nombre simbólico debe ser único y utilizar letras, dígitos y guiones bajos. La headerlínea define la coincidencia, scorecontrola los puntos que se suman al detectarla y describeproporciona una explicación en el informe de SpamAssassin. Mantenga la descripción breve y explique claramente a otro administrador el motivo de la prueba.
La documentación de referencia de configuración de SpamAssassin detalla la sintaxis de las reglas de encabezado y cuerpo, el comportamiento de la puntuación y las expresiones regulares. La versión de Zimbra SpamAssassin instalada puede diferir de la documentación más reciente de Apache, por lo que se recomienda evitar el uso de nuevas funciones de reglas hasta confirmar su compatibilidad localmente.
¿Cómo se instala la regla en Zimbra 8.5 y versiones posteriores?
- Conéctese al MTA con una cuenta de administrador que pueda cambiar a la cuenta de servicio de Zimbra.
- Compruebe el directorio de instalación y el directorio de reglas locales. Por ejemplo:
su - zimbra
ls -ld /opt/zimbra/data/spamassassin/localrules
- Elija un nombre de archivo que no exista, como por ejemplo
local_subject_review.cf. Compruebe primero:
ls -l /opt/zimbra/data/spamassassin/localrules/local_subject_review.cf
si existe, inspecciónelo y seleccione otro nombre en lugar de sobrescribirlo.
- Crea el nuevo archivo como
zimbrausuario con tu editor y agrega las tres líneas de reglas anteriores:
vi /opt/zimbra/data/spamassassin/localrules/local_subject_review.cf
- Guarda el archivo y, a continuación, confirma el propietario y el contenido:
ls -l /opt/zimbra/data/spamassassin/localrules/local_subject_review.cf
cat /opt/zimbra/data/spamassassin/localrules/local_subject_review.cf
Si falta el directorio, deténgase y confirme la versión de Zimbra y su configuración documentada. No cree un directorio con un nombre similar en una ubicación desconocida; SpamAssassin no necesariamente lo cargará.
¿Cómo deberías validarlo y recargarlo?
Ejecute la comprobación de sintaxis de SpamAssassin antes de recargar. La documentación de la línea de comandos de Apache describe --lintesta comprobación como una comprobación de sintaxis de conjunto de reglas y configuración. Como usuario de Zimbra, ejecute el comando spamassassin --lintsi el ejecutable está disponible en el entorno de Zimbra. Si el comando no se encuentra o no carga la configuración de Zimbra, localice el ejecutable incluido y utilice la ruta de configuración correspondiente a la versión, en lugar de probarlo con una instalación de sistema no relacionada. Un resultado limpio de lint comprueba la sintaxis; no garantiza que el patrón coincida con los mensajes que pretende.
La documentación de comandos de SpamAssassin explica la opción lint. Una vez que la validación sea exitosa, reinicie Amavis como el zimbrausuario para que el escáner cargue las reglas modificadas:
zmamavisdctl restart
El ejemplo de reglas personalizadas de Zimbra utiliza este comando de servicio. En una instalación con varios MTA, repita la implementación del archivo y el reinicio del servicio en cada escáner correspondiente. Si su versión utiliza un comando de servicio diferente, consulte la documentación de Zimbra específica para esa versión.
¿Cómo se puede saber si la regla está funcionando?
Envía un mensaje de prueba controlado a través de la misma ruta de entrada que usan los usuarios. Usa la frase exacta del asunto de la regla para un mensaje y luego envía un mensaje similar sin ella. Inspecciona los encabezados originales del mensaje entregado, especialmente X-Spam-Statusel asunto LOCAL_SUBJECT_REVIEWy la contribución a la puntuación. Compara los dos mensajes y revisa dónde entregó Zimbra cada uno.
El resultado es útil si la regla aparece solo en la prueba prevista y la puntuación total produce el resultado esperado. Si falta el nombre de la prueba, verifique que el mensaje haya pasado por este MTA, que el nombre del archivo termine en .cf, que el archivo se encuentre en el directorio localrules correcto, que el escáner se haya reiniciado correctamente y que la muestra coincida con la expresión regular. Recuerde que los clientes de correo pueden ocultar los encabezados de diagnóstico en su vista normal; abra el código fuente del mensaje o los encabezados completos.
¿Qué ocurre si la regla genera falsos positivos o no coincide?
- Coinciden demasiados mensajes legítimos: reduce la puntuación o refina la expresión regular. Prueba con ejemplos de correos deseados y no deseados antes de aumentar la puntuación.
- No se encontraron coincidencias de mensajes: compruebe el nombre exacto del encabezado, la expresión regular que no distingue entre mayúsculas y minúsculas, el escape, la extensión del archivo, la ruta y el reinicio del servicio. Para las URL, evalúe una
uriregla en lugar de asumir que una regla del cuerpo es la mejor prueba.
- Lint informa de un error: corrija la línea indicada y vuelva a ejecutar lint antes de reiniciar. Una regla personalizada mal formada puede causar problemas de configuración o impedir que se carguen las pruebas esperadas.
- Aparece la regla, pero el correo permanece en la bandeja de entrada: esto puede ser normal si los puntos que añade no superan el umbral de spam configurado. Revisa la
X-Spam-Statuspuntuación total y los umbrales de gestión locales.
Para revertir los cambios, elimine únicamente el archivo personalizado que agregó y reinicie Amavis. Si modificó un archivo existente, restaure la copia guardada y valide la configuración antes de recargarla. Mantenga un registro de cambios breve con el propósito de la regla, la puntuación, los mensajes de prueba y el nombre del archivo de reversión para que los administradores futuros puedan revisarlo.
Límites de versión y comportamiento
La guía de rutas publicada por Zimbra cubre explícitamente ZCS 8.5 y versiones posteriores, y documenta un diseño diferente para versiones anteriores. La versión y los umbrales exactos de SpamAssassin incluidos dependen de la instalación. Una regla válida también puede comportarse de manera diferente con distintos formatos de mensaje, servidores de retransmisión y rutas de flujo de correo. Consulte la documentación de la versión instalada, realice pruebas en una ruta controlada y evalúe los resultados a partir de los encabezados de los mensajes y muestras reales de falsos positivos, en lugar de basarse únicamente en el texto de la regla.