Re: [regext] [Ext] [DNSOP] Best Practices for Managing Existing Delegations When Deleting a Domain or Host

"Gould, James" <jgould@verisign.com> Wed, 26 July 2023 13:22 UTC

Return-Path: <jgould@verisign.com>
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 E376FC151719 for <regext@ietfa.amsl.com>; Wed, 26 Jul 2023 06:22:55 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.105
X-Spam-Level:
X-Spam-Status: No, score=-2.105 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, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01, URIBL_BLOCKED=0.001, URIBL_DBL_BLOCKED_OPENDNS=0.001, URIBL_ZEN_BLOCKED_OPENDNS=0.001] autolearn=unavailable autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=verisign.com
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 tvWIaYWINjj1 for <regext@ietfa.amsl.com>; Wed, 26 Jul 2023 06:22:50 -0700 (PDT)
Received: from mail6.verisign.com (mail6.verisign.com [69.58.187.32]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 71E66C151707 for <regext@ietf.org>; Wed, 26 Jul 2023 06:22:50 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=verisign.com; l=38744; q=dns/txt; s=VRSN; t=1690377771; h=from:to:cc:subject:date:message-id:mime-version; bh=ryFkPQRpACt8+dsLzZcyBv35dazxhgwMkd7pgud5dqE=; b=Qa6NkPZPYJAdexu4fDa7HFUrATYQt11mEc8Am8ib9M6HUOZGYFhYLvAX y4pTgSy5xHS+tCsi0QuG9IA47ZUDrGh/9T67VsDCSJGVgotD6ecZBattN Ol7u8csEjm9QZERpRZfX+Z/io8VbSJuT8OELJ8JHfWPDCFqs5CJWtMibn FpcMETYbxfL6SW4N5g1Bl9Ummn68esvoBwn5n0jnOiP23/RMicO/v1iuE PujgovQmoKr7flpeheL3h/6mABeOMIBvNpyvBANlhCNO+75MTJvViEH4f 5qi9yicqK2phQ335Yp5J7UXEl0ak4++j4K54WFOe8ftimcUc248HHpQuu A==;
IronPort-Data: A9a23:xBBEw69e7+wrYqYgZk0dDrUDAH+TJUtcMsCJ2f8bNWPdYAuW7oE1v jtCCD7TOv+LfCKrLOnCW/3gp01T65DRndJlQQNt+yFmFnhG9cHOWYjHdxj6MinOcMaaRxw2v pgTNtKbJpA9EyOFrEnzPOO88Hci3/qDHuXxYAKo1kGdYCc9IMt2oU46wrBRbvdUvOWE7yOxV fLa+Z2EZQCuhDQpbDxEsKve8ko14K/46T5BtAY1Oa4VtVKCzilEB58hfqzgdHGQrqu4vAKZb 72akOzmpDOxEzMFUI7NfmPTKxVSKlLqFVHSzCAQAcBOuzAazgQqyKE3KfEAXklejjSNjrhZx c5E3XCKYV5B0pbkxqJFCnG0LwkkZfcdoOCdfyDm2SCu5xaun0XEkq0G4H4eYNVwFtZfWQlm6 fEeITYRWRGP78reLGWTE7QEamwLdaEHDatH0p1S5Wix4cUOGPgvd573Cepwh1/csOgVRKqDO JBJAdZYRE+ojxVnYj/7AbpgxLv43iGXnzdw8Dp5roJvi4TfIZAYPBEA/7M5d/TTLfi5kHp0q UrI+m/jPk8mK+WN5h+LyDXxm///kn/0Ddd6+L2QrpaGgXW5/EpKNzs7ZQPi5+eyjVSmHdtTb VIO4Sxopq83nKCpZoClGUTn+zjd40VaB4o4/+4SsWlhzoLW7AGEAmQsUDNbaccnu8lwTjsvv rOMt4mzVGY14eDLIZ6b3rqftDyLMhNSF3MPOw4CdxIC3f7Gj55m23ojSf4mSsZZlObdGzj1z ivMqSkijLUeicoj1qy99BbAmT3EjoPJSQox6wPdU2mmu18heoO/Zpep5l6d5vFFBIqcR0OK+ nkJh8bY6/oBZbmXmSOAUPklHby16bCCKjK0vLJ0N5M78W2y/XOzJdkV+y9kYkJoKYMOfnnje kmK/x1L/5kVN3yvBUNqX7+M5w0R5fCIPbzYujr8N7KivrAZmNe7wRxT
IronPort-HdrOrdr: A9a23:K1och6qEwqM3TXG5+BTZUIkaV5oceYIsimQD101hICG9Kvbo9f xHnJwguSMc+wxhPU3I+OrwQJVoLkm9yXcY2+Ms1NSZLXLbUQmTXeJfBOLZqlWKJ8SUzIFgPN JbEpSWf+efMbEVt6vHCUKDYrIdKZG8gceVba219QYKcehFUdAY0ztE
X-Talos-CUID: 9a23:VqbDEmykOGhRhEW7lRaUBgUaH8s/TiPh007CDGq2MyE0Va2lRgOfrfY=
X-Talos-MUID: 9a23:sJCtUAab7G03TOBTujT1iwhpD4BS/6nwKUY3iJI4nOyrKnkl
X-IronPort-AV: E=Sophos;i="6.01,232,1684814400"; d="png'150?scan'150,208,217,150";a="22922956"
Received: from BRN1WNEX01.vcorp.ad.vrsn.com (10.173.153.48) by BRN1WNEX01.vcorp.ad.vrsn.com (10.173.153.48) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.27; Wed, 26 Jul 2023 09:22:48 -0400
Received: from BRN1WNEX01.vcorp.ad.vrsn.com ([10.173.153.48]) by BRN1WNEX01.vcorp.ad.vrsn.com ([10.173.153.48]) with mapi id 15.01.2507.027; Wed, 26 Jul 2023 09:22:48 -0400
From: "Gould, James" <jgould@verisign.com>
To: "james.mitchell@iana.org" <james.mitchell@iana.org>, "shollenbeck=40verisign.com@dmarc.ietf.org" <shollenbeck=40verisign.com@dmarc.ietf.org>
CC: "regext@ietf.org" <regext@ietf.org>
Thread-Topic: Re: [regext] [Ext] [DNSOP] Best Practices for Managing Existing Delegations When Deleting a Domain or Host
Thread-Index: AQHZv8RFAkEN4VN540KFD0iYQKecVw==
Date: Wed, 26 Jul 2023 13:22:48 +0000
Message-ID: <861456F8-8638-47C3-822C-F2F0FF3F12DB@verisign.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: yes
X-MS-TNEF-Correlator:
user-agent: Microsoft-MacOutlook/16.75.23070901
x-originating-ip: [10.170.148.18]
Content-Type: multipart/related; boundary="_004_861456F8863847C3822CF2F0FF3F12DBverisigncom_"; type="multipart/alternative"
MIME-Version: 1.0
Archived-At: <https://mailarchive.ietf.org/arch/msg/regext/TVph3Pa9c9Jl-dXFTDkwJ7Afaxg>
Subject: Re: [regext] [Ext] [DNSOP] Best Practices for Managing Existing Delegations When Deleting a Domain or Host
X-BeenThere: regext@ietf.org
X-Mailman-Version: 2.1.39
Precedence: list
List-Id: Registration Protocols Extensions <regext.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/regext>, <mailto:regext-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/regext/>
List-Post: <mailto:regext@ietf.org>
List-Help: <mailto:regext-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/regext>, <mailto:regext-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 26 Jul 2023 13:22:56 -0000

James,

I find your historic EPP server policies to be very interesting.  I provide comments embedded with your points below with a “JG – “ prefix.

--

JG

[cid87442*image001.png@01D960C5.C631DA40]

James Gould
Fellow Engineer
jgould@Verisign.com<applewebdata://13890C55-AAE8-4BF3-A6CE-B4BA42740803/jgould@Verisign.com>

703-948-3271
12061 Bluemont Way
Reston, VA 20190

Verisign.com<http://verisigninc.com/>

From: regext <regext-bounces@ietf.org> on behalf of James Mitchell <james.mitchell@iana.org>
Date: Tuesday, July 25, 2023 at 5:39 PM
To: "Hollenbeck, Scott" <shollenbeck=40verisign.com@dmarc.ietf.org>
Cc: "regext@ietf.org" <regext@ietf.org>
Subject: [EXTERNAL] Re: [regext] [Ext] [DNSOP] Best Practices for Managing Existing Delegations When Deleting a Domain or Host

Feedback my own and not from IANA.

If I recall correctly, the approach I took when building an EPP server several years ago was:

  *   allow deletion of domains with linked subordinate hosts – there is no need to prevent this if the registrar can simply rename the subordinate hosts and free themselves of this restriction

JG - Allowing the deletion of the parent domain with a set of linked child hosts can result in an extremely large OLTP transaction and more importantly can result in severe DNS delegation issues.  This is even more for the bad case of an accidently or maliciously deletion.  There is no way for the registry to know whether the deletion is a good case or a bad case, and with both cases the size of the OLTP transaction can result in system stability issues.  I would not leave the lame delegations, so that means a cascade delete from the parent domain to all child hosts and all name server links to those child hosts.  Imagine if registrar accidentally or maliciously deleted a large ISP domain name (e.g., isp.example) with a large set of child hosts that are linked to thousands of domain names.  There are other bad things a registrar could do, such as putting the clientHold status on the ISP domain name, but that can be easily reversed.  Bad deletes and updates can be protected via a registry lock service, but otherwise the registry needs to reduce the blast radius based on the data it has available.



  *   when the domain is removed from DNS (deletion, but also client/serverHold) then the delegation and any glue is removed from the DNS – queries for the name result in NXDomain. I believe we left lame delegations from other domains for simplicity, but these lame nameservers could also have been pulled from the DNS.

JG – Leaving the lame nameserver delegations in place would be a referential integrity issue in the registry database, assuming that the name server object model is being used.


  *   when the domain is purged, purge all subordinate hosts, including all their nameserver associations, and remove those records from the DNS. At this point there are no NS records with target at or below the deleted domain - no lame delegations.

JG – This moves the large OLTP transaction problem to the backend with the purge.  The DNS resolution issues would have occurred upfront when the parent domain is deleted.


  *   domains with one remaining name server remain published in the DNS

JG – The number of domains linked to the deleted child hosts is non-deterministic, so there will be some that still have active delegating name servers and some that have none after the delete and purge.

It may be worth noting that we used a narrow glue policy - only publish glue address records for name servers below the delegation. A wide glue policy may require slightly different actions to prevent promoting glue records to authoritative.

JG – The glue could be required for all internal hosts.

Host rename always seemed a dangerous operation – we ended up allowing it but restricted to renaming hosts within the same domain, eg ns1.example.com to nsa.example.com, but not to nsa.another-example.com.

JG – The host rename is a real use case that can certainly include renaming outside of the parent domain.  To handle the rename outside of the parent domain with the restricted policy, the registrar would need to create a new internal host or external host and require all linked domain names to be updated to point to it instead of the old host.  There can be thousands of linked domain names that would need to be updated and there is no formal method of communication to inform them to update their domain names.  Did a registrar have an issue with this restriction?

I was not okay with allowing a third-party registrar to prevent deletion of a domain by creating subordinate hosts, and I was not okay by allowing one registrar to change the delegation for another domain (through a rename outside the existing domain boundary).

JG – Is there a use case of wanting to prevent the deletion of a domain by creating child hosts?  This may be a valid use case, but I simply haven’t come across it.

Best,
James Mitchell

On Jul 11, 2023, at 12:07 PM, Hollenbeck, Scott <shollenbeck=40verisign.com@dmarc.ietf.org> wrote:
Folks, we could really use feedback from people with DNS expertise to help
document a set of best practices for managing existing DNS delegations at the
TLD level when EPP domain and host objects are deleted. As described in this
draft:

https://urldefense.com/v3/__https://datatracker.ietf.org/doc/draft-hollenbeck-regext-epp-delete-bcp/__;!!PtGJab4!41ouVfZv-H-PkXJbxqURrX_y9d7JQb9SgFWJPcgp_h5k9ANClcwQBC_sayAWJb2Vf3GsszmkeckGNdzGeTAzkX7_dChe_p3b2Lnb-bPfrw$ [datatracker[.]ietf[.]org]

EPP includes recommendations to not blindly delete objects associated with
existing delegations because, among other reasons, doing so can lead to DNS
resolution failure. That's led some domain name registrars to implement
creative practices that expose domains to risks of both lame delegation [1]
and management hijacking. The draft includes descriptions of current known
practices and suggests that some should be avoided, some are candidates for
"best", and there are others that haven't been used that might also be
candidates for "best". The authors would like to learn if others agree with
our assessments and/or can suggest improvements.

Please help. ICANN's SSAC is also looking at this issue and expert opinions
will help us improve DNS resolution resilience. I plan to mention this quickly
at IETF-117 given that the WG agenda is already full, but on-list discussion
would be extremely valuable.

Scott

[1] As described in draft-ietf-dnsop-rfc8499bis.

_______________________________________________
DNSOP mailing list
DNSOP@ietf.org
https://urldefense.com/v3/__https://www.ietf.org/mailman/listinfo/dnsop__;!!PtGJab4!41ouVfZv-H-PkXJbxqURrX_y9d7JQb9SgFWJPcgp_h5k9ANClcwQBC_sayAWJb2Vf3GsszmkeckGNdzGeTAzkX7_dChe_p3b2Ll6XinPdw$ [ietf[.]org]