Bill Taroli:
>I wind up blocking mail from people like that  for an entirely different 
>reason. Basic DNS checking against the HELO string to be sure it 
>resolves to the IP address the connection's actually coming from.

There are a few different ways to do DNS checks.  I haven't seen
this particular one suggested before.

The correct check is:  fDNS(rDNS(IP)) == IP
However, this check doesn't actually do very much; it just ensures that
the IP address exists in the DNS system.

The typical broken check is:  rDNS(fDNS(HELO)) == HELO
This is wrong for a number of reasons, the main one being that not everyone
has control of their reverse-DNS mapping.

And in this terminology, you're doing:  fDNS(HELO) == IP
That's a little better than the broken version, since you're comparing
IP addresses.  But it's still a bad idea to use HELO.  For example,
what if the mail sender likes to masquerade as example.com even though
it is actually mail.example.com?  If those two names have different
IP addresses, then your check will reject the connection.

Anyway, how many connections/day are you using this check on?
I find DNS checks to be fairly expensive due to how long they take,
on the average.  Most of them return quickly but a substantial
minority go to a broken DNS server and take the full time-out period.
Because of this I use DNS-based anti-spam measures late in the
checking process, while it sounds like you are using this as your
first line of defense.

And finally, if you want to run a check on the HELO string, I find
that just rejecting outside connections that claim a HELO of your own
hostname gets rid of a very high proportion of crapmail.  This
very simple check is successful enough that I'll probably publish
a "notme_milter" at some point after spfmilter gets out of beta status.
---
Jef

         Jef Poskanzer  [EMAIL PROTECTED]  http://www.acme.com/jef/
_______________________________________________
http://lurker.clamav.net/list/clamav-users.html

Reply via email to