Una alternativa a SpamAssassin que habla spamd

Spam Scanner responde al protocolo spamdEl demonio de SpamAssassin. Su protocolo lo hablan spamc, Exim, Haraka y otros clientes de SpamAssassin. de SpamAssassin, así que el software escrito para SpamAssassin lo usa sin cambios: spamc, la condición spam de Exim, el complemento spamassassin de Haraka y otros.

Sustituirlo#

Shell
sudo systemctl disable --now spamd       # or spamassassin
npm install --global spamscanner
spamscanner spamd --port 783 --auth
Shell
spamc -c < message.eml     # prints the score, exits 1 for spam
spamc -R < message.eml     # the report, one line per test
spamc < message.eml        # the message with X-Spam-* headers

Responde a CHECK, SYMBOLS, REPORT, REPORT_IFSPAM, PROCESS, HEADERS, PING y, con --allow-tell, a TELL para aprender. Las pruebas de extremo a extremo del proyecto ejecutan contra él el propio spamc de SpamAssassin.

Lo que sigue igual#

  • Los encabezados: X-Spam-Flag, X-Spam-Score, X-Spam-Level y X-Spam-Status en el formato de SpamAssassin, así que las reglas existentes de Sieve, procmail y los clientes de correo siguen funcionando.
  • Una puntuación con un umbral de 5, formada por pruebas con nombre y puntos: BAYES_99, RBL_ZEN, SPF_FAIL, DKIM_PASS, etcétera.
  • Las puntuaciones de cada prueba se pueden cambiar por el nombre de la prueba.

Lo que es distinto#

  • Idiomas. Las palabras se segmentan con las reglas de Unicode, así que el chino, el japonés y el tailandés se leen como palabras en lugar de como una cadena larga, y los disfraces como los caracteres invisibles o las letras cirílicas en palabras latinas se deshacen primero.
  • Phishing. Los dominios parecidos, los enlaces engañosos y los nombres de marca en los nombres visibles se comprueban sin reglas adicionales.
  • Los adjuntos se identifican por sus bytes: un ejecutable renombrado a .pdf sigue siendo un ejecutable.
  • Modelos de lenguaje. Los casos dudosos pueden pasar a un modelo local a través de OllamaUn programa que descarga y ejecuta modelos de lenguaje abiertos en tu propia máquina, con una API HTTP. o a uno alojado.
  • Node.js. Un solo npm install, o un binario independiente; sin módulos de Perl ni actualizaciones de reglas que gestionar.

Spam Scanner no ejecuta los archivos de reglas de SpamAssassin, y el formato de su base de datos bayesiana es propio: entrénalo con el mismo correo con spamscanner train.

Exim#

Text
spamd_address = 127.0.0.1 783

# in the DATA ACL
warn  spam       = nobody:true
      add_header = X-Spam-Score: $spam_score
defer spam       = nobody:true
      condition  = ${if >={$spam_score_int}{150}}
      message    = Message rejected as spam

Exim, Haraka, Dovecot y procmail

Editar esta página en GitHub · Markdown ·