Re: [Acme] dns-01 challenge limitations

Michael Richardson <mcr@sandelman.ca> Fri, 11 September 2020 19:45 UTC

Return-Path: <mcr@sandelman.ca>
X-Original-To: acme@ietfa.amsl.com
Delivered-To: acme@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 070683A041C for <acme@ietfa.amsl.com>; Fri, 11 Sep 2020 12:45:33 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.899
X-Spam-Level:
X-Spam-Status: No, score=-1.899 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=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 POt9v_DN5UgW for <acme@ietfa.amsl.com>; Fri, 11 Sep 2020 12:45:31 -0700 (PDT)
Received: from tuna.sandelman.ca (tuna.sandelman.ca [209.87.249.19]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 051C23A041B for <acme@ietf.org>; Fri, 11 Sep 2020 12:45:30 -0700 (PDT)
Received: from localhost (localhost [127.0.0.1]) by tuna.sandelman.ca (Postfix) with ESMTP id 0C71D389BB for <acme@ietf.org>; Fri, 11 Sep 2020 15:24:17 -0400 (EDT)
Received: from tuna.sandelman.ca ([127.0.0.1]) by localhost (localhost [127.0.0.1]) (amavisd-new, port 10024) with LMTP id HbfOWlFcyEmI for <acme@ietf.org>; Fri, 11 Sep 2020 15:24:15 -0400 (EDT)
Received: from sandelman.ca (obiwan.sandelman.ca [IPv6:2607:f0b0:f:2::247]) by tuna.sandelman.ca (Postfix) with ESMTP id BD33A389B9 for <acme@ietf.org>; Fri, 11 Sep 2020 15:24:15 -0400 (EDT)
Received: from localhost (localhost [IPv6:::1]) by sandelman.ca (Postfix) with ESMTP id 4A8947B for <acme@ietf.org>; Fri, 11 Sep 2020 15:45:28 -0400 (EDT)
From: Michael Richardson <mcr@sandelman.ca>
To: "acme@ietf.org" <acme@ietf.org>
In-Reply-To: <20200911160722.GA1530059@LK-Perkele-VII>
References: <uu-OR5wP1b7svN1Rxems1U8_axHG7M8M9_kYqTBVyhQFxqrddppvhasyxKtLQ-4AZkrbBWhJ_9V-Xs8mQBK5E4smP4_1vANgZazIwicsbq0=@emersion.fr> <394568F0-00BD-4789-8CF4-C1A00A078B6E@felipegasper.com> <uTb0VcadGuNvEnDsg15ER29Kge26GImPfZ-JqS6iFkGXEn4DOFmq8V-hAb32lZNpv6r5rtfrZn6pihdDQkyts_I6BK4tni8CNMYC2RgSorU=@emersion.fr> <b506a8dd-fbf4-0c32-9ff5-30334436ee3a@amplitut.de> <20200911160722.GA1530059@LK-Perkele-VII>
X-Mailer: MH-E 8.6+git; nmh 1.7+dev; GNU Emacs 26.1
X-Face: $\n1pF)h^`}$H>Hk{L"x@)JS7<%Az}5RyS@k9X%29-lHB$Ti.V>2bi.~ehC0; <'$9xN5Ub# z!G,p`nR&p7Fz@^UXIn156S8.~^@MJ*mMsD7=QFeq%AL4m<nPbLgmtKK-5dC@#:k
MIME-Version: 1.0
Content-Type: multipart/signed; boundary="=-=-="; micalg="pgp-sha512"; protocol="application/pgp-signature"
Date: Fri, 11 Sep 2020 15:45:28 -0400
Message-ID: <6902.1599853528@localhost>
Archived-At: <https://mailarchive.ietf.org/arch/msg/acme/AWiAZYUWSW-pIqRaLuGq1p-BBFI>
Subject: Re: [Acme] dns-01 challenge limitations
X-BeenThere: acme@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Automated Certificate Management Environment <acme.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/acme>, <mailto:acme-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/acme/>
List-Post: <mailto:acme@ietf.org>
List-Help: <mailto:acme-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/acme>, <mailto:acme-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 11 Sep 2020 19:45:33 -0000

Ilari Liusvaara <ilariliusvaara@welho.com> wrote:
    >> For now, this is for many ACME clients a manual step. If you run your
    >> authoritative DNS service locally in your network, perhaps you could
    >> look into any options for automatically update the zone content.

    > I think the current best way is to have _acme-challenge be a CNAME
    > pointing to zone served by single master with no slaves that accepts
    > DNS UPDATE with TSIG HMAC-SHA256 authentication for ACME client to
    > update the records.

That's precisely what I do.
I do it because bind9 does not do well when zones are managed by updates as
well as manual edits.   So I CNAME to a single (sub)zone where it is all
updates.

    > The single master is more than reliable enough for the purpose (as
    > there should be donzens of retries spread over time for renewal before
    > the certificate expires) and eliminates the propagation times.

I do have multiple masters, and I mean to program a query to all NS to see if
the update has propogated, but for now, I "sleep(30)", which is definitely
sub-optimal in the best cases, and a failure if there are problems.
So far, it works great.

--
]               Never tell me the odds!                 | ipv6 mesh networks [
]   Michael Richardson, Sandelman Software Works        |    IoT architect   [
]     mcr@sandelman.ca  http://www.sandelman.ca/        |   ruby on rails    [