spamassassin não honra local.cf

2

Atualizei meu arquivo /etc/spamassassin/local.cf spamassassin para atualizar algumas regras de pontuação. No entanto, mesmo depois de reiniciar o spamassassin (via serviço), a nova pontuação não é mostrada nos emails de spam. Na verdade, nada nesse arquivo parece influenciar o funcionamento do spamassassin.

Eu uso o exim como meu MTA, mas isso não deve importar. Todos os pacotes foram instalados via apt-get e estão na última versão para 14.04.

Por exemplo, eu tenho isso:

score HTML_MESSAGE 2.0

defina em /etc/spamassassin/local.cf . Eu reiniciei o exim e o spamassassin. spamassassing --lint mostra que não há erros no arquivo. Em seguida, recebi outro spam com isso:

0.0 HTML_MESSAGE           BODY: HTML included in message

No campo X-Spam-Report.

Eu corri spamassassin -D < spam e a ordem de carregamento dos arquivos cfg parece estar errada:

Jun  8 13:34:07.300 [21668] dbg: config: read file /etc/spamassassin/local.cf
...
Jun  8 13:34:07.600 [21668] dbg: config: read file /var/lib/spamassassin/3.004000/updates_spamassassin_org/50_scores.cf
...
Jun  8 13:34:07.787 [21668] dbg: config: read file /var/lib/spamassassin/3.004000/updates_spamassassin_org/73_sandbox_manual_scores.cf
Jun  8 13:34:07.788 [21668] dbg: config: fixed relative path: /var/lib/spamassas
sin/3.004000/updates_spamassassin_org/local.cf
...

O que está acontecendo?

Baseado em um comentário de Centimane : eu tentei strace -f -e trace=file spamassassin -D < spam com o mesmo resultado: Spamassassin está lendo o sistema arquivos após o arquivo local.cf. Assim, destruindo qualquer alteração de pontuação.

Nos comentários, aqui está o arquivo local.cf , que é mais ou menos o da baunilha.

# This is the right place to customize your installation of SpamAssassin.
#
# See 'perldoc Mail::SpamAssassin::Conf' for details of what can be
# tweaked.
#
# Only a small subset of options are listed below
#
###########################################################################

#   Add *****SPAM***** to the Subject header of spam e-mails
#
rewrite_header Subject *****SPAM*****
add_header spam Flag _YESNOCAPS_
add_header all Checker-Version SpamAssassin _VERSION_ (_SUBVERSION_) on _HOSTNAME_
add_header all Status _YESNO_, score=_SCORE_ required=_REQD_ tests=_TESTS_ autolearn=_AUTOLEARN_ bayes=_BAYES_
add_header all Report _SUMMARY_

#   Save spam messages as a message/rfc822 MIME attachment instead of
#   modifying the original message (0: off, 2: use text/plain instead)
#
# report_safe 1


#   Set which networks or hosts are considered 'trusted' by your mail
#   server (i.e. not spammers)
#
# trusted_networks 212.17.35.


#   Set file-locking method (flock is not safe over NFS, but is faster)
#
# lock_method flock


#   Set the threshold at which a message is considered spam (default: 5.0)
#
required_score 5.0

#   Use Bayesian classifier (default: 1)
#
use_bayes 1
bayes_path /var/lib/spamassassin/bayes/bayes
bayes_file_mode 0777


#   Bayesian classifier auto-learning (default: 1)
#
bayes_auto_learn 1


#   Set headers which may provide inappropriate cues to the Bayesian
#   classifier
#
bayes_ignore_header X-Bogosity
bayes_ignore_header X-Spam-Flag
bayes_ignore_header X-Spam-Status


#   Some shortcircuiting, if the plugin is enabled
# 
ifplugin Mail::SpamAssassin::Plugin::Shortcircuit
#
#   default: strongly-whitelisted mails are *really* whitelisted now, if the
#   shortcircuiting plugin is active, causing early exit to save CPU load.
#   Uncomment to turn this on
#
shortcircuit USER_IN_WHITELIST       on
shortcircuit USER_IN_DEF_WHITELIST   on
shortcircuit USER_IN_ALL_SPAM_TO     on
shortcircuit SUBJECT_IN_WHITELIST    on

