Re: The dogfood discussion (was: Re: IETF Policy on dogfood consumption or avoidance - SMTP version)

Viktor Dukhovni <ietf-dane@dukhovni.org> Mon, 23 December 2019 00:33 UTC

Return-Path: <ietf-dane@dukhovni.org>
X-Original-To: ietf@ietfa.amsl.com
Delivered-To: ietf@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 9A3D5120018 for <ietf@ietfa.amsl.com>; Sun, 22 Dec 2019 16:33:34 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.2
X-Spam-Level:
X-Spam-Status: No, score=-4.2 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_MED=-2.3, SPF_HELO_NONE=0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
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 z7JHrkDDUBsn for <ietf@ietfa.amsl.com>; Sun, 22 Dec 2019 16:33:32 -0800 (PST)
Received: from straasha.imrryr.org (straasha.imrryr.org [100.2.39.101]) (using TLSv1.2 with cipher ADH-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 818B1120013 for <ietf@ietf.org>; Sun, 22 Dec 2019 16:33:31 -0800 (PST)
Received: from [10.28.21.46] (250.sub-174-244-113.myvzw.com [174.244.113.250]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by straasha.imrryr.org (Postfix) with ESMTPSA id D0D8D2972AE for <ietf@ietf.org>; Sun, 22 Dec 2019 19:33:29 -0500 (EST)
Content-Type: text/plain; charset="us-ascii"
Mime-Version: 1.0 (Mac OS X Mail 13.0 \(3608.40.2.2.4\))
Subject: Re: The dogfood discussion (was: Re: IETF Policy on dogfood consumption or avoidance - SMTP version)
From: Viktor Dukhovni <ietf-dane@dukhovni.org>
In-Reply-To: <F23F68031DD8861B69FC5C3D@PSB>
Date: Sun, 22 Dec 2019 19:33:27 -0500
Content-Transfer-Encoding: 7bit
Reply-To: ietf@ietf.org
Message-Id: <0425C99D-3630-4031-BED8-250C9CFFA5E0@dukhovni.org>
References: <8EE11B75E1F8A7E7105A1573@PSB> <m2a77ttff6.wl-randy@psg.com> <CABL0ig4Wz-0dk7bsRpaN6pni2rHEc-jPnygwed_Hygy+CiehQA@mail.gmail.com> <16306b3a-63bd-621e-636c-dd7626f74733@foobar.org> <4D7EEBF62E149D1F23BA6A32@PSB> <58595081-6F4F-45E2-9798-B691AC919D28@cisco.com> <15D46124EFC1486F3613EF01@PSB> <0D67643B-00ED-482A-BCE0-1CF5A513C61F@cisco.com> <1fdc9df2-b66b-26cc-0e83-e973d30b8ec0@tana.it> <E0C999A5-18A9-4164-814E-3B85034028D2@cisco.com> <5DFBB0FD.2010902@isdg.net> <F23F68031DD8861B69FC5C3D@PSB>
To: ietf@ietf.org
X-Mailer: Apple Mail (2.3608.40.2.2.4)
Archived-At: <https://mailarchive.ietf.org/arch/msg/ietf/FZisaWvYv0cN-pNrK97Xi6HZ7To>
X-BeenThere: ietf@ietf.org
X-Mailman-Version: 2.1.29
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: <https://mailarchive.ietf.org/arch/browse/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: Mon, 23 Dec 2019 00:33:35 -0000

> On Dec 22, 2019, at 5:30 PM, John C Klensin <john-ietf@jck.com> wrote:
> 
> But we don't know... and, if
> Hector had not been a very long-term participant who knew which
> list to ask on and had alternate posting mechanisms readily
> available, it is reasonable to assume we would not have heard
> about his case either.

One relevant point here is perhaps that (based on my understanding
of Hector's posts) even his MTA did not actually use address literals
when posting messages *to* IETF lists, and his messages to IETF lists
were getting through just fine.

The problem was that his callback verification system (variously called
CBV, sender address verifcation, ...) used address literals, and so
messages coming *from* IETF lists to him were rejected by his server
when callback probes were rejected by mail.ietf.org.

In my view, this makes the problem report more marginal.

I also posit that the IETF mail servers are not running some bespoke
version of SMTP that is inconsistent with IETF standards.  The
"550 5.7.1" reject is a clear policy reject, and the MTA adds further
context that makes it clear that the policy rejects the EHLO command
on the basis of the EHLO name.

The poorly chosen additional text added by the administrator has
since been amended, and the rejects now take the form:

  550 5.7.1 <[192.0.2.1]>: Helo command rejected: Policy violation

The policy in question is presumably effective, and can make it
possible to avoid more fragile and less transparent content-based
policies downstream.

Address literals remain a valid part of the SMTP protocol, useful
between minimal SMTP clients (special-purpose appliances of various
sorts, and some MUAs) and their configured SMTP relays (smarthosts).

They are much less useful between the SMTP relays and SMTP servers
operated by others on the public Internet.  The same applies to
sending from machines with no PTR records, from sender addresses in
non-existent domains, or non-FQDN HELO names that are not address
literals...

While Hector feels passionately[1] that he should not have to change
the CBV code he's been using for over a decade, others may well view
that code as a potential abuse vector in its own right, that masks
the origin of directory harvesting attacks.

I, for one, do not share his passion for keeping address literals
a viable HELO name form for MTA-to-MTA traffic across the public
Internet, nor do I feel that a policy that rejects these, even at
mail.ietf.org is a failure of the IETF to adhere to its own
standards.

On the contrary, I prefer filters that use static criteria over
fragile content filters, unavoidably error-prone (but sadly needed
RBLs), etc.  If the HELO filters work well enough (block
non-negligible quantities of junk, don't block non-negligible
quantities of legitimate email, allow the sending system to
generate a local bounce back to the message sender) they are
precisely the sort of filters that should be used when available,
and while still effective.

-- 
	Viktor.

[1] Along with a passion about the purported "inconsistency" of
    blocking IP literals, while allowing unvalidated FQDNs.  This
    would be a valid critique if the aim were to police protocol
    correctness, but since the aim is merely to cheaply block
    traffic from clients effectively don't resemble an MTA, there
    is no inconsistency, policing FQDN "validity" is not effective.

    Of course MTAs should have valid HELO FQDNs, these could even be
    useful some day in support of client-side DANE TLSA records,
    hardening the message relay path with hop-by-hop client
    authentication, when possible, but that's falls squarely outside
    the issue at hand.