amavis + SA não marca mensagens como spam

3

Estou executando o Postfix + amavis + SpamAssassin. As mensagens estão chegando bem, e eles estão recebendo X-Spam-Score como seria de esperar, juntamente com X-Spam-Status valores, o que implica que o SA está fazendo algo com eles. Infelizmente, o amavis não parece querer marcá-los como spam, já que todas as mensagens estão chegando com X-Spam-Flag: NO .

Uma mensagem de exemplo que estou vendo agora tem os seguintes cabeçalhos:

X-Virus-Scanned: Debian amavisd-new at magni
X-Spam-Flag: NO
X-Spam-Score: 11.733
X-Spam-Level: ***********
X-Spam-Status: No, score=11.733 tests=[BAYES_99=3.5, HTML_MESSAGE=0.001,
        MIME_HTML_ONLY=1.457, RCVD_IN_BL_SPAMCOP_NET=1.96, RCVD_IN_PBL=0.905,
        RCVD_IN_SORBS_DUL=0.877, RCVD_IN_XBL=3.033] autolearn=no

Aqui está meu arquivo amavisd.conf:

$mydomain = "";
$MYHOME = '/var/amavisd';
$TEMPBASE = "$MYHOME/tmp";

$inet_socket_port = 10024;
$forward_method = 'smtp:127.0.0.1:10025';
$notify_method = $forward_method;

# @local_domains_acl = qw( "." ); # you may want to use qw() to check all in and out
$sa_tag_level_deflt = -999; # add spam info headers if at, or above that level
$sa_tag2_level_deflt = 5.0; # add 'spam detected' headers at that level
$sa_kill_level_deflt = 999; # triggers spam evasive actions
$sa_debug = 1;

$final_virus_destiny = D_DISCARD; # (defaults to D_BOUNCE)
$final_banned_destiny = D_REJECT; # (defaults to D_BOUNCE)
$final_spam_destiny = D_PASS; # (defaults to D_REJECT but we're tagging and passing)

$spam_admin = "postmaster\@$mydomain";
$spam_lovers{lc("postmaster\@$mydomain")} = 1;
$virus_admin = "postmaster\@$mydomain";

$QUARANTINEDIR = undef;
$virus_quarantine_to = undef;
#$spam_quarantine_to = 'spam-quarantine';

$remove_existing_spam_headers = 0;
$sa_local_tests_only = 0; # (default: false)
$SYSLOG_LEVEL = 'mail.err';
$DO_SYSLOG = 1;
$log_level = 2;

$enable_dkim_verification = 0;

# @bypass_spam_checks_maps = (1);

@lookup_sql_dsn = ( 'DBI:mysql:database=postfix;host=127.0.0.1;port=3306', '', '' );
$sql_select_policy = 'SELECT "Y" as local FROM aliases WHERE source IN (%k) UNION SELECT "Y" as local FROM users WHERE address IN (%k)';

1;

Alguma idéia?

UPDATE: uma mensagem que eu tenho guardado:

X-Spam-Flag: NO
X-Spam-Score: 14.085
X-Spam-Level: **************
X-Spam-Status: No, score=14.085 tests=[BAYES_99=3.5, NO_DNS_FOR_FROM=1.496,
        RAZOR2_CF_RANGE_51_100=0.5, RAZOR2_CF_RANGE_E8_51_100=1.5,
        RAZOR2_CHECK=0.5, RCVD_IN_XBL=3.033, RDNS_NONE=0.1,
        URIBL_BLACK=1.955,
        URIBL_JP_SURBL=1.501] autolearn=no

tem esta entrada nos registros de e-mail:

mail.log.1:Sep  5 21:43:39 magni amavis[25486]: (25486-10) Passed CLEAN, [78.189.26.137] [88.206.193.68] <[email protected]> -> <gms8994>, Message-ID: <[email protected]>, mail_id: 4Moi5p2dOV-I, Hits: 14.085, size: 891, queued_as: AFF8C2C367, 1156 ms

