Re: [Last-Call] Opsdir last call review of draft-freed-smtp-limits-06

John C Klensin <john-ietf@jck.com> Thu, 28 September 2023 02:38 UTC

Return-Path: <john-ietf@jck.com>
X-Original-To: last-call@ietfa.amsl.com
Delivered-To: last-call@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id A4630C14CE5E; Wed, 27 Sep 2023 19:38:44 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.907
X-Spam-Level:
X-Spam-Status: No, score=-6.907 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_HI=-5, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=0.001, SPF_NONE=0.001, T_SCC_BODY_TEXT_LINE=-0.01] autolearn=ham autolearn_force=no
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 n2GkCwrAv8Ik; Wed, 27 Sep 2023 19:38:42 -0700 (PDT)
Received: from bsa2.jck.com (ns.jck.com [70.88.254.51]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 93DF8C15152B; Wed, 27 Sep 2023 19:38:41 -0700 (PDT)
Received: from [198.252.137.10] (helo=PSB) by bsa2.jck.com with esmtp (Exim 4.82 (FreeBSD)) (envelope-from <john-ietf@jck.com>) id 1qlgvH-000Km3-2Q; Wed, 27 Sep 2023 22:38:39 -0400
Date: Wed, 27 Sep 2023 22:38:32 -0400
From: John C Klensin <john-ietf@jck.com>
To: Linda Dunbar <linda.dunbar@futurewei.com>, ops-dir@ietf.org
cc: draft-freed-smtp-limits.all@ietf.org, last-call@ietf.org
Message-ID: <EC07F2CB0591F24BE2A77817@PSB>
In-Reply-To: <169576780686.45174.6422080959425764343@ietfa.amsl.com>
References: <169576780686.45174.6422080959425764343@ietfa.amsl.com>
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.10
X-SA-Exim-Mail-From: john-ietf@jck.com
X-SA-Exim-Scanned: No (on bsa2.jck.com); SAEximRunCond expanded to false
Archived-At: <https://mailarchive.ietf.org/arch/msg/last-call/-uXunIDK5qhMO_kF-amzCySCHiE>
Subject: Re: [Last-Call] Opsdir last call review of draft-freed-smtp-limits-06
X-BeenThere: last-call@ietf.org
X-Mailman-Version: 2.1.39
Precedence: list
List-Id: IETF Last Calls <last-call.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/last-call>, <mailto:last-call-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/last-call/>
List-Post: <mailto:last-call@ietf.org>
List-Help: <mailto:last-call-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/last-call>, <mailto:last-call-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 28 Sep 2023 02:38:44 -0000


--On Tuesday, September 26, 2023 15:36 -0700 Linda Dunbar via
Datatracker <noreply@ietf.org> wrote:

> Reviewer: Linda Dunbar
> Review result: Has Nits
> 
> I have reviewed this document as part of the Ops area
> directorate's ongoing effort to review all IETF documents
> being processed by the IESG.  These comments were written
> primarily for the benefit of the Ops area directors. Document
> editors and WG chairs should treat these comments just like
> any other last-call comments.
> 
> Summary:
> This document defines a "Limits" extension for the Simple Mail
> Transfer Protocol (SMTP).
> 
> The document specifies several limits to be registered with
> IANA. However, I don't see the Limit value being specified.
> Does it mean that the document simply proposes a new KEYWORD
> (LIMITS)?
> 
> I am not an expert at SMTP, I have some questions:
> - The security consideration says that "a malicious server can
> use limits to overly constrain clients". Q1: how to prevent
> clients access malicious server? Q2: how does setting the
> KEYWORD LIMIT can help this problem

There has been some discussion about that statement.  So far, we
haven't been able to do much better and, as thee document
explains, I'm very reluctant to alter Ned Freed's text except
when absolutely necessary.  So

Q1: Barring some sort of "good guy" or "bad guy" list maintained
by responsible parties (an option far outside the scope of
either SMTP or this spec), if an SMTP  client receives a message
for transmission from a user (or Submission Server or another
SMTP system) containing and address whose associated DNS records
points toward a malicious server, there is no way to know, nor
is there any way to know that the server is malicious.

Q2: As that paragraph more or less says, evil/malicious SMTP
servers can misbehave and the rather complicated (IMO) misuse of
LIMITS can be one of many ways for them to do so.  Among parties
where both client and server has good intentions, LIMITS can be
used to avoid extra negotiation and turnarounds by having the
server tell the client what is acceptable.   In that regard, it
is a generalization  of the specific limit-setting of the SIZE
extension, which has been around since RFC 1497 in February 1993.

> - Introduction section 6th paragraph says "makes it possible
> for clients to avoid server errors and the problems they
> cause. Q: How can setting the LIMITE helps Client avoid Server
> Errors?

Let's use RCPTMAX (Section 4.2) as an example.  Suppose a server
is not willing to accept more than one RCPT command in a mail
transaction.  Without the LIMTIS extension, a typical client
wanting to send a message with, say, four recipients at the same
domain, would open a mail transaction and try to send four RCPT
commands, one for each recipient address, then the message body.
The server would presumably accept the first one, returning an
"ok" (2xy) code.  But, when it received the second, it would
reject it (with a 5yz code).   That would effectively be the end
of the mail transaction -- the client would need to send QUIT
(or possibly RSET). then start a new session or possibly a new
transaction with only a single RCPT command, using additional
transactions for each of the other three.   On the other hand,
if the server announced LIMITS RCPTMZX with a value of 1, the
client would know to break the transactions up without that
false start.

Of your questions, this was the one that probably would have
been most obvious to someone more familiar with SMTP but we all
do the best we can.  I hope the above explanation(s) help.

best,
   john