Re: [Acme] Well Known CA->client poll on port 80/443 in http-acme

Ilari Liusvaara <ilariliusvaara@welho.com> Sun, 15 January 2017 17:37 UTC

Return-Path: <ilariliusvaara@welho.com>
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 D1C1112963A for <acme@ietfa.amsl.com>; Sun, 15 Jan 2017 09:37:04 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -3.199
X-Spam-Level:
X-Spam-Status: No, score=-3.199 tagged_above=-999 required=5 tests=[RCVD_IN_DNSWL_NONE=-0.0001, RP_MATCHES_RCVD=-3.199] 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 vMWKptz42jA1 for <acme@ietfa.amsl.com>; Sun, 15 Jan 2017 09:37:03 -0800 (PST)
Received: from welho-filter4.welho.com (welho-filter4.welho.com [83.102.41.26]) by ietfa.amsl.com (Postfix) with ESMTP id ACAB512947E for <acme@ietf.org>; Sun, 15 Jan 2017 09:37:02 -0800 (PST)
Received: from localhost (localhost [127.0.0.1]) by welho-filter4.welho.com (Postfix) with ESMTP id BA5F1192B2; Sun, 15 Jan 2017 19:37:00 +0200 (EET)
X-Virus-Scanned: Debian amavisd-new at pp.htv.fi
Received: from welho-smtp1.welho.com ([IPv6:::ffff:83.102.41.84]) by localhost (welho-filter4.welho.com [::ffff:83.102.41.26]) (amavisd-new, port 10024) with ESMTP id S53zToUUZVhn; Sun, 15 Jan 2017 19:37:00 +0200 (EET)
Received: from LK-Perkele-V2 (87-92-51-204.bb.dnainternet.fi [87.92.51.204]) (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by welho-smtp1.welho.com (Postfix) with ESMTPSA id 5F4A9C4; Sun, 15 Jan 2017 19:37:00 +0200 (EET)
Date: Sun, 15 Jan 2017 19:36:59 +0200
From: Ilari Liusvaara <ilariliusvaara@welho.com>
To: Dirk-Willem van Gulik <dirkx@webweaving.org>
Message-ID: <20170115173659.GA27033@LK-Perkele-V2.elisa-laajakaista.fi>
References: <9099A621-D460-47B6-9172-0984CF3A0DC8@webweaving.org> <20170115140330.GA26429@LK-Perkele-V2.elisa-laajakaista.fi> <6AEBC4C9-FA1B-4672-AE58-15C165722B30@webweaving.org> <20170115142931.GB26429@LK-Perkele-V2.elisa-laajakaista.fi> <65DAC165-2700-4DA5-A492-28B1F2E60541@webweaving.org> <20170115150407.GA26702@LK-Perkele-V2.elisa-laajakaista.fi> <CD5EBC6C-456C-4A08-AE98-4166F2270E77@webweaving.org>
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <CD5EBC6C-456C-4A08-AE98-4166F2270E77@webweaving.org>
User-Agent: Mutt/1.5.23 (2014-03-12)
Sender: ilariliusvaara@welho.com
Archived-At: <https://mailarchive.ietf.org/arch/msg/acme/a3dPifCPiXNiM8pEqayN6yENlNI>
Cc: acme@ietf.org
Subject: Re: [Acme] Well Known CA->client poll on port 80/443 in http-acme
X-BeenThere: acme@ietf.org
X-Mailman-Version: 2.1.17
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: Sun, 15 Jan 2017 17:37:05 -0000

On Sun, Jan 15, 2017 at 05:59:43PM +0100, Dirk-Willem van Gulik wrote:
> 
> We have sufficient infrastructure for that in apache and its
> APR utility library.
> 
> I am trying to understand enough of the considerations of ACME
> (such as the choise for the the ‘Authorized Ports’ list as defined
> in that CABForum BR) to help me make the right trade offs between
> a) bringing the webserver up in a relatively insecure fashion for
> a short period of time and getting the business of (re)new cert’s
> over as robustly as possible v.s. spinning up much more surface of
> things that can confuse -or- go wrong (including apache its normal
> devolved setuid()/chroot() post forking & opening the < 1024 sockets),
> are expensive to maintain or prone to abuse.

There's also the fact that HTTP-01 will follow redirects to https://
(just the initial request has to be http://), ignoring certificate
validity.

> And secondly I am trying to come to grips with the advent of 
> virtualisation & containerisation causing the concepts of virtual
> hosts to change; rather than have 10’s of thousands of VHOSTs in a
> single config/binary; all listening to all IP’s on port 80 - so common
> at the turn of the century - one now  increasingly sees a lot of port
> mapping - where in effect each httpd runs ‘alone’, in a container, with
> a single vhost config - albeit on a funny port. 

The funny ports are because one can't get enough IPv4 address space
to give each container its own address?

> Which may, or may not be, mapped to some IP:80 or through some LB/fan-out
> proxy that has a FQDN->internal IP & port table. Software defined
> networking seems to favour the latter.
> 
> But the net effect is that that makes the listening on port 80 for a FQDN
> that is elsewhere configured to be visible on just a single IP:443 (mapped
> to -> internal-ip + high port) rather much out of reach. As a listen *:80
> is no longer effective. Especially for the cohort of users for whom the
> scripting is already out of reach.

Well, if the port 80 on the same external IP could be configured to serve
a redirect to https for validation requests (which is just a static
mapping per FQDN), then those requests would presumably be sent to the
container.

That is, rule of form: http://foo.example/.well-known/acme-challenge/bar
-> https://foo.example/.well-known/acme-challenge/bar 

And the secondary requests also AFAIK have SNI on TLS level, so one can
route on that too.


-Ilari