Re: [Acme] Content-Type and file extensions for HTTP01 challenges

Niklas Keller <me@kelunik.com> Fri, 13 November 2015 14:24 UTC

Return-Path: <me@kelunik.com>
X-Original-To: acme@ietfa.amsl.com
Delivered-To: acme@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 99C841A890F for <acme@ietfa.amsl.com>; Fri, 13 Nov 2015 06:24:17 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.027
X-Spam-Level:
X-Spam-Status: No, score=-1.027 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FM_FORGED_GMAIL=0.622, HELO_EQ_DE=0.35, HTML_MESSAGE=0.001] autolearn=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 Po2QRZEzSTF9 for <acme@ietfa.amsl.com>; Fri, 13 Nov 2015 06:24:15 -0800 (PST)
Received: from mo6-p00-ob.smtp.rzone.de (mo6-p00-ob.smtp.rzone.de [IPv6:2a01:238:20a:202:5300::11]) (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 82DAE1A8901 for <acme@ietf.org>; Fri, 13 Nov 2015 06:24:14 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; t=1447424652; l=4201; s=domk; d=kelunik.com; h=Content-Type:Cc:To:From:Subject:Date:References:In-Reply-To: MIME-Version; bh=XV8GgR/KJFC+S4DZilqn3xOWx8G0MyYeh73D8xHlvBA=; b=tsTMjMHvKoUrhbO5UzeI86S7/HJ1yQtl9m7zi1npEUTunc6u3+xI0clUqPGpOcshJ4l msV9GnBWmNCw3b3nbiEImJaI3w/ohEgOXPWQ2Z8WeZGa3jsw7FmSsKDhJ8eYu/gLM4WeC Bg112Cc4bgNrsj15lkaL7mf/n4ExBlTYU2A=
X-RZG-AUTH: :IWkkfkWkbvHsXQGmRYmUo9mls2vWuiu+7SLGvomb4bl9EfHtO3A6
X-RZG-CLASS-ID: mo00
Received: from mail-wm0-f43.google.com ([74.125.82.43]) by smtp.strato.de (RZmta 37.14 AUTH) with ESMTPSA id m02a2frADEOCn9v (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA (curve secp384r1 with 384 ECDH bits, eq. 7680 bits RSA)) (Client did not present a certificate) for <acme@ietf.org>; Fri, 13 Nov 2015 15:24:12 +0100 (CET)
Received: by wmec201 with SMTP id c201so32807475wme.1 for <acme@ietf.org>; Fri, 13 Nov 2015 06:24:12 -0800 (PST)
MIME-Version: 1.0
X-Received: by 10.28.64.11 with SMTP id n11mr3886970wma.37.1447424652080; Fri, 13 Nov 2015 06:24:12 -0800 (PST)
Received: by 10.194.2.171 with HTTP; Fri, 13 Nov 2015 06:24:12 -0800 (PST)
In-Reply-To: <CAL02cgS5Fz7Z9i7xheMU+ANF0ow4a=Uw-SDdtYYrvMt3hsjSVA@mail.gmail.com>
References: <20151113004436.GB18430@eff.org> <CABkgnnU5EzaPA4o7OgnTBpSQCZxjD+QsSV=4_L2rOBeFAoauKA@mail.gmail.com> <20151113011259.GC18430@eff.org> <CANUQDCg6xK3esWSWbM3j8p+ywDBrVa+_4bofHtymsYf0SPeFbw@mail.gmail.com> <CAL02cgS5Fz7Z9i7xheMU+ANF0ow4a=Uw-SDdtYYrvMt3hsjSVA@mail.gmail.com>
Date: Fri, 13 Nov 2015 15:24:12 +0100
X-Gmail-Original-Message-ID: <CANUQDCh4wT2U5DT2Q0A2CPNh=4Eu6hgMgJ7PZ-fymGB0AfL2BA@mail.gmail.com>
Message-ID: <CANUQDCh4wT2U5DT2Q0A2CPNh=4Eu6hgMgJ7PZ-fymGB0AfL2BA@mail.gmail.com>
From: Niklas Keller <me@kelunik.com>
To: Richard Barnes <rlb@ipv.sx>
Content-Type: multipart/alternative; boundary="001a114b2d063a033705246cd0a3"
Archived-At: <http://mailarchive.ietf.org/arch/msg/acme/Q8Bq5TJU1JAOVom85iNkwoXelxU>
Cc: Peter Eckersley <pde@eff.org>, Martin Thomson <martin.thomson@gmail.com>, "acme@ietf.org" <acme@ietf.org>
Subject: Re: [Acme] Content-Type and file extensions for HTTP01 challenges
X-BeenThere: acme@ietf.org
X-Mailman-Version: 2.1.15
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, 13 Nov 2015 14:24:17 -0000

2015-11-13 14:56 GMT+01:00 Richard Barnes <rlb@ipv.sx>:

> Like I said before, the question here is not dropped file protection.
> That's something that admins need to prevent explicitly.  (If you're
> allowing untrusted clients to write to .well-known, they can already
> hijack your domain in several ways [1].)  The question here is whether
> we need to allow file extensions to avoid issues in deployment with
> some servers.
>
> I would still like to avoid adding a file extension, but supposing we
> did, what would it look like?  We can't just have the client
> unilaterally add an extension without telling the server, since the
> server needs to know what URI to query to get the validation response.
> ISTM that the right answer here would be to generalize and have the
> client specify the file name within .well-known/acme-challenge/ and
> send it to the server in its response.
>

Is there any reason to avoid a file extension? If we don't care about the
content-type header, it doesn't matter. If we want a specific content-type
header, a file extension seems like the best idea to me.

If we decide on an extension, there should be one and then the server
knows the URI again, I don't see any problem here.

Regards, Niklas


> I'm not crazy about that solution, but I could probably live with it
> if we decide that it's too hard for admins to hack around having a
> standard name.  The only additional threat scenario that occurs to me
> is if there's some name within .well-known/acme-challenge/ that an
> untrusted client could co-opt into serving his challenge response
> (e.g., a simlink to untrusted).