#   the opposite; blacklisted mails can also save CPU
#
shortcircuit USER_IN_BLACKLIST       on
shortcircuit USER_IN_BLACKLIST_TO    on
shortcircuit SUBJECT_IN_BLACKLIST    on

#   if you have taken the time to correctly specify your "trusted_networks",
#   this is another good way to save CPU
#
# shortcircuit ALL_TRUSTED             on

#   and a well-trained bayes DB can save running rules, too
#
shortcircuit BAYES_99                spam
shortcircuit BAYES_00                ham

blacklist_from wokfrance.com
blacklist_from brother-mailer.com
blacklist_from *.sd-soft.net
blacklist_from woifrance.com
blacklist_from adimacocl.net
blacklist_from bletspuranawyat.net
blacklist_from sd-soft.net
blacklist_from m1web-track.com
blacklist_from winntoniecline.net
blacklist_from kafod.org
blacklist_from *.kafod.org
blacklist_from [email protected]
blacklist_from *.bhlive.co.uk
blacklist_from *.regionasm.net
blacklist_from regionasm.net

## Tweaks.
score AC_BR_BONANZA                 1.0
score ADMITS_SPAM                  10.0
score A_HREF_TO_REMOVE              2.0
score DEAR_FRIEND                   4.0
score FREEMAIL_FORGED_FROMDOMAIN    4.0
score FREEMAIL_FROM                 1.0
score FROM_LOCAL_HEX                9.0
score HTML_MESSAGE                  2.0
score RCVD_IN_MSPIKE_BL             2.0
score RCVD_IN_SORBS_WEB             2.0
score RCVD_IN_XBL                   3.0
score RDNS_NONE                     2.0
score SCVD_IN_DNSWL_BLOCKED         3.0
score T_DKIM_INVALID                1.0
score T_FREEMAIL_DOC_PDF            3.0
score T_REMOTE_IMAGE                3.0
score URIBL_BLOCKED                 3.0
score URIBL_DBL_SPAM                3.0
score URIBL_JP_SURBL                3.0
score URIBL_WS_SURBL                3.0

endif # Mail::SpamAssassin::Plugin::Shortcircuit

E toda a saída de spamassassin -D é muito grande para isso. No entanto, as linhas relevantes estão acima. Se você quiser mais informações, diga-me o que procurar e eu adicionarei.

    
por Sardathrion 22.05.2017 / 15:56

3 respostas

4

O problema é que você está definindo a pontuação HTML_MESSAGE dentro da Plugin Shortcircuit . Mas esse plugin vem desabilitado por padrão. Tente definir a pontuação na última linha do arquivo, após a instrução Shortcircuit endif :

#   Some shortcircuiting, if the plugin is enabled
# 
ifplugin Mail::SpamAssassin::Plugin::Shortcircuit
# [...]
endif # Mail::SpamAssassin::Plugin::Shortcircuit

score HTML_MESSAGE 2.0

Se você preferir ativar o plug-in Shortcuit , precisará remover o comentário do arquivo /etc/spamassassin/v320.pre :

# Shortcircuit - stop evaluation early if high-accuracy rules fire
# 
loadplugin Mail::SpamAssassin::Plugin::Shortcircuit
    
por 31.05.2017 / 09:47
1

O README para SpamAssassin fala sobre a maneira complicada como o SpamAssassin lê seus próprios arquivos de dados.

Comece a ler na linha 95: link

Por ter lido isso, parece que o SpamAssassin, pelo menos na fonte oficial original, não lê de

/etc/spamassassin/

de todo, mas sim de

/etc/mail/spamassassin/

Tente mover seu arquivo para lá! : D

    
por 26.05.2017 / 00:35
0

No meu padrão local.cf eu li:

# These values can be overridden by editing ~/.spamassassin/user_prefs.cf
# (see spamassassin(1) for details) 

Você tem um arquivo de configuração do spamassassin do usuário (~ / .spamassassin / user_prefs.cf)?

Dê uma olhada também neste perldoc:

perldoc Mail::SpamAssassin::Conf

Na seção PREFERÊNCIAS DO USUÁRIO , eu li:

USER PREFERENCES The following options can be used in both site-wide ("local.cf") and user-specific ("user_prefs") configuration files to customize how SpamAssassin handles incoming email messages.

    
por 29.05.2017 / 17:35