Re: [Uta] SMTP TLS reporting (RFC 8460), policy domains and DANE

Viktor Dukhovni <ietf-dane@dukhovni.org> Fri, 17 November 2023 20:53 UTC

Return-Path: <ietf-dane@dukhovni.org>
X-Original-To: uta@ietfa.amsl.com
Delivered-To: uta@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 3EA28C14CEFC for <uta@ietfa.amsl.com>; Fri, 17 Nov 2023 12:53:03 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.407
X-Spam-Level:
X-Spam-Status: No, score=-4.407 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_MED=-2.3, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01, URIBL_DBL_BLOCKED_OPENDNS=0.001, URIBL_ZEN_BLOCKED_OPENDNS=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=dukhovni.org
Received: from mail.ietf.org ([50.223.129.194]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id eqGze40UQWLn for <uta@ietfa.amsl.com>; Fri, 17 Nov 2023 12:52:58 -0800 (PST)
Received: from straasha.imrryr.org (straasha.imrryr.org [100.2.39.101]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 18786C151076 for <uta@ietf.org>; Fri, 17 Nov 2023 12:52:32 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=dukhovni.org; i=@dukhovni.org; q=dns/txt; s=f8320d6e; t=1700254351; h=date : from : to : subject : message-id : reply-to : references : mime-version : content-type : in-reply-to : from; bh=l6FdpJy4WjJh0cfrVhPHQz54gUsPL7NNBTt3UIR2pvs=; b=KBz5x0hzBg8WE23h4qi4Fa6lZbALCySJzVgR+y3BgEsE5vjMI6uCkX0E2CdfhNv3mzbp/ 56FOcMxy8OWnPhTr9m65StkBq7WVedRshbYl0Pk1g2rmQPMD61/EKfdjIik7zuD/29VeU6Y vumCCMNuMtUH6B8k7u14wdA+8apdRyw=
Received: by straasha.imrryr.org (Postfix, from userid 1001) id 8FD0713BB67; Fri, 17 Nov 2023 15:52:31 -0500 (EST)
Date: Fri, 17 Nov 2023 15:52:31 -0500
From: Viktor Dukhovni <ietf-dane@dukhovni.org>
To: uta@ietf.org
Message-ID: <ZVfSj0aDuoHriayc@straasha.imrryr.org>
Reply-To: uta@ietf.org
References: <MN2PR11MB4351F7BF452EF3C45C02196AF7B0A@MN2PR11MB4351.namprd11.prod.outlook.com> <f4uAUqwma6dZnvvieVptWA@mail.axillis.nl> <ZVZ1HjiF8pFJy9YN@straasha.imrryr.org> <z0g6Pmhf9JT0UaJaKNwQFg@mail.axillis.nl>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <z0g6Pmhf9JT0UaJaKNwQFg@mail.axillis.nl>
Archived-At: <https://mailarchive.ietf.org/arch/msg/uta/NpcqKkJtn8Z2MBG_hifOrzZfsSI>
Subject: Re: [Uta] SMTP TLS reporting (RFC 8460), policy domains and DANE
X-BeenThere: uta@ietf.org
X-Mailman-Version: 2.1.39
Precedence: list
List-Id: UTA working group mailing list <uta.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/uta>, <mailto:uta-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/uta/>
List-Post: <mailto:uta@ietf.org>
List-Help: <mailto:uta-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/uta>, <mailto:uta-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 17 Nov 2023 20:53:03 -0000

On Fri, Nov 17, 2023 at 09:11:40PM +0100, Mechiel Lukkien wrote:

> Alex wrote:
> > TLSRPT is going to look for its information at _smtp._tls.<rcpt
> > domain>.  That same <rcpt domain> should  be the policy-domain in
> > the report.  The domain for the MTA-STS/DANE policies may be
> > different such as you mentioned with DANE.  The MX for foo.com could
> > point at mx.example.net.  The TLSRPT will look for policy at
> > _smtp._tls.foo.com, but DANE will look at _25._tcp.mx.example.net.

Since DANE policy is managed by the email provider, and not the hosted
domain, one should expect to find any TLSRPT endpoints listed for
the MX hostname(s), with the MX operator being the primary responsible
party for monitoring for an resolving any issues.

If the (MX) hosted customer domain operator is also interested in
receiving TLSRPT messages, they could I guess also publish a suitable
TXT record, and you might then notify either or both the customer
and the service provided, deduplicating reporting endpoints, since
some self-hosted sites may list the same endpoints for both.

> If the goal is to always evaluate that to "recipient domain", there
> would be no need for the indirection through "Policy Domain". As a
> reader, that makes me think an author is using the indirection to make
> it variable based on the DANE or MTA-STS context.

Go with the spirit, rather than the letter of the RFC.  The goal is to
provide information to operators about observed failures, where
"operators" means primarily those in a position to respond to any issue.

Doing TLSRPT with MTA-STS when email is hosted by a provider in practice
requires each customer domain to proxy or delegate the
"mta-sts.<domain>" HTTPS service to the provider's service endpoint and
to CNAME the TXT record to the provider's TLSRPT TXT record.

With DANE, both problems go away.

> I do also see how it would be useful for recipient domain owners to
> receive TLS reports about success/failures of TLS connections to (3rd
> party) MX operators for their domains, regardless of TLSRPT policy
> presence for the MX target.

Notify both (after endpoint deduplication) when both are published.

> Viktor wrote:
> > Just failure reports?  Or also success reports in the absence of any
> > failures?
> 
> I'm also sending success reports, and have been receiving them. The
> RFC mentions this as a useful way to send a "heartbeat" signal that
> all is well. The reports I'm getting are almost all about successful
> connections, which indeed is good to know.

I would prefer to not receive success report noise.  IIRC the TLSRPT
DNS record does not have a field to indicate that success reports are
not desired.  Software implementing TLSRPT should IMHO default to not
sending success reports, and have that be a feature that the (sending)
MTA operator has to turn on explicitly.

Ideally, it should also allow receiving domains to ask to opt-out of
success reports, and so the software should also support exclusion
lists for this case.

> > Whoever manages the policy should receive the reports.  If DANE MTA
> > operators want to receive TLSRPT data, indeed they should publish
> > the relevant records for each of the MX hosts.
> 
> But if I'm understanding Alex correctly, he wouldn't expect this.

Do the *right* thing, regardless of what Alex, I, or the RFC might say,
defaulting to following the RFC when it is close-enough to the right
thing, but RFCs are not always clear and not always in hindsight
correct, so deviations or elaborations are sometimes necessary.

There is no RFC police.

> More DANE TLSRPT implementations would be nice. I've been receiving
> TLS reports mostly from just a few providers. I think/thought it is
> because implementations aren't too common. But other implementations
> may indeed only be reporting failures. Are there known implementations
> with failure-only TLS reporting?

I am not following the space closely enough (or at all) to give you a
useful answer.

> > The set of defined error conditions is not necessarily exhaustive,
> > if, while implementing, you think of compelling additions, propose
> > additional entires for the IANA registry.
> 
> What would the procedure be? A new RFC? I'm assuming I cannot just
> submit new values...

Some IANA registries are subject to expert review, and don't require
"standards action".  You when need just an informational RFC through the
ISE, so that others can find a stable reference for the code point.

Check the registry policy.  Of course if you want the new code point
to see wide use, a short standards-action RFC through the UTA or
other suitable WG may be best.

> I would think it's better to overreport the failure, than underreport
> it.

There's already too much email.  More junk is not helpful.  And
automated email sometimes results in mail delivery loops, reports about
reports, ...  So I rather differ with you on "overreporting".

When there's a problem, hearing about it once is good, hearing about
it from everyone is at least distracting.

> Option 1: Clarify as the per-MX TLSRPT interpretation (my latest
> interpretation, which seems helpful for external MX operators):

What you're proposing is likely too large for errata.  It would a new
"Clarifications" RFC, or, if sufficiently large, a "bis" RFC that
rewrites and obsoletes the original.

-- 
    Viktor.