[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Asrg] 0. General - Administrative - for M. Wild
At 09:35 PM 8/28/03 -0400, Richard Rognlie wrote:
>
>On Thu, Aug 28, 2003 at 03:34:05PM -0400, Hector Santos wrote:
>> We found rDNS checking on HELO/EHLO to be unreliable due to
>> mis-configuration of smtp servers, in particular those systems who prepare a
>> send-only or routing server, which from my last reading of the RFC (a few
>> years back), need to be prepare as sub-domains. Because they are not, it
>> is not possible to do reliable checking.
>>
>> Recently, we added logic to check for the bracket DOT format, i.e,.
>> HELO/EHLO [X.X.X.X]
>>
>> We found those servers using this format to be spammer servers and they are
>> using it incorrectly, providing the literal IP without the brackets, i..e,
>> HELO/EHLO X.X.X.X
>>
>> So we reject the HELO/ELHO state when
>>
>> a) The literal IP does not have brackets, or
>> b) The provided bracket IP does not match the connecting peer IP.
>>
>> We have rejected on average about 125 per day using this scheme.
>>
>> Incidentally, before this logic was added, the average about 80 attempts
>> per day. Hence, the rejection is causing some senders to try again more
>> often. We are sending a 5XX response code (permanent error, don't try
>> again) but some are ignoring it of course. :-)
>
>Based on the logs I'm maintaining as part of my DRIP Milter development,
>I see ~20% of all HELO/EHLO requests are either...
>
>a. an IP. But worse... it's *MY* IP. not theirs.
>b. An unqualified "hostname" (e.g. BIZ3)
>
>I am preparing to add an option to the DRIP milter which will treat
>either of those cases (IP (with or without []s) that does not match
>the connecting IP) and unqualified hostname as invalid DRIP records
>(vs. unknown DRIP host as the probably do now)
>
>I'm curious about Brad's contention below...
>
> Since RFC2821 explicitly prohibits you from checking the domain
> literal claimed in EHLO/HELO and rejecting the message if the reverse
> DNS doesn't match that domain, then I submit that your tests are at
> least violating the spirit of RFC2821 in a similar manner.
>
>
>Section 3.2 states
>
> In the EHLO command the host sending the command identifies itself;
> the command may be interpreted as saying "Hello, I am <domain>" (and,
> in the case of EHLO, "and I support service extension requests").
>
>Section 3.6 states
>
> The domain name given in the EHLO command MUST BE either a primary
> host name (a domain name that resolves to an A RR) or, if the host
> has no name, an address literal as described in section 4.1.1.1.
>
>Section 4.1.1.1 states
>
> The argument field contains the fully-qualified domain name of
> the SMTP client if one is available. In situations in which the
> SMTP client system does not have a meaningful domain name (e.g.,
> when its address is dynamically allocated and no reverse mapping
> record is available), the client SHOULD send an address literal
> (see section 4.1.3), optionally followed by information that will
> help to identify the client system.
>
>
>Section 4.1.4
>
> An SMTP server MAY verify that the domain name parameter in the
> EHLO command actually corresponds to the IP address of the client.
> However, the server MUST NOT refuse to accept a message for this
> reason if the verification fails: the information about verification
> failure is for logging and tracing only.
>
>It says we can't use the IP as a basis for rejection. I'm wondering
>why not...? Yes, if only an IP is presented, I can envision that it
>was presented by a machine behind a NAT... so it presents 192.168.x.y
>but the connecting IP is God knows what... But do I want to accept
>that mail?
>
>And certainly... if a machine presents *MY* IP addr as the connecting
>info... but the connecting IP does not have anything to do with my
>network... Bzzzzt! Next player!
>
>or when they say "EHLO gamerz.net" but again are NOT on my network.
>Bzzzzt!
>
I think the point of 4.1.4 is that you can't expect the HELO to
resolve to the ip that's connecting to you. (In some cases,
it's not even possible to pick a HELO that works. A machine that
hosts 70 domains on a single IP for example.)
However, a lot of machines out there don't use even remotely "correct"
HELO arguments. For example, a lot of machines use unqualified
host names ("bob" instead of "bob.example.com").
If you block because the HELO is not a FQDN, you're going to
block a fair amount of legitimate mail.
However, your IP address is very different. That can't reasonably
be the result of stupidity - it's almost certainly done on purpose.
Likewise your domain can't reasonably be acidentally chosen as a
HELO argument either.
You might be able to add other domains to the list, like yahoo.com,
but that's a little dangerous unless you can be very sure of
/all/ the IPs that are assigned to yahoo.com.
In the long run, blocking based on these things is self limiting.
Once enough people do it, spammers will stop.
You'll catch a small amount of spam, and a small amount legitimate
mail, then everybody fixes the bugs and you're right back where you
were before.
Scott Nelson <scott@spamwolf.com>
_______________________________________________
Asrg mailing list
Asrg@ietf.org
https://www1.ietf.org/mailman/listinfo/asrg