Como sugerido por Dave Drager , eu vou tentar parar o spamd e ver o que acontece.

UPDATE2: Parei o spamassassin, deixando o amavis rodando, só recebi esta mensagem:

X-Spam-Flag: NO
X-Spam-Score: 17.712
X-Spam-Level: *****************
X-Spam-Status: No, score=17.712 tests=[BAYES_99=3.5, FH_FROMEML_NOTLD=2.696,
        RAZOR2_CF_RANGE_51_100=0.5, RAZOR2_CF_RANGE_E8_51_100=1.5,
        RAZOR2_CHECK=0.5, RCVD_ILLEGAL_IP=1.908, RCVD_IN_SORBS_WEB=0.619,
        RCVD_IN_XBL=3.033, URIBL_BLACK=1.955, URIBL_JP_SURBL=1.501]
        autolearn=failed

com isso nos registros:

mail.log:Sep  9 08:49:11 magni amavis[13604]: (13604-10) Passed CLEAN, [77.70.121.78] [77.70.121.78] <trfq@pc-2bb82028ef37> -> <[email protected]>, Message-ID: <[email protected]>, mail_id: Lg-rCSg9x0rr, Hits: 17.712, size: 844, queued_as: 8269D2BF6B, 2312 ms

per @cite, eu olhei para /etc/amavis/conf.d/50-user (na verdade estou executando o debian). Estava vazio. Mudei a configuração de /etc/amavis/amavisd.conf para 50 usuários e reiniciei, e agora as mensagens estão sendo marcadas com X-Spam-Flag: YES . Pontos para citar.

    
por Glen Solsberry 08.09.2009 / 17:28

2 respostas

6

Você precisa fornecer uma saída de log mais detalhada para resolver isso: Pare o amavisd e reinicie-o no modo de depuração ( amavisd debug , no Debian / Ubuntu é provavelmente amavisd-new debug , mas como você mencionou você configurou o amavisd com amavisd.conf e não /etc/amavis/conf.d/50-user , eu acho que você não está no Debian / Ubuntu). Embora você faça isso, provavelmente desejará desabilitar os ouvintes da porta SMTP do Postfix 25 nas interfaces externas dos servidores de correio (você sempre poderá enviar mensagens localmente) ou provavelmente obterá um log muito alto, portanto, localize as em /etc/postfix/master.cf e descomente as entradas apropriadas (não esqueça postfix reload depois).

Além disso, para evitar sobrecarregar sua tela, remova a configuração $sa_debug do seu amavisd.conf temporariamente, mas reative-a se não conseguir descobrir a causa do seu problema (e tente verificar porque o autolearning falha).

Mais dois comentários sobre sua configuração, que não estão realmente relacionados ao seu problema:

  1. Defina $sa_kill_level_deflt como $sa_tag2_level_deflt - sua final o destino do spam é D_PASS de qualquer maneira.
  2. Defina $sa_tag_level_deflt para undef .

Um comentário dirigido a Dave: O amavisd-new não usa spamd por padrão, então reiniciar o spam é bastante inútil. Além disso, não há como modificar a maneira como o amavisd-new trata uma mensagem de uma determinada categoria de conteúdo (aqui: CC_SPAM) na configuração do Spamassassin.

    
por 12.09.2009 / 15:35
0

Verifique os registros do Amavis. Descobri que os valores que o Amavis envia para o Spamassassin podem não funcionar se o Spamassassin já estiver em execução (usando um arquivo de configuração diferente, com um conjunto diferente de variáveis). Acho que você encontrará Spamassassin correndo, e o Amavis está usando isso em vez de gerar seu próprio processo para isso. Tente também matar Spamassassin e ver se o Amavis começa a usar as variáveis mencionadas acima (já que ele irá gerar seu próprio processo).

    
por 08.09.2009 / 21:25