on 12/20/08 10:41 AM, Lindsay Haisley said:

A "milter" is just an MTA component/plugin that reflects user-space
(outside the MTA) decisions on spam/viruses back to the SMTP dialog so
that a receiving server can reject an email for cause without generating
a backscatter email to the envelope sender.

That is one possible description of a milter, yes.

But that does not describe all possible milters, no.


You are correct that milters sit outside of the MTA itself, but their purpose is to provide different tools to the "mail filter" process than are normally available inside the MTA itself. What those different tools are will depend on the milter.

Some of them are seriously anal about checking exact conformance to the way certain headers are supposed to be used, because a certain class of spam tends to get these headers wrong in subtle ways.

Some of them will check the NS records of the domain of the sending MTA, or the whois registration of the network of the sending MTA, so that you can ban entire classes of senders based on whether or not they share the same nameserver as known spammers (because spammers tend to re-use the same nameservers over and over again, regardless of how many thousands or millions of domains they register), or they tend to re-use the same network registrars.

Some milters will use tools like "p0f" to do a passive OS check on the incoming connection (much like the OS determination techniques used in nmap, but using purely passive means), and then take one of several different actions based on what kind of machine is making the incoming connection -- reject them outright if they're running an OS you don't like (since >99% of all spam comes from Windows boxes, this can be a huge win all by itself), or maybe put them into a tarpit (to make them use up their resources), or whatever.

Milters can do virtually anything, in any way they want. You can write your own milters in Perl or any other language you want.


Unfortunately, milters are not widely supported outside of modern versions of sendmail and postfix.

BTW, as I mentioned, about 80% of the spam _I_ (personally) get is
rejected by courier based on RBL lookups, and I assume the percentage is
similar for other system users.  I have a cron job which generates a
daily report on these rejections for me, and anyone else who wants one.

I have my own scripts that I've written for the same purpose. Your statistics do not accurately describe the situation that I personally see.


At UT Austin, we reject ~95% of all incoming mail at the SMTP dialog level, because we use Ironport e-mail security appliances that check the incoming connection against the SenderBase reputation system, and SenderBase has several hundred different inputs that are used to calculate an overall score for that sender. They monitor all the major RBLs (and a lot that you've never heard of), but they also consider what the registered nameservers are for the sending domain, who the registered owner of the network is in whois, and all those other things that you might want to check.

We reject another ~2% of the total with content-based checks.

The number of rejections I see in the report for my personal email
varies between about 200 and 800 or so a day, and has remained in this
range for several years.  Frankly, I don't believe rejecting an SMTP
transaction out front makes one whit of difference to spammers, and I've
seen no arguments to indicate that it does.

Do some research on the economics of spam, and how these guys get their money. It is an entire black economy, and they get paid based on their deliverability, just like any other bulk mail service.

                                              A huge amount of this spew
comes from Asia, Russia, South America, and my guess is that it's either
coming from virally infected / hacked boxes or from rogue servers that
crank out terabytes of this crap, and in any case the people sending it
don't give a damn whether any particular target (victim!) system rejects
1% or 99% of it.

Some care, some don't. But you don't know in advance which type of spammer you have connecting to you.

It's just that, by rejecting this stuff out front, one gets the visceral
satisfaction of knowing that some spammer, somewhere _might_ be annoyed
or inconvenienced by seeing the bounce notices from their server.  I've
heard all the arguments about CPU usage and system load involved in
accepting and processing spam, but my service is a relatively small one
and my system load generally runs under 1.0, even with all that spam
coming in :)

If more people rejected spam outright during the SMTP dialog, we would make a measurable impact on the spammer economy. So long as there are plenty of people who are happy to just throw it away after-the-fact, then the spammers continue to win.

--
Brad Knowles
<b...@shub-internet.org>        If you like Jazz/R&B guitar, check out
LinkedIn Profile:                 my friend bigsbytracks on YouTube at
<http://tinyurl.com/y8kpxu>    http://preview.tinyurl.com/bigsbytracks
------------------------------------------------------
Mailman-Users mailing list
Mailman-Users@python.org
http://mail.python.org/mailman/listinfo/mailman-users
Mailman FAQ: http://wiki.list.org/x/AgA3
Searchable Archives: http://www.mail-archive.com/mailman-users%40python.org/
Unsubscribe: 
http://mail.python.org/mailman/options/mailman-users/archive%40jab.org

Security Policy: http://wiki.list.org/x/QIA9

Reply via email to