+ Responder ao Tópico



  1. #1

    Padrão Como melhorar o filtro do spamassassin?

    Ola,

    Tenho netqmail 1.05 + vpopmail 5.4 + qmailscanner 2.01 + spamassassin 3.2.3-1 + clamav 0.91.2 em um Fedora 7 kernel 2.6.23.1-21.

    Rodo diariamente no crontab o "/usr/bin/sa-update && /sbin/service spamassassin restart" para atualizar a base de dados dele.

    Contudo, dos emails que chegam nas caixas postais, pelo menos uns 30% a 40% ainda nao SPAMs, alguns inclusive que o Thunderbird local detecta e joga pra lixeira automaticamente, sobrando poucos que o Thunderbird poe na caixa de entrada.

    Sendo assim, gostaria de saber se tem como "aumentar a inteligência" do analisador de mensagens do spamassassin, para pegar mais SPAMs.

    Também gostaria de saber se tem como fazer "de forma semelhante ao proxy Squid", com palavras que, caso sejam encontradas no email, ja sejam jogadas em uma area de spams, para analise futura pelo administrador. Inclusive, com ele podendo liberar mensagens para entrega final caso sejam mensagens com "falso-positivo".

  2. #2

    Padrão

    Seguinte sempre vai ter Msg que ele não vai barrar, vai deixar passar, no entanto vc pode usar outras ferramentas para combater, exemplo greylist, entre outras.

  3. #3

    Padrão

    O problema é que eu acho que ele está liberando muita coisa... 30% a 40% eu acho muito.
    E ainda tem o "mala" de um colega meu perturbando dizendo que o M$ Exchange não deixa passar quase nada de SPAM, menos de 5%.

    Será que o SpamAssassin não é tão "assassino de spams" quanto o Exchange?

    E como funciona este esquema de greylist que você falou?

  4. #4

    Padrão

    Olá Edilmar.

    Faz pouco mais de um ano que uso o SA 3.0.4 + Amavisd-new com resultados positivos.
    O que vc precisa fazer é ir treinando o safado com mensagens spam e nao-spam com o comando sa-learn:

    sa-learn --showdots --spam dirdespam
    sa-learn --showdots --ham dirnaospam

    ou

    sa-learn --showdots --mbox --spam mailboxspam
    sa-learn --showdots --mbox --ham mailboxnaospam
    (em caso de usar mailbox e nao maildir)

    No início o treinamento é essencial e precisa ser feito intensivamente, e o grande vilão da história sao os falsos-positivos, o que torna a ferramenta desacreditada, mas no final, os resultados são formidáveis.


    Att,
    Cldn

  5. #5

    Padrão

    O mais correto seria você postar o seu local.cf para possiveis analises e melhorias, mas ja vou lhe adiantar que o spamassassin não trara o resultado que você espera a ferramenta e excelente mas não e a solução para os seus problemas você com certeza tera que usar outras ferramentas em conjunto para alcançar o resultado esperado.

    Eu no momento estou dando uma mão para um ex patrão meu com um servidor com postfix que tinha muitos problemas com spams uso indevido de emails disfarçados entre outros, resolvi usando macros do propio postfix, exigindo varios tipos de verificações, spamassassin e greylisting.

    Posta o seu local.cf para analise.

    Abração
    Última edição por gatoseco; 10-12-2007 às 00:54.

  6. #6

    Padrão

    Ola,

    /etc/mail/spamassassin/local.cf:

    Código :
    # These values can be overridden by editing ~/.spamassassin/user_prefs.cf
    # (see spamassassin(1) for details)
     
    # These should be safe assumptions and allow for simple visual sifting
    # without risking lost emails.
     
    required_hits 5
    report_safe 0
    rewrite_header Subject [SPAM]

  7. #7

    Padrão

    Tenta da forma que segue abaixo pra ver se melhora provavelmente se acaso aparecerem erros nos seus logs quando voce reiniciar o serviço e so descomentar algumas linhas dentro dos arquivos init.pre v310 e v312 que são linhas referentes as regras aplicadas.

    # 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*****

    # 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 4.0


    # Use Bayesian classifier (default: 1)
    #
    use_bayes 1

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

    # Enable or disable network checks
    skip_rbl_checks 0
    use_razor2 1
    use_dcc 1
    use_pyzor 1

    # Mail using languages used in these country codes will not be marked
    # as being possibly spam in a foreign language.
    ok_languages all

    # Mail using locales used in these country codes will not be marked
    # as being possibly spam in a foreign language.
    ok_locales all

    # 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

    Abração

  8. #8

    Padrão

    Bixo,

    o meu local.cf era bem suscinto, que nem o seu. Com o tempo fui modificando e ajustando cfe o meu ambiente, vja:

    # cat /etc/mail/spamassassin/local.cf
    # This is the right place to customize your installation of SpamAssassin.
    #
    # See 'perldoc Mail::SpamAssassin::Conf' for details of what can be
    # tweaked.
    #
    ###########################################################################
    #
    # rewrite_header Subject *****SPAM*****
    # report_safe 1
    # trusted_networks 212.17.35.
    # lock_method flock
    required_hits 6.2
    rewrite_header Subject [POSSIVEL SPAM]
    report_safe 0
    use_bayes 1
    use_bayes_rules 1
    bayes_auto_learn 1
    skip_rbl_checks 0
    use_razor2 1
    use_dcc 1
    dcc_path /usr/bin/dccproc
    dcc_home /var/dcc
    add_header all DCC _DCCB_: _DCCR_
    dcc_add_header 1
    dcc_dccifd_path /usr/sbin/dccifd
    use_pyzor 1
    pyzor_path /usr/bin/pyzor
    pyzor_add_header 1
    ok_languages all
    ok_locales all
    auto_whitelist_path /var/spool/spamassassin/auto-whitelist
    auto_whitelist_file_mode 0666
    #dcc_home /var/lib/dcc



    Tbm uso este script para atualizar as regras do SA, vja:

    # cat /etc/rc.d/init.d/rc.sa-rules.update
    #!/bin/bash
    #Script para atualizações de regras para o Spamassassin


    cd /etc/mail/spamassassin/ &> /dev/null && /usr/bin/wget http://www.rulesemporium.com/rules/7...ct_pre3.0.0.cf -O 71_sare_redirect_pre3.0.0.cf
    cd /etc/mail/spamassassin/ &> /dev/null && /usr/bin/wget http://www.rulesemporium.com/rules/7..._poison_nxm.cf -O 70_sare_bayes_poison_nxm.cf
    cd /etc/mail/spamassassin/ &> /dev/null && /usr/bin/wget http://www.rulesemporium.com/rules/70_sare_html.cf -O 70_sare_html.cf
    cd /etc/mail/spamassassin/ &> /dev/null && /usr/bin/wget http://www.rulesemporium.com/rules/70_sare_html4.cf -O 70_sare_html4.cf
    cd /etc/mail/spamassassin/ &> /dev/null && /usr/bin/wget http://www.rulesemporium.com/rules/70_sare_html_arc.cf -O 70_sare_html_arc.cf
    cd /etc/mail/spamassassin/ &> /dev/null && /usr/bin/wget http://www.rulesemporium.com/rules/70_sare_html_eng.cf -O 70_sare_html_eng.cf
    cd /etc/mail/spamassassin/ &> /dev/null && /usr/bin/wget http://www.rulesemporium.com/rules/70_sare_html_x31.cf -O 70_sare_html_x31.cf
    cd /etc/mail/spamassassin/ &> /dev/null && /usr/bin/wget http://www.rulesemporium.com/rules/7...t_post3.0.0.cf -O 72_sare_redirect_post3.0.0.cf
    cd /etc/mail/spamassassin/ &> /dev/null && /usr/bin/wget http://www.rulesemporium.com/rules/70_sare_html_x30.cf -O 70_sare_html_x30.cf
    cd /etc/mail/spamassassin/ &> /dev/null && /usr/bin/wget http://www.rulesemporium.com/rules/70_sc_top200.cf -O 70_sc_top200.cf
    cd /etc/mail/spamassassin/ &> /dev/null && /usr/bin/wget http://www.rulesemporium.com/rules/70_sare_evilnum0.cf -O 70_sare_evilnum0.cf
    cd /etc/mail/spamassassin/ &> /dev/null && /usr/bin/wget http://www.rulesemporium.com/rules/70_sare_evilnum1.cf -O 70_sare_evilnum1.cf
    cd /etc/mail/spamassassin/ &> /dev/null && /usr/bin/wget http://www.rulesemporium.com/rules/70_sare_evilnum2.cf -O 70_sare_evilnum2.cf
    cd /etc/mail/spamassassin/ &> /dev/null && /usr/bin/wget http://www.rulesemporium.com/rules/70_sare_header0.cf -O 70_sare_header0.cf
    cd /etc/mail/spamassassin/ &> /dev/null && /usr/bin/wget http://www.rulesemporium.com/rules/7..._header_eng.cf -O 70_sare_header_eng.cf
    cd /etc/mail/spamassassin/ &> /dev/null && /usr/bin/wget http://www.rulesemporium.com/rules/7...er_x264_x30.cf -O 70_sare_header_x264_x30.cf
    cd /etc/mail/spamassassin/ &> /dev/null && /usr/bin/wget http://www.rulesemporium.com/rules/7..._header_x31.cf -O 70_sare_header_x31.cf
    cd /etc/mail/spamassassin/ &> /dev/null && /usr/bin/wget http://www.rulesemporium.com/rules/7..._header_arc.cf -O 70_sare_header_arc.cf
    cd /etc/mail/spamassassin/ &> /dev/null && /usr/bin/wget http://www.rulesemporium.com/rules/70_sare_highrisk.cf -O 70_sare_highrisk.cf
    cd /etc/mail/spamassassin/ &> /dev/null && /usr/bin/wget http://www.rulesemporium.com/rules/70_sare_obfu.cf -O 70_sare_obfu.cf
    cd /etc/mail/spamassassin/ &> /dev/null && /usr/bin/wget http://www.rulesemporium.com/rules/70_sare_stocks.cf -O 70_sare_stocks.cf
    cd /etc/mail/spamassassin/ &> /dev/null && /usr/bin/wget http://www.rulesemporium.com/rules/70_sare_header3.cf -O 70_sare_header3.cf
    cd /etc/mail/spamassassin/ &> /dev/null && /usr/bin/wget http://www.rulesemporium.com/rules/7..._header_x30.cf -O 70_sare_header_x30.cf
    cd /etc/mail/spamassassin/ &> /dev/null && /usr/bin/wget http://www.rulesemporium.com/rules/70_sare_specific.cf -O 70_sare_specific.cf
    cd /etc/mail/spamassassin/ &> /dev/null && /usr/bin/wget http://www.rulesemporium.com/rules/70_sare_adult.cf -O 70_sare_adult.cf
    cd /etc/mail/spamassassin/ &> /dev/null && /usr/bin/wget http://www.rulesemporium.com/rules/7...bml_post25x.cf -O 72_sare_bml_post25x.cf
    cd /etc/mail/spamassassin/ &> /dev/null && /usr/bin/wget http://www.rulesemporium.com/rules/7..._bml_pre25x.cf -O 71_sare_bml_pre25x.cf
    cd /etc/mail/spamassassin/ &> /dev/null && /usr/bin/wget http://www.rulesemporium.com/rules/9...aud_post25x.cf -O 99_sare_fraud_post25x.cf
    cd /etc/mail/spamassassin/ &> /dev/null && /usr/bin/wget http://www.rulesemporium.com/rules/9...raud_pre25x.cf -O 99_sare_fraud_pre25x.cf
    cd /etc/mail/spamassassin/ &> /dev/null && /usr/bin/wget http://www.rulesemporium.com/rules/70_sare_spoof.cf -O 70_sare_spoof.cf
    cd /etc/mail/spamassassin/ &> /dev/null && /usr/bin/wget http://www.rulesemporium.com/rules/70_sare_random.cf -O 70_sare_random.cf
    cd /etc/mail/spamassassin/ &> /dev/null && /usr/bin/wget http://www.rulesemporium.com/rules/70_sare_oem.cf -O 70_sare_oem.cf
    cd /etc/mail/spamassassin/ &> /dev/null && /usr/bin/wget http://www.rulesemporium.com/rules/70_sare_genlsubj0.cf -O 70_sare_genlsubj0.cf
    cd /etc/mail/spamassassin/ &> /dev/null && /usr/bin/wget http://www.rulesemporium.com/rules/70_sare_genlsubj3.cf -O 70_sare_genlsubj3.cf
    cd /etc/mail/spamassassin/ &> /dev/null && /usr/bin/wget http://www.rulesemporium.com/rules/7...enlsubj_x30.cf -O 70_sare_genlsubj_x30.cf
    cd /etc/mail/spamassassin/ &> /dev/null && /usr/bin/wget http://www.rulesemporium.com/rules/70_sare_genlsubj4.cf -O 70_sare_genlsubj4.cf
    cd /etc/mail/spamassassin/ &> /dev/null && /usr/bin/wget http://www.rulesemporium.com/rules/7...enlsubj_eng.cf -O 70_sare_genlsubj_eng.cf
    cd /etc/mail/spamassassin/ &> /dev/null && /usr/bin/wget http://www.rulesemporium.com/rules/70_sare_unsub.cf -O 70_sare_unsub.cf
    cd /etc/mail/spamassassin/ &> /dev/null && /usr/bin/wget http://www.rulesemporium.com/rules/70_sare_uri.cf -O 70_sare_uri.cf
    cd /etc/mail/spamassassin/ &> /dev/null && /usr/bin/wget http://mywebpages.comcast.net/mkettler/sa/antidrug.cf -O antidrug.cf
    cd /etc/mail/spamassassin/ &> /dev/null && /usr/bin/wget http://www.yackley.org/sa-rules/evilnumbers.cf -O evilnumbers.cf
    cd /etc/mail/spamassassin/ &> /dev/null && /usr/bin/wget http://www.stearns.org/sa-blacklist/random.current.cf -O random.current.cf
    cd /etc/mail/spamassassin/ &> /dev/null && /usr/bin/wget http://www.rulesemporium.com/rules/88_FVGT_body.cf -O 88_FVGT_body.cf
    cd /etc/mail/spamassassin/ &> /dev/null && /usr/bin/wget http://www.rulesemporium.com/rules/88_FVGT_rawbody.cf -O 88_FVGT_rawbody.cf
    cd /etc/mail/spamassassin/ &> /dev/null && /usr/bin/wget http://www.rulesemporium.com/rules/88_FVGT_subject.cf -O 88_FVGT_subject.cf
    cd /etc/mail/spamassassin/ &> /dev/null && /usr/bin/wget http://www.rulesemporium.com/rules/88_FVGT_headers.cf -O 88_FVGT_headers.cf
    cd /etc/mail/spamassassin/ &> /dev/null && /usr/bin/wget http://www.rulesemporium.com/rules/88_FVGT_uri.cf -O 88_FVGT_uri.cf
    cd /etc/mail/spamassassin/ &> /dev/null && /usr/bin/wget http://www.rulesemporium.com/rules/9...omainDigits.cf -O 99_FVGT_DomainDigits.cf
    cd /etc/mail/spamassassin/ &> /dev/null && /usr/bin/wget http://www.rulesemporium.com/rules/99_FVGT_Tripwire.cf -O 99_FVGT_Tripwire.cf
    cd /etc/mail/spamassassin/ &> /dev/null && /usr/bin/wget http://www.rulesemporium.com/rules/99_FVGT_meta.cf -O 99_FVGT_meta.cf
    cd /etc/mail/spamassassin/ &> /dev/null && /usr/bin/wget http://www.rulesemporium.com/rules/70_sare_whitelist.cf -O 70_sare_whitelist.cf
    cd /etc/mail/spamassassin/ &> /dev/null && /usr/bin/wget http://www.rulesemporium.com/rules/7...itelist_spf.cf -O 70_sare_whitelist_spf.cf
    cd /etc/mail/spamassassin/ &> /dev/null && /usr/bin/wget http://www.rulesemporium.com/rules/7...elist_pre30.cf -O 70_sare_whitelist_pre30.cf
    cd /etc/mail/spamassassin/ &> /dev/null && /usr/bin/wget http://www.nospamtoday.com/download/mime_validate.cf -O mime_validate.cf
    cd /etc/mail/spamassassin/ &> /dev/null && /usr/bin/wget http://www.rulesemporium.com/plugins/imageinfo.cf -O imageinfo.cf
    exit 0


    Att,
    Cldn

  9. #9

    Padrão

    Eu rodei seu script aqui e ele baixou varios arquivos .cf. Pelo que observei sao arquivos de regras para ajudar o SpamAssassin.

    Duvidas:

    1) Como voce descobriu estas regras? No site do SpamAssassin nao tem nada especifico falando sobre isso. Alias, de vez em quando aparece algum arquivo .cf perdido no meio de uma documentacao, mas sem uma explicacao bem definida. Entao, gostaria de saber como posso ficar "atualizado" com estes arquivos de regras.

    Alguns arquivos deram erro no maillog:
    Código :
    Dec 17 15:51:51 serv spamd[14058]: rules: meta test SARE_SPEC_PROLEO_M2a has dependency 'MIME_QP_LONG_LINE' with a zero score
    Dec 17 15:51:51 serv spamd[14058]: rules: meta test SARE_HEAD_SUBJ_RAND has undefined dependency 'SARE_XMAIL_SUSP2'
    Dec 17 15:51:51 serv spamd[14058]: rules: meta test SARE_HEAD_SUBJ_RAND has dependency 'X_AUTH_WARN_FAKED' with a zero score
    Dec 17 15:51:51 serv spamd[14058]: rules: meta test SARE_HEAD_8BIT_NOSPM has undefined dependency '__SARE_HEAD_8BIT_DATE'
    Dec 17 15:51:51 serv spamd[14058]: rules: meta test SARE_HEAD_8BIT_NOSPM has undefined dependency '__SARE_HEAD_8BIT_RECV'
    Dec 17 15:51:51 serv spamd[14058]: rules: meta test SARE_MULT_RATW_03 has undefined dependency '__SARE_MULT_RATW_03E'
    Dec 17 15:51:51 serv spamd[14058]: rules: meta test SARE_HEAD_XORIP_NOTIP has undefined dependency 'X_ORIG_IPNOT_IPV4'
    Dec 17 15:51:51 serv spamd[14058]: rules: meta test SARE_RD_SAFE has undefined dependency 'SARE_RD_SAFE_MKSHRT'
    Dec 17 15:51:51 serv spamd[14058]: rules: meta test SARE_RD_SAFE has undefined dependency 'SARE_RD_SAFE_GT'
    Dec 17 15:51:51 serv spamd[14058]: rules: meta test SARE_RD_SAFE has undefined dependency 'SARE_RD_SAFE_TINY'
    Dec 17 15:51:51 serv spamd[14058]: rules: meta test SARE_SUB_FREE has undefined dependency 'SUB_FREE_CAP'
    Dec 17 15:51:51 serv spamd[14058]: rules: meta test SARE_SUB_FREE has undefined dependency 'SUB_FREE_INSTANT'
    Dec 17 15:51:51 serv spamd[14058]: rules: meta test SARE_SUB_FREE has dependency 'SUB_FREE_OFFER' with a zero score
    Dec 17 15:51:51 serv spamd[14058]: rules: meta test SARE_MSGID_LONG45 has undefined dependency '__SARE_MSGID_LONG50'
    Dec 17 15:51:51 serv spamd[14058]: rules: meta test SARE_MSGID_LONG45 has undefined dependency '__SARE_MSGID_LONG55'
    Dec 17 15:51:51 serv spamd[14058]: rules: meta test SARE_MSGID_LONG45 has undefined dependency '__SARE_MSGID_LONG65'
    Dec 17 15:51:51 serv spamd[14058]: rules: meta test SARE_MSGID_LONG45 has undefined dependency '__SARE_MSGID_LONG75'


    2) Eu criei um email chamado spam@dominio e outro ham@dominio. Para depois rodar o sa-learn nos 2 maildirs, na pasta new. O que estou fazendo é pedir para todo mundo encaminhar os spams que estao passando pelo SpamAssassin para o email spam@dominio. Contudo, nos manuais é dito para tambem processar o ham@dominio constantemente. Eu tenho que falar para meus usuarios encaminharem todas as mensagens "boas" que receberem para este email tambem? Por que o pessoal provavelmente nao vai gostar muito da ideia.

    3) Olhei meu arquivo v310.pre e ja esta ativado o uso dos modulos Pyzor e Razor2, como modulos Perl, e nao da maneira citada acima onde foi dito para colocar no local.cf. Quando coloquei no local.cf o maillog avisou que nao era para colocar la, e sim que havia mudado para um modulo Perl. O modulo DCC esta comentado por questoes de licenciamento opensource. Creio que os modulos Pyzor e Razor2 ja estao funcionando. Como eu descubro isso?

    Meu arquivo v310.pre:
    Código :
    loadplugin Mail::SpamAssassin::Plugin::Pyzor
    loadplugin Mail::SpamAssassin::Plugin::Razor2
    loadplugin Mail::SpamAssassin::Plugin::SpamCop
    loadplugin Mail::SpamAssassin::Plugin::AWL
    loadplugin Mail::SpamAssassin::Plugin::AutoLearnThreshold
    loadplugin Mail::SpamAssassin::Plugin::WhiteListSubject
    loadplugin Mail::SpamAssassin::Plugin::MIMEHeader
    loadplugin Mail::SpamAssassin::Plugin::ReplaceTags