Hi All!
I've read a number of articles about a FreeBSD + Postfix + Dovecot + Amavisd + 
Clamav + SpamAssassin + MySQL system. And with these materials I set up a mail 
server.
====================================================
 OS: FreeBSD dom.local 8.4-STABLE FreeBSD 8.4-STABLE #0: Sun Jul  7 09:55:27 
MSK 2013     me...@bsd-fsu.fsu.local:/usr/obj/usr/src/sys/BSDSERV  amd64
 SA: p5-Mail-SpamAssassin-3.3.2_8
 AMAVISD: amavisd-new-2.8.0_2,1
 postfix: postfix-2.10.0,1
 dovecot: dovecot-1.2.17

And I have two mailboxes (which I fill manually with IMAP). I just copy spam 
and ham mails from users mailboxes to relevant (spam@ or clean@) mailbox: 
s...@dom.ru (about 600 mails)
cl...@dom.ru (about 1000 mails).

And every week I teach SpamAssassin with those mailboxes with script:
====================================================
#!/bin/sh
DIR=/var/spool/mail/prem-ekb.ru
sa-learn --clear
sa-learn --spam ${DIR}/s...@prem-ekb.ru/cur/*S{a,}
sa-learn --ham ${DIR}/n.pole...@prem-ekb.ru/cur/*S{a,}
sa-learn --ham ${DIR}/g.borovinsk...@prem-ekb.ru/cur/*S{a,}
sa-learn --ham ${DIR}/sum...@prem-ekb.ru/cur/*S{a,}
sa-learn --ham ${DIR}/a.roma...@prem-ekb.ru/cur/*S{a,}
sa-update

But as I see SpamAssassin does not check mail with rules from learned mails. I 
think that because:
 All new similar messages which I move into the spam@ box and teach SA with it, 
are not being marked as spam. They just come again and again to users. Where I 
have a mistake on my antispam so;ution?
 In spamalert-mails (to that address amavisd sends reports) I have not found 
any BAYES_xx header, only standard statistical, online and RBL checks like 
these (I see many alerts and have not see any BAYES_ header):
===================================================
3.5 HELO_DYNAMIC_SPLIT_IP  Relay HELO'd using suspicious hostname (Split IP)
0.0 TVD_RCVD_IP            TVD_RCVD_IP
3.3 RCVD_IN_PBL            RBL: Received via a relay in Spamhaus PBL
                             [85.136.177.149 listed in zen.spamhaus.org]
0.4 RCVD_IN_XBL            RBL: Received via a relay in Spamhaus XBL
1.3 RCVD_IN_RP_RNBL        RBL: Relay in RNBL,
                             https://senderscore.org/blacklistlookup/
                            [85.136.177.149 listed in bl.score.senderscore.com]
1.4 RCVD_IN_BRBL_LASTEXT   RBL: RCVD_IN_BRBL_LASTEXT
                             [85.136.177.149 listed in bb.barracudacentral.org]
1.3 RCVD_IN_BL_SPAMCOP_NET RBL: Received via a relay in bl.spamcop.net
               [Blocked - see
 <http://www.spamcop.net/bl.shtml?85.136.177.149>]
1.4 PYZOR_CHECK            Listed in Pyzor (http://pyzor.sf.net/)
0.0 RCVD_IN_SORBS_DUL      RBL: SORBS: sent directly from dynamic IP address
                             [85.136.177.149 listed in dnsbl.sorbs.net]
0.8 RCVD_IN_SORBS_WEB      RBL: SORBS: sender is an abusable web server
1.0 RDNS_DYNAMIC           Delivered to internal network by host with
                             dynamic-looking rDNS

So, here are my config files:
cat /usr/local/etc/postfix/master.cf | grep -v "^#"
===================================================
smtp      inet  n       -       n       -       -       smtpd
smtps     inet  n       -       n       -       -       smtpd
  -o smtpd_tls_wrappermode=yes
  -o smtpd_sasl_auth_enable=yes
  -o smtpd_client_restrictions=permit_sasl_authenticated,reject
  -o content_filter=smtp-amavis:[127.0.0.1]:10026
pickup    fifo  n       -       n       60      1       pickup
cleanup   unix  n       -       n       -       0       cleanup
qmgr      fifo  n       -       n       300     1       qmgr
tlsmgr    unix  -       -       n       1000?   1       tlsmgr
rewrite   unix  -       -       n       -       -       trivial-rewrite
bounce    unix  -       -       n       -       0       bounce
defer     unix  -       -       n       -       0       bounce
trace     unix  -       -       n       -       0       bounce
verify    unix  -       -       n       -       1       verify
flush     unix  n       -       n       1000?   0       flush
proxymap  unix  -       -       n       -       -       proxymap
proxywrite unix -       -       n       -       1       proxymap
smtp      unix  -       -       n       -       -       smtp
relay     unix  -       -       n       -       -       smtp
        -o smtp_fallback_relay=
showq     unix  n       -       n       -       -       showq
error     unix  -       -       n       -       -       error
retry     unix  -       -       n       -       -       error
discard   unix  -       -       n       -       -       discard
local     unix  -       n       n       -       -       local
virtual   unix  -       n       n       -       -       virtual
lmtp      unix  -       -       n       -       -       lmtp
anvil     unix  -       -       n       -       1       anvil
scache    unix  -       -       n       -       1       scache

dovecot   unix  -       n       n       -       -       pipe
  flags=DRhu user=virtual:virtual argv=/usr/local/libexec/dovecot/deliver -d 
${recipient}

smtp-amavis unix - - n - 2 smtp
        -o smtp_data_done_timeout=1200
        -o smtp_send_xforward_command=yes
        -o disable_dns_lookups=yes
        -o max_use=20

127.0.0.1:10025 inet n - n - - smtpd
        -o content_filter=
        -o local_recipient_maps=
        -o relay_recipient_maps=
        -o smtpd_restriction_classes=
        -o smtpd_delay_reject=no
        -o smtpd_client_restrictions=permit_mynetworks,reject
        -o smtpd_helo_restrictions=
        -o smtpd_sender_restrictions=
        -o smtpd_recipient_restrictions=permit_mynetworks,reject
        -o mynetworks_style=host
        -o mynetworks=127.0.0.0/8
        -o strict_rfc821_envelopes=yes
        -o smtpd_error_sleep_time=0
        -o smtpd_soft_error_limit=1001
        -o smtpd_hard_error_limit=1000
        -o smtpd_client_connection_count_limit=0
        -o smtpd_client_connection_rate_limit=0
        -o 
receive_override_options=no_header_body_checks,no_unknown_recipient_checks

grep -v "^#" /usr/local/etc/amavisd.conf
==============================================================
use strict;
$MYHOME = '/var/amavis';
$mydomain = 'dom.ru';
$daemon_user = 'vscan';
$daemon_group = 'vscan';
$TEMPBASE = "$MYHOME/tmp";
$db_home = "$MYHOME/db";
$helpers_home = $MYHOME;
$pid_file = "$MYHOME/amavisd.pid";
$lock_file = "$MYHOME/amavisd.lock";
$ENV{TMPDIR} = $TEMPBASE;
$enable_db = 1;
$enable_global_cache = 1;
$forward_method = 'smtp:[127.0.0.1]:10025';
$notify_method = $forward_method;
$max_servers = 2;
$max_requests = 10;
$child_timeout= 20*60;
@local_domains_acl = (".");
$insert_received_line = 1;
$unix_socketname = "$MYHOME/amavisd.sock";
$inet_socket_port = [10024,10026];
@inet_acl = qw(127.0.0.1);
$DO_SYSLOG = 0;
$LOGFILE        = "/var/log/amavis.log";
$log_level = 0;
$log_recip_templ = undef;
$hdr_encoding = 'koi8-r';
$bdy_encoding = 'koi8-r';
$final_virus_destiny = D_DISCARD;
$final_banned_destiny = D_DISCARD;
$final_spam_destiny = D_DISCARD;
$final_bad_header_destiny = D_PASS;
$warnvirussender = 0;
$warnspamsender = 0;
$warnbannedsender = 0;
$warnbadhsender = 0;
$warnvirusrecip = 0;
$warnbannedrecip = 0;
$warnbadhrecip = 0;
$warn_offsite = 0;
$virus_admin = "virusalert\@$mydomain";
$spam_admin = "spamalert\@$mydomain";
$mailfrom_notify_admin = "virusalert\@$mydomain";
$mailfrom_notify_recip = "virusalert\@$mydomain";
$mailfrom_notify_spamadmin = "spamalert\@$mydomain";
$mailfrom_to_quarantine = 'virus or spam';
$QUARANTINEDIR = '/var/virusmails';
$virus_quarantine_method = 'local:virus-%i-%n';
$spam_quarantine_method = 'local:spam-%i-%n';
$virus_quarantine_to = 'virus-quarantine';
$spam_quarantine_to = 'spam-quarantine';
$X_HEADER_TAG = 'X-Virus-Scanned';
$X_HEADER_LINE = "by Amavisd-New and ClamAV at dom.ru";
$remove_existing_x_scanned_headers = 1;
$remove_existing_spam_headers = 1;
$sql_select_white_black_list = undef;
$recipient_delimiter = '+';
$localpart_is_case_sensitive = 0;
$MAXLEVELS = 14;
$MAXFILES = 1500;
$MIN_EXPANSION_QUOTA = 100*1024;
$MAX_EXPANSION_QUOTA = 300*1024*1024;
$MIN_EXPANSION_FACTOR = 5;
$MAX_EXPANSION_FACTOR = 500;
$virus_check_negative_ttl = 3*60;
$virus_check_positive_ttl = 30*60;
$spam_check_negative_ttl = 30*60;
$spam_check_positive_ttl = 30*60;
$bypass_decode_parts = 1;
$path = '/usr/local/sbin:/usr/local/bin:/usr/sbin:/sbin:/usr/bin:/bin';
$file = 'file';
$dspam = 'dspam';
@decoders = (
.....various decoders (short it for post not exceeds 12500 signs)
);
$sa_local_tests_only = 0;
$sa_mail_body_size_limit = 512*1024;
$sa_spam_modifies_subj = 1;
$sa_spam_subject_tag = '***SPAM*** ';
$sa_tag_level_deflt = 2;
$sa_tag2_level_deflt = 6;
$sa_kill_level_deflt = 8;
@av_scanners = (
['ClamAV-Clamd',
  \&ask_daemon, ["CONTSCAN {}\n", "/var/run/clamav/clamd.sock"],
  qr/\bOK$/, qr/\bFOUND$/,
  qr/^.*?: (?!Infected Archive)(.*) FOUND$/ ],
);
@av_scanners_backup = (
  ['ClamAV-ClamScan', 'clamscan',
  "--stdout --disable-summary -r --tempdir=$TEMPBASE {}", [0], [1],
  qr/^.*?: (?!Infected Archive)(.*) FOUND$/ ],
);
@debug_sender_acl = ( "root\@$mydomain" );
$sa_debug = 1;
1;
dkim_key('dom.ru','default','/var/db/dkim/dom.ru-default.key.pem',g=>'*',h=>'sha256',
 k=>'rsa');
$enable_dkim_verification = 1;
$enable_dkim_signing = 1;
$interface_policy{'10026'} = 'ORIGINATING';
$policy_bank{'ORIGINATING'} = {
  originating => 1,
  smtpd_discard_ehlo_keywords => ['8BITMIME'],
  os_fingerprint_method => undef,
  bypass_banned_checks_maps => [1],
  bypass_header_checks_maps => [1],
  bypass_spam_checks_maps   => [1],
  virus_admin_maps => ["virusalert\@$mydomain"],
};

grep -v "^#" /usr/local/etc/mail/spamassassin/local.cf
=====================================================================
report_safe              0
ok_locales               en ru
trusted_networks         127. 192.168.3. 192.168.4. 192.168.5. 192.168.6. 
192.168.7. 192.168.12.
use_pyzor                1
use_razor2               1
skip_rbl_checks          0
dns_available            yes
use_bayes                1
use_bayes_rules          1
bayes_auto_learn         0
auto_whitelist_factory   Mail::SpamAssassin::SQLBasedAddrList
user_awl_dsn             DBI:mysql:spamass:localhost
user_awl_sql_username    spamass
user_awl_sql_password    PASS_PASS_PASS
bayes_store_module       Mail::SpamAssassin::BayesStore::SQL
bayes_sql_dsn            DBI:mysql:spamass:localhost
bayes_sql_username       spamass
bayes_sql_password       PASS_PASS_PASS
user_scores_dsn          DBI:mysql:spamass:localhost
user_scores_sql_username spamass
user_scores_sql_password PASS_PASS_PASS

grep -v "^#" /usr/local/etc/mail/spamassassin/init.pre
===================================================================
loadplugin Mail::SpamAssassin::Plugin::URIDNSBL
loadplugin Mail::SpamAssassin::Plugin::Hashcash

grep -v "^#" /usr/local/etc/mail/spamassassin/v310.pre
===================================================================
loadplugin Mail::SpamAssassin::Plugin::DCC
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

grep -v "^#" /usr/local/etc/mail/spamassassin/v320.pre
===================================================================
loadplugin Mail::SpamAssassin::Plugin::Check
loadplugin Mail::SpamAssassin::Plugin::HTTPSMismatch
loadplugin Mail::SpamAssassin::Plugin::URIDetail
loadplugin Mail::SpamAssassin::Plugin::Bayes
loadplugin Mail::SpamAssassin::Plugin::BodyEval
loadplugin Mail::SpamAssassin::Plugin::DNSEval
loadplugin Mail::SpamAssassin::Plugin::HTMLEval
loadplugin Mail::SpamAssassin::Plugin::HeaderEval
loadplugin Mail::SpamAssassin::Plugin::MIMEEval
loadplugin Mail::SpamAssassin::Plugin::RelayEval
loadplugin Mail::SpamAssassin::Plugin::URIEval
loadplugin Mail::SpamAssassin::Plugin::WLBLEval
loadplugin Mail::SpamAssassin::Plugin::VBounce
loadplugin Mail::SpamAssassin::Plugin::ImageInfo

grep -v "^#" /usr/local/etc/mail/spamassassin/v330.pre
===================================================================
loadplugin Mail::SpamAssassin::Plugin::FreeMail

sa-learn --dump magic
===================================================================
netset: cannot include 127.0.0.0/8 as it has already been included
0.000          0          3          0  non-token data: bayes db version
0.000          0        697          0  non-token data: nspam
0.000          0       1877          0  non-token data: nham
0.000          0     138647          0  non-token data: ntokens
0.000          0 1292224411          0  non-token data: oldest atime
0.000          0 1383840374          0  non-token data: newest atime
0.000          0          0          0  non-token data: last journal sync atime
0.000          0          0          0  non-token data: last expiry atime
0.000          0          0          0  non-token data: last expire atime delta
0.000          0          0          0  non-token data: last expire reduction 
count

Reply via email to