The Militant Sendmail Administrator's Anti Spam Resource Audiophile-grade cables for your IPOD!
The Militant Sendmail Administrator's Anti Spam Resource

Shun 'em all and let Quanta Sort 'em out

I consider blocking spam a special challenge. One that requires a multi-tiered approach to be effective, and one that requires tuning for your site. The sendmail .mc ruleset presented here is based upon the one available from:

http://quanta.kyunghee.ac.kr/~dacapo/sendmail/rulesets/

That provided an excellent starting point, but unfortunately it is not updated too often.

The old version of this document is still available.


Mine is updated nearly each day.
Last Update: 10/09/2002
Please Note: That was and will be the final update. I am exclusively using MilterD now. So far, no false positives and no false negatives. In other words, valid messages get through, invalid messages (spam) do not.
If you are not familiar with how to implement the above rulset from it's .mc source, please see Sendmail's Site. I will provide no assistance whatsoever for implementing the rules. Don't ask.

You may also want to try the Milter feature of Sendmail. I tried this with Perl, and while it works great when it is running, it was too unstable for my wants with Perl 5.6|7. However, it appears to be very stable with Perl 5.8 and I have begun using it again. If you want a jumpstart on the process, try the MilterD package (1.5) / 01/20/2003.

Beta: MilterD package (1.6B1) / 01/21/2003 (Full MIME Support)

Simply implementing the ruleset is not enough. Those pesky little spammers are somewhat intelligent, and as such they find ways to make the messages look completely legitimate. Thus, I also block addresses at my firewall. I used to count the total number of hosts I block, but stopped doing that lately. I really don't care. What I do care about is that I get on average 1-2 messages per day that slip through. This is down considerably from when I began. The IP addresses that are presently being blocked are here.

And a nice IPtables script that can be used on any Linux firewall: local.iptables

Note: if your site/network is on this list, do not waste your or my time with telling me about it. I honestly do not care. In fact, you won't be able to tell me about it, as you are blocked. And I like it that way. And I intend fully to keep it that way. Indefinitely.

Note: I am no longer using the offenders list as I have resumed development of MilterD, mentioned above. With Threaded Perl 5.8.0 it is 100% stable! This amount of spam has gone up considerably, yet the amount that gets through remains about the same as before. I will be adding message body checking soon to solve that issue.

I also use the virtusertable, and the access table features from sendmail. Once again, if you are on this list, see the note above. I don't care.

optinmail.cc                    REJECT
keywordrankings@excite.com      REJECT
sympatico.ca                    REJECT
stormie@yahoo.com               REJECT
mailandnews.com                 REJECT
msn.com                         REJECT
aol.com                                REJECT
polbox.com                      REJECT
daahiaste8@yahoo.com            REJECT
gbolin@w2w.com                  REJECT
algx.net                        REJECT
jennifer1@                      REJECT
mach10.com                      REJECT
free4all.com                    REJECT
Todays_Stock_Update@eudoramail.com      REJECT
pfcnt.profuturo.pl              REJECT
trafalgergo.com                 REJECT
Todays_Stock_Update573@mailandnews.com  REJECT
bdodd69@hotmail.com             REJECT
troops@upscaletrading.com       REJECT
ign.com                         REJECT
artsandobjects.com              REJECT
root-mail.com                   REJECT
email.com                       REJECT
link2buy.com                    REJECT
customoffers.com                REJECT
editor@brainbench.com		REJECT
@ewrma.com                      REJECT
@banjo.agora.com                REJECT
@recruitersmarket.net           REJECT
@journyx.com	                REJECT
I extract much pleasure from this little script I created to summarize the messages that did not make it through.

Brad Doctor