Wow…. Let me just say that I have typically been inundated with junk mail on my primary address. It’s associated with this domain and has been hosted in an older sendmail setup for quite some time (not really by choice, but because that’s what was installed on the old vps.) I’m currently migrating to postfix which I’m a bit more familiar with and had used successfully to at least tag my junk mail as SPAM for sorting at home. Well, my older postfix system didn’t have too many options to add on and tweak and so this weekend I’ve invested some time in migrating the main mail server over to a newer postfix install with amavis and postgrey and a few other tools.
What is postgrey? It’s basically a greylisting tool for postfix. It essentially decides whether or not the mail server accepts a message based on a simple rule – “if I’ve seen the ip address/sender/recipient a couple times and it’s been more than 5 minutes between seeing those, it’s probably a legitimate mailserver.” By the same token “if I’ve seen the same triplet in immediate succession it’s not standards compliant and therefore likely a spammer.” Postgrey supports whitelisting if you’re not patient enough to let it build it’s own whitelist.
You should note that it doesn’t specifically reject messages, it simply says try later. If the sending mailserver is standards compliant and waits and then retries a bit later, and then is patient and well behaved and tries again…. the message arrives. If your mailserver just tries to blast the other addresses at your domain then it’s likely a spammer and is consistently asked to wait and try later.
I was really not expecting a great improvement in the volume of junk mail. I’ve used a number of tools in the past from blacklists to making the mailserver wait for 30 seconds before answering, dns tricks, etc. For the most part each of those methods has cut down a bit on the junk, but not put a huge dent in the volume.
I have been pleasantly surprised. Over the last 3 days I have received a grand total of probably 5-6 junk messages. (A few more have sneaked past the OLD mail server which is still configured as an mx at the moment until I’m sure all of my transition is setup.) What would I normally receive…. it’s hard to put an exact number but I would expect about 150 or so junk messages in those days.
So – how is it setup?
For ubuntu it was quite simple – apt-get install postgrey brings in all of it’s dependencies and sets it to run by default as a service. In postfix’s main.cf you need to add the following into your smtpd_recipient_restrictions…. check_policy_service inet:127.0.0.1:10023 (Of course you’ll need to save the changes and reload postfix to have that take effect. Oh, make sure that postgrey is running too.)
450 “try again later” is the official response that postgrey returns. The logic here is that spammers get lot’s of “error/address not found/bounce/shut up and go away spammer” messages and it’s not worth their time to try to get a few more messages delivered by making a mailer that gracefully handles all of these (or one of these.) Hopefully that holds true for quite some time because it’s been a fantastic improvement here.
Some other benefits of using postgrey. Spam messages are stopped before the message is officially accepted. So…. no bounces (backscatter spam), no cpu overhead scanning for viruses, scanning for and tagging as spam, no dns searches to try to validate senders/etc…. So, lower cpu overhead, marginally lower bandwidth.
Related PostsRelated Posts
- Sendmail mail queue backed up Sendmail is not my favorite MTA. I really prefer Postfix, but... I have to use sendmail in a few situations. I've run a little script on the web server for a good while to monitor the mail queue. I was running into a problem where I had LOTS of messages......
- Denyhosts as an added defence to ssh server A couple days ago I had a brief article on the vandals banging away at the door of my ssh server. Like I said, I've, at times, been fairly smug abou the futility of their actions, but.... the persistance concerns me. Let me be more specific, I keep a fairly......
- Linux Software Raid Notes - Replacing Drives This post is going to be somewhat of a "link dump" for me of some pages that I've been perusing lately. After playing with RT (request tracker) - I added a few ticket items for the home network. Now, if you've been a longtime reader and sorted through ALL of......
- Picking The Right Free Blogging Resources There are numerous free blogging tools in the marketplace, but loading up your blog with all the free accessories that you will find isn't necessarily a good idea. While it may be tempting to add a visitor counter, a flashy background, an exciting new font, and a cluster of quirky......
- Spread your Company's Marketing Message through Corporate Blogging Creating a marketing message is a lot like building a house of cards: The building process can take a long, painstaking amount of time, however it can take mere moments to send everything tumbling. Sometimes all it takes is a single piece of thoughtless communication to completely contradict your......
- Stopping Junk Mail in it's Tracks in 10 Minutes. Ever have one of those days where you realize the pile on your desk can't be overlooked any longer? Today I took a serious look at that growing stack of my "to do" pile, and decided it's time to deal with it. I soon realized that 75% or more of......
- Ways to deal with Junk Mail (1 of 2)
- Ways to deal with Junk Mail (2 of 2)
- Blacklists and rejecting mail with Sendmail
- How do I email lots of people without all their addresses showing up?
- Great tip for Dealing with SPAM email