Leaving blacklists aside, local or remote, for a minute, I'd like to know=20
what you use as "MTA credentials" to validate incoming mail.

I think one way forward in the spam war is to raise credentials so that=20
legit servers will have so many problems getting their mail accpeted that=20
they are forced to put their credentials in order (just the way so many=20
Imail admins had to scramble to get a PTR to talk to AOL). The result being=
=20
that the distinction between legit and illegit is more apparent, and=20
blokcing uncredentialled servers becomes more accurate.    Most legit=20
servers are correctly credentialled, it's primarily the smaller, marginal=20
ones that need to be brought into line.

The question is essential, because rejecting mail on MTA credentials means=
=20
rejecting before the DATA command, ie, envelope-rejecting.  I guess we to=20
say there are two religions here:

The envelope-rejecting religion, says MTA credentials, singly or in=20
combination, are sufficiently robust to reject abuse (but can be=20
supplemented by passing accepted msg to a content-scanner)

The content-scanning religion, says MTA credentials PLUS scanning the DATA=
=20
contents are required for accuracy.

IMGate is clearly and primarily an envelope-rejector (but can do=20
content-scanning with header/body checsk and/or with a content-scanner like=
=20
SpamAssassin), and Declude/Sniffer/SpamAssassin are in the content-scanning=
=20
group.

The concept of MTA credentials is based on RFC requirement/recommendations,=
=20
and "best practices" for SMTP behavior and DNS presence (veriscam=20
solved).  It is not hard for a serious, legitimate mail server and DNS to=20
be setup to meet the credentials below.  So it's reasonable to insist on=20
credentials, I'm trying to gauge from you how it works in practice.

Credentials processing has nothing to with blacklists or ACLs or=20
message-content.

Spammers of course intentionally, systematically avoid presenting any such=
=20
credentials (no PTR, forged helo, null or forged sender.domain).

The problem arrives when legit SMTP/DNS servers that are set up wrong=20
become hard to distinguish from illegit servers.  This makes more work for=
=20
you because you have to monitor credentials-rejections for legit servers,=20
and whitelist them (if they refuse to fix their credentials problem).

I'd like to get some feedback from your experiences with legit servers that=
=20
can't/won't raise their credentials.  The "won't"s I don't have any=20
sympathy for in light of the insanity of email abuse today. The "won't"s=20
are contributors to the global problem (and your local problem), and are=20
illegit, imo. The solution for them is to relay their outbound through an=20
MTA gateway that does have credentials.

The "can't"s is what I'd like to understand, both why and how many "can't"s=
=20
there are as a %age of legit/credentialled servers.

I lay out here the kinds of credentials your MX can evaluate/impose before=
=20
the DATA command, since its the DATA command is where spam eats your=20
resources (and carries infected payload), so if you can reject before the=20
DATA command, you save resources, sometimes GB per day).

1. PTR hostname.  AOL now rejects mail based on the single criteria of NOT=
=20
having a PTR hostname.   If that's good enough for AOL, why isn't if good=20
enough for you?

About 35% of MTA IPs have no PTR, so none of those IPs can send to=20
AOL.  And probably 99+% of the 35% are spammers.

Think about it a minute:  what business mail server purporting to be=20
legitimate in late 2003 doesn't have _any_ PTR record?  It will have=20
horrendous problems sending mail, so I see no problem in me contributing to=
=20
their mail-delivery problems.  :))

2. HELO hostname

a. must say the HELO command, else reject

and the HELO command:

b. must have a hostname, else reject
c. it must be valid characters, else reject
d. it must be a fully qualified domain name, else reject. ( domain.TLD )
e. it must not contain IP address /a.b.c.d/
f. it must not contain a domain in /mydomains/
g. it must be a domain.TLD with either an A or MX record in DNS, else reject
     (veriscam tactic nullified this test)

2. MAIL FROM:  [EMAIL PROTECTED]

a. sender.domain must be valid characters, else reject
b. sender.domain must fully qualified hostname, else reject.
c. sender.domain must have an A or MX record, else reject
     (veriscam tactic nullified this test)
d. you must accept <null sender>@. But, if a sender@ is presented, then:

e. The MX for sender.domain must accept mail to [EMAIL PROTECTED]

    d.1 If the sender.domain=B4s MX says [EMAIL PROTECTED] is an unknown=
=20
user, reject (forged sender)

    d.2 If the MX of sender.domain is not "reachable", reject with 450.
      (may be a transient network/DNS/etc problem)

(the preceding test is called sender_address_validation and is effective=20
when all preceding tests pass).

I would assume that every single Imail admin that follows this list will=20
have his Imail (and DNS) in perfect shape and be able to send mail to any=20
MX that is imposing the above credentials.   And if you can do present=20
impeccable credentials to other mail servers, the why can't every business=
=20
mail server present you with the same credentials?

A big problem is forgeries of the above info (except PTR hostname, I have=20
not seen that, yet).

Two-criteria tests cutdown on forgeries of BigISP (hotmail, aol, msn,=20
compuserve, yahoo, lycos earthlink, netscape, etc):

If your helo hostname is <BigISP>, then your PTR hostname must be <BigISP>.

If your [EMAIL PROTECTED] is <BigISP>, then your PTR hostname must be=20
<BigISP>.

If your PTR hostname is <BigISP>, then your @sender.domain must be <BigISP>

If your PTR hostname is <subscriber network>, then you are 99+% probably a=
=20
spammer.  :))

If your @sender.domain is <one of 3500 frequently domains at monkeys.com>,=
=20
then your A
and PTR records must "match" each other (but not have to match the=20
sender.domain).

=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D

btw, if you want to raise your credentials, run any new features (like=20
reject_unknown_hostname or reject_unknown_client) in warn_if_reject mode at=
=20
the end of your smtpd restrictions for a week or so, then study the=20
warn_if_reject lines for ptr/to/from/protocol/helo to see what would have=20
been rejected.  For legit servers habitually contacting yours, try to=20
contact abuse@ or postmaster@ to point that their server is "in danger of=20
being blocked in the near future" (just a little FUD in their direction) by=
=20
your MX due to missing PTR and/or bad HELO hostname.  Whitelist them if=20
they won't cooperate, and then convert warn_if_reject to reject.

This two-step approach would have prevented some of you from blocking the=20
Declude server with subscriber filter, since Scott refuses, I guess, to=20
relay his Declude traffic coming now from his ma.charter.com IP through=20
ComuterizedHorizons' non-subscriber IPs.

Len


Reply via email to