On 11/21/2016 11:27 AM, Karl Denninger wrote:

On 11/21/2016 10:12, Karl Denninger wrote:
I'm using SpamAssassin on a system that uses Postfix for MTA and Dovecot for handling final delivery. Spamassassin is being called via Postfix through spamd with:

#
# Spam Assassin bayesian filter updaters
#
sa-spam unix - n n - - pipe user=spamd:spamd argv=/usr/local/bin/sa-wrapper.pl spam ${sender} sa-ham unix - n n - - pipe user=spamd:spamd argv=/usr/local/bin/sa-wrapper.pl ham ${sender}

I have a material number of role accounts on the box that are all aliased to the various places they need to go. Most of these do not have entries in /etc/passwd, that is, they're not real login accounts.

The issue is that if I am reading the code correctly my particular Bayes database (for "karl") is not being consulted, and can't be, for anything that comes into a role account since the user side of the email address is (obviously) not altered in the message. As a result I have the rulesets, but none of the "training" that individual Bayes recognition would provide, nor is there any way for that training to take place since none of these accounts are "real".

sa-learn --dump magic -u karl shows the expected (large) number of tokens in the database, but the same command targeting any of the role account names shows nearly nothing (which isn't surprising since they're role accounts and not real user logins.)

How have people dealt with this -- or do they?


To add to this the way the bayes database gets built (other than via auto-add) is from anything that a user sticks in the "Junk" folder. There is a cron job that runs every hour that runs sa-learn against that and then moves anything it finds in there to a "Junk-Saved" folder, expiring anything older than 14 days from that folder (so spam emails are held for 2 weeks.) Dovecot is configured to deliver confirmed spam to the "Junk" folder as well.

Is the best way to handle role accounts to (1) create a "dummy" user account for them and (2) have the script that runs sa-learn add spam to not only the target's account but also, if the target is a role account, to each of the role account's database entries as well? That's a somewhat-messy maintenance job if/when role accounts are added/removed/changed, but it appears to be the only way to accomplish the goal.

--
Karl Denninger
k...@denninger.net <mailto:k...@denninger.net>
/The Market Ticker/
/[S/MIME encrypted email preferred]/

I can't speak for specifically making it work with Postfix, but you usually want a site-wide Bayes database. No matter what (real or fake) user is receiving the message, it would get trained as the spamd user, or whatever ends up running SA. That same user runs SA and reads that appropriate database, which gets training from everyone and classifies based on a much more statistically useful volume of data.

Reply via email to