[regext] AD Evaluation: draft-ietf-regext-epp-ttl-14
Orie Steele <orie@transmute.industries> Mon, 01 July 2024 22:30 UTC
Return-Path: <orie@transmute.industries>
X-Original-To: regext@ietfa.amsl.com
Delivered-To: regext@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id D3325C151520 for <regext@ietfa.amsl.com>; Mon, 1 Jul 2024 15:30:29 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.107
X-Spam-Level:
X-Spam-Status: No, score=-2.107 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, HTML_MESSAGE=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 (2048-bit key) header.d=transmute.industries
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 gmKiMIqmfefk for <regext@ietfa.amsl.com>; Mon, 1 Jul 2024 15:30:25 -0700 (PDT)
Received: from mail-pf1-x433.google.com (mail-pf1-x433.google.com [IPv6:2607:f8b0:4864:20::433]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 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 B5005C14F706 for <regext@ietf.org>; Mon, 1 Jul 2024 15:30:25 -0700 (PDT)
Received: by mail-pf1-x433.google.com with SMTP id d2e1a72fcca58-70ad2488fb1so613892b3a.1 for <regext@ietf.org>; Mon, 01 Jul 2024 15:30:25 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=transmute.industries; s=google; t=1719873025; x=1720477825; darn=ietf.org; h=cc:to:subject:message-id:date:from:mime-version:from:to:cc:subject :date:message-id:reply-to; bh=ZGJBvbCQwORoUk+9AFha+VmmpoivIhHrAyvRVuqyM7c=; b=bgfznmVx/WeDFrBSkMKRdVtHgtLg4bUwF5MCpX+HTFRxpyHsmlDSJMr4+9fjoZVlge eacT3SptsGDz9EniN3VyuoHYpWZrZjMsy4gPw6u/V6zPoLX6AZDIBP4EQT8+oFpyjl5m A/GkF1Mlu2Y6WIe1D/lwIhAqKkgFpNmTHeZreVwsojAobIudaPBv+8NIvYZcPNWH+7I5 7joYkGwL2v+wvL7gkCKt92yGdzVhXlCnTP7LScPzNLUyMvemFs9ik51iDF7MSK+P2LyZ spxTQ1F6YdEFXEM+BAKvuBYT/21s8RzQ9Nhq7iiyrfGHxv4Zz3ffch3Y8E2X8lg+t3RO QW2w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1719873025; x=1720477825; h=cc:to:subject:message-id:date:from:mime-version:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=ZGJBvbCQwORoUk+9AFha+VmmpoivIhHrAyvRVuqyM7c=; b=QQUkWTxkiyVUri28DKWoJKMXA1objQ4yBeApCbSLHtn56TjiE35DnxVSok8mZn+VZw +TzkbGtcHRtXKhJN6ykYYuWaHFYshO+139zvmxYvErOT6QDzLJ4hduuI2/zpKGgnNZDu +H/OnCxVmNxlX+wMCOn2dWyvjLEcZg9kbODOZ1YRW68DLpYPGY5uDiVb5+1y5LHsOTz+ zUXNGtWuR96h0q6g8WChHYojXU3faZ5CNQfgInUO7h5It8WrDCOkm57dOdvyBtmlytpU 2vD9GQzTMiTSkMn6nYkGFIcewE55vPAkk3i1KWoKFwJRYkLF+ljU+W4LAlkRlA5HMy3L Hfxw==
X-Gm-Message-State: AOJu0YwUrwLnrws/4ZXMEYYNq5ERRZ1laeXvCbEKOTR1IGqQ1xeH0nFE cbJzFDPtRi0U0QN0UZ4LjzOVMPtkKp/fnLJ3FX4De9HKa/FILvkAuu73Iu555/ekAenPbj0ooJA VQaq8KHHXy1Qyu+iwFOgC+isBHXNEaIwC1Cb8BnPJ2V7qDVtxbuE=
X-Google-Smtp-Source: AGHT+IGnnKQHKUzaIQ2PEbcwOWkuO7C2jKEevInCKel1o5+DSBcn5ChlYG/OP34Zvp8ke5ws8L9lVYACBxzA/7la4vg=
X-Received: by 2002:a05:6a21:3397:b0:1bd:24c8:f61a with SMTP id adf61e73a8af0-1bef60fc393mr10052208637.5.1719873024593; Mon, 01 Jul 2024 15:30:24 -0700 (PDT)
MIME-Version: 1.0
From: Orie Steele <orie@transmute.industries>
Date: Mon, 01 Jul 2024 17:30:13 -0500
Message-ID: <CAN8C-_+kxp+0+oFfeLJ26+HQYS=Qn9XmSTyOSDKU3_4aPxYYDw@mail.gmail.com>
To: Registration Protocols Extensions <regext@ietf.org>
Content-Type: multipart/alternative; boundary="000000000000b0aec7061c37244e"
Message-ID-Hash: YB3VKC3PSC5QIHTWWJNFNGOR7GVLLVU6
X-Message-ID-Hash: YB3VKC3PSC5QIHTWWJNFNGOR7GVLLVU6
X-MailFrom: orie@transmute.industries
X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-regext.ietf.org-0; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header
CC: draft-ietf-regext-epp-ttl@ietf.org
X-Mailman-Version: 3.3.9rc4
Precedence: list
Subject: [regext] AD Evaluation: draft-ietf-regext-epp-ttl-14
List-Id: Registration Protocols Extensions Working Group <regext.ietf.org>
Archived-At: <https://mailarchive.ietf.org/arch/msg/regext/quLAL3ZZrtXYHpUI3CEuWc5c3h8>
List-Archive: <https://mailarchive.ietf.org/arch/browse/regext>
List-Help: <mailto:regext-request@ietf.org?subject=help>
List-Owner: <mailto:regext-owner@ietf.org>
List-Post: <mailto:regext@ietf.org>
List-Subscribe: <mailto:regext-join@ietf.org>
List-Unsubscribe: <mailto:regext-leave@ietf.org>
# Orie Steele, ART AD, comments for draft-ietf-regext-epp-ttl-14 CC @OR13 https://author-tools.ietf.org/api/idnits?url=https://www.ietf.org/archive/id/draft-ietf-regext-epp-ttl-14.txt&submitcheck=True Thanks to Anthony Somerset for the DNSDir early review. Thanks to Andy Newton for the shepherd writeup. Thanks to Gavin and the working group for this document. As you read my comments, please keep in mind that I am not a DNS expert. ## Comments I found the document easy to read, and most of my comments are minor. I do have a concern regarding the choice of enabling 2 modes "Default" and "Policy". Especially after reading SAC-025, I wonder why the "Default" mode is offered to implementations. If it is possible to make Policy Mode the only option, it seems like that might improve the ability to surface and address the security issues associated with short and long lived TTLs. ### Recommended default TTL? ``` 204 4. "default", which MUST NOT be present in command frames but MAY be 205 present in response frames (see Section 2.1.1), and which is used 206 by the server to indicate the default value; ``` ``` 224 2. empty, in which case the server's default TTL for the given 225 record type is to be applied. ``` Is there a recommended default TTL when EPP is used? See security considerations for why this might be a good idea. ### DELEG as example ``` 298 <ttl:ttl 299 for="custom" 300 custom="DELEG">3600<ttl:ttl> ``` Consider a record that is already registered with IANA, TLSA for example. ### Are 2 modes really needed? ``` 308 It has a single OPTIONAL policy attribute, which takes a boolean 309 value with a default value of false. ``` Should this be interpreted as Default Mode is mandatory to support and Policy Mode is optional? ### Examples for Section 2.2.1 and 2.2.2 Examples in Section 2.2.1 and 2.2.2 both only include the Default Mode. Is Policy Mode supported by `<create>` and `<update>` ? I assume the answer is yes, but explicit examples might make this clearer. ``` 685 If an EPP server receives a <create> command containing a TTL value 686 that is outside the server's permitted range, it MUST reject the 687 command with a 2306 "Parameter value policy error" response. ``` ``` 745 If an EPP server receives an <update> command containing a TTL value 746 that is outside the server's permitted range, it MUST reject the 747 command with a 2306 "Parameter value policy error" response. ``` Consider providing a complete response for these rejected commands. ### Servers MAY have policies? ``` 753 Servers MAY restrict the supported DNS record types in accordance 754 with their own policy. For example, a server MAY allow clients to 755 specify TTL values for DS records only. ``` Can this be strengthened to a SHOULD or MUST? ### Range and Record Type Errors ``` 757 A server which receives a <create> or <update> command which includes 758 a restricted record type MUST respond with a 2306 "Parameter value 759 policy" error. ``` Is it correct to reply with 2306 for both out of range and restricted record type errors? ### Servers can ignore clients? ``` 767 EPP servers which implement this extension SHOULD use the values 768 provided by EPP clients for the TTL values records published in the 769 DNS for domain and (if supported) host objects. ``` This feels like a throwaway sentence, why not MUST? When can this SHOULD be ignored? ### When can servers ignore the host attribute? ``` 771 EPP servers that use the "host attribute" model SHOULD use any A and/ 772 or AAAA TTL values specified for the domain object when publishing 773 NS, A and AAAA records derived from host attributes. ``` When can this SHOULD be ignored? Why not MUST? ### Operational considerations ``` 796 Historically, registry operators have used a global TTL value for all 797 delegations within their zones, which could then be tuned to an 798 optimum value. ``` Is this a recommendation? Can it be turned into one or removed? ``` 800 Registry operators SHOULD implement limits on the maximum and minimum 801 accepted TTL values that are narrower than the values permitted in 802 the XML schema in the Formal syntax (which were chosen to allow any 803 TTL permitted in DNS records), in order to prevent scenarios where an 804 excessively high or low TTL causes operational issues on either side 805 of the zone cut. ``` This feels like it is in conflict with the Default Mode, which is mandatory to support? ### Should ensure user understands ``` 814 A common operational mistake is changing of DNS record TTLs during or 815 after the planned change to the records themselves. This arises due 816 to a misunderstanding about how TTLs work. 818 Implementations of this specification SHOULD ensure that the user 819 understands that changes to a TTL are only effective in shortening 820 transition periods if implemented a period of time — at least equal 821 to the current TTL — _before_ the planned change. The latency 822 between receipt of the <update> command and the actual publication of 823 the changes in the DNS should also be taken into consideration in 824 this calculation. ``` I think this could be rephrased to use BCP14 language in a more intuitive way: ``` It is RECOMMENDED that guidance be provided to users so that they are aware that ... ``` ### fast flux DNS ``` 828 Some malicious actors use a technique called "fast flux DNS" 829 ([SAC-025]) to rapidly change the DNS configuration for a zone in 830 order to evade takedown and law enforcement activity. 832 Registry operators should take this into consideration when setting 833 the lower limit on TTL values, since a short TTL on delegations may 834 enhance the effectiveness of fast flux techniques on evasion. ``` Consider shortening the first part to "in order to evade identification". Please revise the second part to provide mitigation advice, based on the reference: ``` Mitigations methods that are practiced today, but not uniformly, include: • Authenticate contacts before permitting changes to name server configurations. • Implement measures to prevent automated (scripted) changes to name server configurations. • Set a minimum allowed TTL (e.g., 30 minutes) that is long enough to thwart the double flux element of fast flux hosting. • Implement or expand abuse monitoring systems to report excessive DNS configuration changes. • Publish and enforce a Universal Terms of Service agreement that prohibits the use of a registered domain and hosting services (DNS, web, mail) to abet illegal or objectionable activities (as enumerated in the agreement). .... • Rate-limit or (limit by number per hour/day/week) changes to name servers associated with a registered domain name. Registries and registrars already apply rate-limiting techniques on query-based WHOIS services to discourage abuse. Determine a rate of change that (a) accommodates legitimate applications of short TTLs for NS records in TLD zone files, (b) provides investigators with a window of opportunity to track down the origin of updates and identify bots, and (c) makes short TTLs less useful to fast flux attackers. • Separate "short TTL updates" from normal registration change processing. Treat requests to set TTLs below a certain limit as special requests that require some form of verification. ``` Some of these are not directly related to TTL / EPP... some are. ### additional security considerations for ttl Consider commenting on the impact of TTL on DDoS. Consider commenting on the impact of TTL on DNS Spoofing. Consider commenting on the impact of TTL on DNS Cache Poisoning.
- [regext] AD Evaluation: draft-ietf-regext-epp-ttl… Orie Steele
- [regext] Re: [Ext] AD Evaluation: draft-ietf-rege… Gavin Brown
- [regext] Re: [Ext] AD Evaluation: draft-ietf-rege… Andrew Newton (andy)
- [regext] Re: [Ext] AD Evaluation: draft-ietf-rege… Gavin Brown
- [regext] Re: [Ext] AD Evaluation: draft-ietf-rege… Orie Steele
- [regext] Re: [Ext] AD Evaluation: draft-ietf-rege… Gavin Brown
- [regext] Re: [Ext] AD Evaluation: draft-ietf-rege… Gavin Brown