Amavis and Spamassassin howto: Difference between revisions

From finninday
Jump to navigation Jump to search
Line 8: Line 8:
===smoke test===
===smoke test===
<pre>
<pre>
rday@weasel:/usr/share/doc/spamassassin/examples$ spamc -R <sample-nonspam.txt  
/usr/share/doc/spamassassin/examples$ spamc -R <sample-nonspam.txt  
0.0/5.0
0.0/5.0
Spam detection software, running on the system "weasel.finninday.net", has
Spam detection software, running on the system "weasel.finninday.net", has
Line 25: Line 25:
---- ---------------------- --------------------------------------------------
---- ---------------------- --------------------------------------------------


rday@weasel:/usr/share/doc/spamassassin/examples$ spamc -R <sample-spam.txt  
/usr/share/doc/spamassassin/examples$ spamc -R <sample-spam.txt  
1000.0/5.0
1000.0/5.0
Spam detection software, running on the system "weasel.finninday.net", has
Spam detection software, running on the system "weasel.finninday.net", has
Line 53: Line 53:
* feed to spamc
* feed to spamc
<pre>
<pre>
rday@weasel:~$ spamc -R <spam.txt  
$ spamc -R <spam.txt  
9.9/5.0
9.9/5.0
Spam detection software, running on the system "weasel.finninday.net", has
Spam detection software, running on the system "weasel.finninday.net", has

Revision as of 03:57, 7 January 2015

per-user spam configuration

  • make sure the local user has a ~/.spamassassin directory

global configuration

  • /etc/spamassassin/local.cf
  • after adjusting global rules, restart spamassassin service to make the changes take effect

smoke test

/usr/share/doc/spamassassin/examples$ spamc -R <sample-nonspam.txt 
0.0/5.0
Spam detection software, running on the system "weasel.finninday.net", has
identified this incoming email as possible spam.  The original message
has been attached to this so you can view it (if it isn't spam) or label
similar future email.  If you have any questions, see
@@CONTACT_ADDRESS@@ for details.

Content preview:  -----BEGIN PGP SIGNED MESSAGE----- TBTF ping for 2001-04-20:
   Reviving T a s t y B i t s f r o m t h e T e c h n o l o g y F r o n t [...]
   

Content analysis details:   (0.0 points, 5.0 required)

 pts rule name              description
---- ---------------------- --------------------------------------------------

/usr/share/doc/spamassassin/examples$ spamc -R <sample-spam.txt 
1000.0/5.0
Spam detection software, running on the system "weasel.finninday.net", has
identified this incoming email as possible spam.  The original message
has been attached to this so you can view it (if it isn't spam) or label
similar future email.  If you have any questions, see
@@CONTACT_ADDRESS@@ for details.

Content preview:  This is the GTUBE, the Generic Test for Unsolicited Bulk Email
   If your spam filter supports it, the GTUBE provides a test by which you can
   verify that the filter is installed correctly and is detecting incoming spam.
   You can send yourself a test mail containing the following string of characters
   (in upper case and with no white spaces and line breaks): [...] 

Content analysis details:   (1000.0 points, 5.0 required)

 pts rule name              description
---- ---------------------- --------------------------------------------------
-0.0 NO_RELAYS              Informational: message was not relayed via SMTP
1000 GTUBE                  BODY: Generic Test for Unsolicited Bulk Email
-0.0 NO_RECEIVED            Informational: message has no Received headers

test a real mail sample

  • ctrl-u in thunderbird to view the full source of an email
  • copy and paste to a text file
  • feed to spamc
$ spamc -R <spam.txt 
9.9/5.0
Spam detection software, running on the system "weasel.finninday.net", has
identified this incoming email as possible spam.  The original message
has been attached to this so you can view it (if it isn't spam) or label
similar future email.  If you have any questions, see
@@CONTACT_ADDRESS@@ for details.

Content preview:  FtP://tbk.dOWnsizEWherevEr.NeT/index.html [...] 

Content analysis details:   (9.9 points, 5.0 required)

 pts rule name              description
---- ---------------------- --------------------------------------------------
  10 NEWMAN_FROM_RULE       Stop mail from yahoo that uses my facebook contacts
 0.0 FREEMAIL_FROM          Sender email is freemail (bishtalpanaghx[at]yahoo.com)
-0.0 RCVD_IN_DNSWL_NONE     RBL: Sender listed at http://www.dnswl.org/, low
                            trust
                            [98.138.229.72 listed in list.dnswl.org]
 0.0 UNPARSEABLE_RELAY      Informational: message has unparseable relay lines
-0.1 DKIM_VALID_AU          Message has a valid DKIM or DK signature from author's
                            domain
 0.1 DKIM_SIGNED            Message has a DKIM or DK signature, not necessarily valid
-0.1 DKIM_VALID             Message has at least one valid DKIM or DK signature

Be aware that the spam threshold reported by testing through the spamc command is irrelevant since amavis overrides this setting. http://www.ijs.si/software/amavisd/#faq-spam

Still, the spamc command is the best test method.

How to tune bayes classification

In the case of a message being wrongly classified as ham, do this

root@weasel:/var/log# sa-learn --dbpath /var/lib/amavis/.spamassassin --spam ~rday/spam.txt 
Learned tokens from 0 message(s) (1 message(s) examined)

Note: using the sa-learn command takes a lock on the spamassassin database, so any scripted tasks should be done serially.

To see how many items are in the database

root@weasel:~/Maildir/mail# sa-learn --dbpath /var/lib/amavis/.spamassassin --backup | wc
 233525 1032008 8614945

To train on a directory of ham

root@weasel:~/Maildir/mail# sa-learn --ham --dbpath /var/lib/amavis/.spamassassin --mbox --progress ./2005-09
 98% [===================================================================================================  ]   6.89 msgs/sec 00m36s DONE
Learned tokens from 252 message(s) (252 message(s) examined)

or

root@weasel:/home/julie/Maildir# sa-learn --dbpath /var/lib/amavis/.spamassassin --ham ./cur --progress

To train on a directory of spam

root@weasel:~/Maildir/.Junk# sa-learn --dbpath /var/lib/amavis/.spamassassin --spam ./cur --progress
100% [=====================================================================================================]   9.49 msgs/sec 00m02s DONE
Learned tokens from 20 message(s) (21 message(s) examined)

Prevent local spam reports from being classified as spam

TBD

URIBL was blocked

Running spamc on a test message takes a long time (over 4 seconds) and includes this message:

 0.0 URIBL_BLOCKED          ADMINISTRATOR NOTICE: The query to URIBL was blocked.
                            See
                            http://wiki.apache.org/spamassassin/DnsBlocklists#dnsbl-block
                             for more information.
                            [URIs: no1trader.com]

I should run a caching nameserver to be more efficient.

References

  • General setup and testing

http://www.stearns.org/doc/spamassassin-setup.current.html

  • Postfix, amavis, spamassassin integration

http://wiki.apache.org/spamassassin/IntegratedInPostfixWithAmavis

  • may want to use this RBL at some point

http://www.barracudacentral.org/rbl