Tuesday, September 05, 2006
Perhaps the solution is to disable any form of bounce back message
I awoke to a phone call from a frantic Smirk, trying to get one of our new servers under control from a deluge of email (if I sounded angry today Smirk, that's because I got up a bit early, and it took nearly two hours for me to eay my way through lunch, so let me apologize).
The end result will probaby take as long to explain as it took to handle.
The server was drowning in email being sent to
firstname.lastname@example.org. We don't host the website for
seaton.biz. Nor do we handle email for
seaton.biz. In fact, we have nothing, nada, zip, zilch, nothing what so ever to do with
seaton.biz, except for a ton of email trying to be delivered to
email@example.com from our server.
Read that paragraph again.
Now, why were we trying to send email to
firstname.lastname@example.org? Good question. At the time, the MX record for
seaton.biz (which contains the address of the server(s) that handle email for
seaton.biz) were resolving to
Now, the IP address
127.0.0.1 is a special IP address—it's the “loopback” address; any network traffic sent to IP address
127.0.0.1 is sent to the box doing the sending—the data “loops back.”
So our server sent the email to
email@example.com to IP address
127.0.0.1, which, since that's the “loopback” address, was sent right back to our server. Our server accepted the email because, hey, it has the permission to send email to itself. But since we don't host
seaton.biz, or in fact, have anything to do with
seaton.biz, the email got requeued up for delivery again.
Which begs the question why we were trying to send email to
firstname.lastname@example.org in the first place. In checking the email logs, it seems that one “Nicholas,” who has the email address of
email@example.com, sent a bunch of spam to all the sites on our server. And in typical spam fasion, it was sent to a whole bunch of addresses, the majority of which don't exist!
That's right. “Nicholas” here was sending email to
firstname.lastname@example.org, etc. etc. with a return email address of
Now, our email server, like every other email server in existance, is configured to send an error notification back to the sender when the email address doesn't exist. So each spam that “Nicholas” sent that didn't get delivered because the destination address didn't exist created a message to
email@example.com saying as much.
So that's why we had thousands upon thousands of messages attempting to be delivered to
firstname.lastname@example.org, which, because the email server for
seaton.biz was set to the “loopback” address, were being delivered right back to our server for yet another attempt at delivery.
Now, that's not to say that the owners of
seaton.biz were the actual spammers—most likely they're not and they're the victim of a “joe job.”
So now the question is: who's doing more damage here? The original spammer “Nicholas?” Or the owners of
seaton.biz when they changed their MX records to
127.0.0.1? (not that I can blame them for doing that—it keeps a bunch of useless email from being sent to them and wasting their bandwidth) And what can we do to keep this from happening in the future?
I suppose one way would be to immediately delete any email destined for a site we have nothing to do with, but with an MX record of 127.0.0.1.
Does anyone know how to get
sendmail to do that?