[rt-users] HOWTO: protect RT queues with SpamAssassin
Phil Homewood
pdh at snapgear.com
Fri Jun 21 02:16:09 EDT 2002
Well, this proved trivial enough to do, but is such a neat
arrangement that I thought I'd summarise it for the list.
SpamAssassin (www.spamassassin.org) is a mail filter to identify
spam.
We, like many others no doubt, receive a lot of spam to RT
queues. And we don't like it. (I know Bruce has also mentioned
this kind of thing before.)
Since we've been trialling SpamAssassin for end-user delivery
on (conveniently) the same host that RT runs on, I decided to
put RT behind SpamAssassin as well.
Rather than reject or lose any detected spam, I chose to shunt
it into its own queue for review and disposal. Of course others
may choose differently; this is very simple to change.
The procedure (under FreeBSD, using Sendmail at least) is very
simple:
* procmail must be installed.
* spamassassin must be installed (duh!), spamc/spamd installed,
and spamd running. (If you don't want to use spamc/spamd,
replace the "spamc" command with the appropriate "spamassassin"
command in the attached procmailrc.)
* The user running spamassassin (I chose the MTA's "mailnull"
user) must have (or have permission to create) a .spamassassin
directory under his home dir. This was the only roadblock I
hit (as spamassasin's "spamc" silently does nothing if this is
not the case.)
Under FreeBSD:
mkdir ~mailnull/.spamassassin
chown mailnull ~mailnull/.spamassassin
(other OSs will be similar.)
* Create a "spam" queue in RT, make sure "everyone" has the right
to "create ticket" and season other rights to taste.
* Drop the attached procmailrc into /usr/local/etc/procmailrcs/rt
and correct any paths for your local installation. Change the
ownership of this file to your chosen user ("mailnull" in the
example above.)
* Change the alias for each queue you wish to protect. For example,
assuming I have a queue called "test", with correspond address
"test at example.com" and comment address "test-c at example.com", I'd
use the following:
test:"|/usr/local/bin/procmail -m /usr/local/etc/procmailrcs/rt test correspond"
test-c:"|/usr/local/bin/procmail -m /usr/local/etc/procmailrcs/rt test comment"
That's it! Told you it was simple. :-)
Variations to the procmailrc:
* Change "spamc" to "spamassassin -P" if you don't use spamd.
* Change the "X-Spam-Status: Yes" delivery rule to bounce, or
blackhole, or deliver to mailbox, or whatever, if you don't
want a "spam" queue. The choice is yours!
Enjoy :)
-P.
More information about the rt-users
mailing list