> On 15 Jan 2017, at 18:36, Ilari Liusvaara <ilariliusva...@welho.com> wrote:
> 
> 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.

That is indeed the alternative — surmise that as the user (no matter how VM’s, 
containers, virtual load balancers or whatever is configured) will want to end 
up visible on port 443 with a cert — we focus on some blind http->https 
redirect which can be configured in bulk; and always bring up an TLS+SSL on 443 
with a self signed cert if we do not yet have an acme cert (and using the same 
private key for thus).

Dw.
_______________________________________________
Acme mailing list
Acme@ietf.org
https://www.ietf.org/mailman/listinfo/acme

Reply via email to