Re: SMTP RFC: "MUST NOT" change or delete Received header

John C Klensin <john-ietf@jck.com> Sun, 30 March 2014 18:09 UTC

Return-Path: <john-ietf@jck.com>
X-Original-To: ietf@ietfa.amsl.com
Delivered-To: ietf@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 4FE4F1A08B9 for <ietf@ietfa.amsl.com>; Sun, 30 Mar 2014 11:09:26 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: 0.09
X-Spam-Level:
X-Spam-Status: No, score=0.09 tagged_above=-999 required=5 tests=[BAYES_50=0.8, RCVD_IN_DNSWL_LOW=-0.7, T_RP_MATCHES_RCVD=-0.01] autolearn=ham
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 22DiQn1p1hp1 for <ietf@ietfa.amsl.com>; Sun, 30 Mar 2014 11:09:24 -0700 (PDT)
Received: from bsa2.jck.com (ns.jck.com [70.88.254.51]) by ietfa.amsl.com (Postfix) with ESMTP id 2DEFD1A074F for <ietf@ietf.org>; Sun, 30 Mar 2014 11:09:23 -0700 (PDT)
Received: from [198.252.137.115] (helo=JcK-HP8200.jck.com) by bsa2.jck.com with esmtp (Exim 4.82 (FreeBSD)) (envelope-from <john-ietf@jck.com>) id 1WUKAX-000Ol8-BQ for ietf@ietf.org; Sun, 30 Mar 2014 14:09:17 -0400
Date: Sun, 30 Mar 2014 14:09:12 -0400
From: John C Klensin <john-ietf@jck.com>
To: ietf@ietf.org
Subject: Re: SMTP RFC: "MUST NOT" change or delete Received header
Message-ID: <A3DE810811F791EDC532BDFB@JcK-HP8200.jck.com>
In-Reply-To: <20140330151432.2721.qmail@joyce.lan>
References: <20140330151432.2721.qmail@joyce.lan>
X-Mailer: Mulberry/4.0.8 (Win32)
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline
X-SA-Exim-Connect-IP: 198.252.137.115
X-SA-Exim-Mail-From: john-ietf@jck.com
X-SA-Exim-Scanned: No (on bsa2.jck.com); SAEximRunCond expanded to false
Archived-At: http://mailarchive.ietf.org/arch/msg/ietf/GlluZSAncBaHYGyQUY-mRNWESus
X-BeenThere: ietf@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: IETF-Discussion <ietf.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/ietf>, <mailto:ietf-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/ietf/>
List-Post: <mailto:ietf@ietf.org>
List-Help: <mailto:ietf-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/ietf>, <mailto:ietf-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sun, 30 Mar 2014 18:09:27 -0000

Wow.  The nice thing about SMTP is that everyone has an opinion,
sometimes several.  20+ messages in under two days.

I'll try to avoid repeating things that others have said, but...

(1) The historical reason for a list, rather than a count, is
that a count does not permit a "been here already" test.  At
least in the past, "been here already" tests have been as or
more useful than counts for loop detection, especially when
gateways to systems that use SMTP-like protocols are involved.  

(2) As others have noted, the trace has often been a critical
debugging (and finger-pointing) tool.  It is also sometimes been
an important legitimacy-determining tool because it allows
"could a legitimate message possibly have taken that path"
examination.

(3) There is no SMTP requirement that trace headers (really a
part of the envelope, even while stored in the headers) be
transmitted from the final delivery server to the message
recipient or even to whatever is used as a mail store.   Whether
such information suppression would be helpful for any important
threat model is another issue entirely.  In most of the
circumstances I can think of, suppressing or discarding those
header would have few practical advantages and be fairly dumb
but, "don't be dumb on delivery" is not an explicit SMTP
requirement either. 

(4)  For those that believe that exposing the address of an
originating client machine poses a serious privacy problem (see
Christian's notes for a clear discussion), Section 8, especially
Section 8.8, of RFC 6409 (Message Submission) appears to me to
provide more than adequate permission to rewrite those addresses
in the submission server.  That issue does not appear to me to
be part of the SMTP discussion.  Indeed, having an intermediate
SMTP system decide what information should be rewritten or
disguised seems to me to violate the general prohibition about
messing with messages in transit of which the "don't change or
delete RECEIVED header fields" rule is one corollary among many.

<rant>
Our current mail system, including the various evolutionary
changes to both SMTP and Message Headers, has, as Dave Crocker
pointed out, served the community rather well for 30+ years and
a decade more than that if one counts the email-over-FTP period.
For many of those years, it was the fabric that held the people
of the extended Internet together despite poor connections,
connections that were at best intermittent, interconnections to
alternate network technologies, and competing mail protocols
(both based on voluntary standards and quite proprietary).
Things are easier today because most of those competing systems
and technologies have faded away and most email connections go
directly from the administrative scope that is, at least in
theory, under control of the sender to one that is, also at
least in theory, under the control of the recipient.  In those
"one hop over the public network" arrangements, this type of
proposal would, independent of its other properties, accomplish
nothing useful in terms of information-hiding.  

However, as people contemplate ways to get a little more
performance, a little better privacy, a little better way to
deter or filter spam, malware, or bad guys, I wish we could all
keep in mind that no one with adequate authority has promised
that today's happy situation will prevail forever.  We are
seeing a large collection of proposals and actions that point to
national network boundaries; new, more politically-based,
address allocation strategies; national content controls and
filtering; and a whole series of other things.  If the advocates
of any of them succeed, we could easily find ourselves back in a
situation very similar to the one we had in the late 80s and
early 90s.  I hope that few who are reading this would advocate
that situation, but wishing won't prevent it.  In that
environment, network protocols that are dependent on single-hop
end to end connections just won't work worldwide.   In such a
situation, a robust, international, gateway-friendly, store and
forward email system could turn out, again, to be the best we
can do.   Let's try to avoid weakening it. In particular, let's
be very careful that proposals that would weaken it in the
interest of worthwhile goals, including privacy improvements,
really bring enough benefits to be worth the costs and risks.
</rant>

   john