Re: [Acme] Support for domains with redundant but not immediately synchronized servers

2016-02-09 Thread Michael Wyraz
Hello Jonas,
>
> > IMO a better way to support your scenario as well as those I
> > described above would be to check for an SRV-Record before checking
> > A-Records. This would be 100% compatible with existing acme http-01
> > clients. In your case you would resolve the SRV record to the
> > machine that has the acme client running on. The acme-server would
> > check for the SRV-Record for an address to lookup the challenge's
> > response at. If no SRV record is specified, it would continue with
> > A and  records.
>
> I am not entirely sure I get what you want to say here. SRV records
> contain not only a host name, but also priorities, weights and ports,
> so I wonder how that information would be used in this context.
>
> Do you suggest to have the client use an SRV record to specify the
> address (including the port?) to which the server connects to complete
> the challenge? In that case, what would the effect of multiple SRV
> records for the target name be?
correct, that's exactly what I meant. Example:

_acme.http-01._tcp.mydomain.com. 3600 INSRV10 1 80
acme.mydomain.com.

For multiple SRV weight/priority should be respected.

Four your case you would resolve www.mydomain.com to several ip addresses:
www.mydomain.com. IN A IP-Address-Server1
www.mydomain.com. IN A IP-Address-Server2

While acme.mydomain.com resolves to a single ip address of the server
where the acme client runs on:
acme.mydomain.com. IN A IP-Address-Server1




signature.asc
Description: OpenPGP digital signature
___
Acme mailing list
Acme@ietf.org
https://www.ietf.org/mailman/listinfo/acme


Re: [Acme] Support for domains with redundant but not immediately synchronized servers

2016-02-09 Thread Michael Wyraz
Hi Jonas,
> So if I understand this correctly, the ACME client would have to set
> (or modify) the SRV records in such a way that the host which is
> currently running the client is the one with the highest priority?
> This sounds like you could just use the DNS challenge, right?
>
> And it is a different use-case from the one I posted initially. If the
> clients were able to modify the DNS properly, I could indeed use the
> dns-01 challenge in my scenario. This is not the case though.
You're right, I missunderstood your use case and thought, the client
only runs on a certain of the servers. Using SRV records will not solve
this special use case.




signature.asc
Description: OpenPGP digital signature
___
Acme mailing list
Acme@ietf.org
https://www.ietf.org/mailman/listinfo/acme


Re: [Acme] Issuing certificates based on Simple HTTP challenges

2015-12-16 Thread Michael Wyraz

>> Either limit the certificate to be only usable from that origin it has been
>> verified from, or somehow get the consent of the domain owner. If not by
>> changing DNS config, it might involve some other mechanism.
> I think you are somewhat confused.  Certificates are not for full
> zones, they only name specific FQDNs.  So a certificate for
> "example.com" is not valid for www.example.com or foo.example.com.
> Similarly, beta.example.com is not good for example.com or
> www.beta.example.com.
>
Peter, I think you missunderstood him. This is not about zones or FQDNs.
It's about the fact that one who can create a cert for mydomain.com via
http-01 (because A-record delegates to him) can use this cert for every
service at domain.com, even when they are located elsewhere (e.g. via MX
or SRV).






signature.asc
Description: OpenPGP digital signature
___
Acme mailing list
Acme@ietf.org
https://www.ietf.org/mailman/listinfo/acme


Re: [Acme] Issuing certificates based on Simple HTTP challenges

2015-12-16 Thread Michael Wyraz
This discussion is more and more about the question if ACME should use a
SRV record instead of a A record (as a replacement).

Personally I think that using an optional SRV record for ACME with
fallback to A record would be the best solution for all use cases. Those
who can not or don't want to setup a SRV record for ACME can use http-01
as it is. Those who sets SRV for ACME can exactly specify which host is
allowed to to ACME http-01.

An optional ACME SRV record in the spec would make all happy: Those who
only have A-record. Those who want to create certs for devices that
cannot answer to the challenge (e.g. switches). Those who have geo-based
dns (while A-record is geo-dependent, ACME SRV would point to one single
location). Those with multiple load-balances backends. And even those
who simply don't want anyone to create certs who has an A-record
delegated to (like Julian, he can simply create such a record and point
it to NIL).

Oh and of course the programmers of the acme client (no change needed
for most-common use case) and server (just a few more lines of
dns-lookup-code to determine the host to which they need to talk for
challenge).

I can't see any drawbacks this change would bring to ACME, LE or it's users.

Kind regards,
Michael.



signature.asc
Description: OpenPGP digital signature
___
Acme mailing list
Acme@ietf.org
https://www.ietf.org/mailman/listinfo/acme


Re: [Acme] Issuing certificates based on Simple HTTP challenges

2015-12-16 Thread Michael Wyraz
Oops, should both be mydomain.com ;-)

> did you mean mydomain.com <http://mydomain.com> and domain.com
> <http://domain.com>, two entirely separate SLDs?
>
> On Wed, Dec 16, 2015 at 2:29 PM, Michael Wyraz <mich...@wyraz.de
> <mailto:mich...@wyraz.de>> wrote:
>
>
> >> Either limit the certificate to be only usable from that origin
> it has been
> >> verified from, or somehow get the consent of the domain owner.
> If not by
> >> changing DNS config, it might involve some other mechanism.
> > I think you are somewhat confused.  Certificates are not for full
> > zones, they only name specific FQDNs.  So a certificate for
> > "example.com <http://example.com>" is not valid for
> www.example.com <http://www.example.com> or foo.example.com
> <http://foo.example.com>.
> > Similarly, beta.example.com <http://beta.example.com> is not
> good for example.com <http://example.com> or
> > www.beta.example.com <http://www.beta.example.com>.
> >
> Peter, I think you missunderstood him. This is not about zones or
> FQDNs.
> It's about the fact that one who can create a cert for
> mydomain.com <http://mydomain.com> via
> http-01 (because A-record delegates to him) can use this cert for
> every
> service at domain.com <http://domain.com>, even when they are
> located elsewhere (e.g. via MX
> or SRV).
>
>
>
>
>
> ___
> Acme mailing list
> Acme@ietf.org <mailto:Acme@ietf.org>
> https://www.ietf.org/mailman/listinfo/acme
>
>
>
>
> -- 
> konklone.com <https://konklone.com> | @konklone
> <https://twitter.com/konklone>



signature.asc
Description: OpenPGP digital signature
___
Acme mailing list
Acme@ietf.org
https://www.ietf.org/mailman/listinfo/acme


Re: [Acme] Issuing certificates based on Simple HTTP challenges

2015-12-16 Thread Michael Wyraz
Phillip,

thank you a lot for this clarification. I meant exactly what you wrote.
Supporting such a  _acme-validate._tcp SRV record would allow people to
de-couple their webserver infrastructure from their certificate
deployment infrastructure and would be a bit advantage for automated
cert generation in more complex setups while leaving the simple setups
be simple.

> On Wed, Dec 16, 2015 at 2:29 PM, Michael Wyraz <mich...@wyraz.de> wrote:
>> This discussion is more and more about the question if ACME should use a
>> SRV record instead of a A record (as a replacement).
>>
>> Personally I think that using an optional SRV record for ACME with
>> fallback to A record would be the best solution for all use cases. Those
>> who can not or don't want to setup a SRV record for ACME can use http-01
>> as it is. Those who sets SRV for ACME can exactly specify which host is
>> allowed to to ACME http-01.
>>
>> An optional ACME SRV record in the spec would make all happy: Those who
>> only have A-record. Those who want to create certs for devices that
>> cannot answer to the challenge (e.g. switches). Those who have geo-based
>> dns (while A-record is geo-dependent, ACME SRV would point to one single
>> location). Those with multiple load-balances backends. And even those
>> who simply don't want anyone to create certs who has an A-record
>> delegated to (like Julian, he can simply create such a record and point
>> it to NIL).
>>
>> Oh and of course the programmers of the acme client (no change needed
>> for most-common use case) and server (just a few more lines of
>> dns-lookup-code to determine the host to which they need to talk for
>> challenge).
>>
>> I can't see any drawbacks this change would bring to ACME, LE or it's users.
> Just a point of clarification. This would be an SRV record for the
> ACME *Challenge response validation protocol*. That is a quite
> different matter from having an SRV record for the ACME protocol.
>
> The difference is that the two go in completely opposite directions
> and identify parties acting in precisely the opposite roles.
>
> So I suggest using _acme-validate._tcp and _acme-issue._tcp for the
> SRV prefixes.
>
>
> This would certainly allow some cleanup of the client implementations.
> I might set up a daemon to run once a day that has a list of all the
> certificates that particular host needs to run. It then fires off a
> cert request for anything that is nearing expiry and then listens for
> a challenge on whatever port the challenge is going to arrive.
>
> In a NAT environment, I would create a separate external domain name
> and SRV record for each host and give each one a different port
> number. These would then fan out to the corresponding cert maintenance
> daemon at the NAT.
>
> The alternative to using SRV would be to do 'something' with CAA. But
> I think that is best reserved for putting an RA key there.
>
> ___
> Acme mailing list
> Acme@ietf.org
> https://www.ietf.org/mailman/listinfo/acme




signature.asc
Description: OpenPGP digital signature
___
Acme mailing list
Acme@ietf.org
https://www.ietf.org/mailman/listinfo/acme


Re: [Acme] Issuing certificates based on Simple HTTP challenges

2015-12-16 Thread Michael Wyraz
Stephen,

I fear I have no idea what you mean with a "suffix list" and such. Maybe
it's what Phillip pointed out in his mail a few minutes ago. I mean a
SRV record for ACME challenge/response that replaces the A record for
this use case if pressent.

Example:
mydomain.com. IN A 1.1.1.1
sub1.mydomain.com. IN A 2.2.2.2
sub2.mydomain.com. IN A 3.3.3.3
_acme-validate._tcp.sub2.mydomain.com. IN SRV 80 acme.mydomain.com.
sub3.mydomain.com. IN A 4.4.4.4
_acme-validate._tcp.sub3.mydomain.com. IN SRV 8080 sub3.mydomain.com.


ACME server would expect the challenge's response:
for mydomain.com at http://mydomain.com/.well-kown/...
for sub1.mydomain.com at http://sub1.mydomain.com/.well-kown/...
for sub2.mydomain.com at http://acme.mydomain.com/.well-kown/...
for sub3.mydomain.com at http://sub3.mydomain.com:8080/.well-kown/...
for subsub.sub2.mydomain.com at
http://subsub.sub2.mydomain.com/.well-kown/...

That's exactly the way MX works for mail and SRV works for those
services that uses it. It behaves exactly as with A, so if the zone contains
other.mydomain.com. IN NS sometwherelse.com.
This NS can A records as well as _acme-validate._tcp SRV records for
other.mydomain.com and all it's subdomains.

So just don't add this SRV record and you will be as happy as you are at
the moment (probably more happy since xmas is comming ;-) )

Kind regards,
Michael.




>
> On 16/12/15 19:29, Michael Wyraz wrote:
>> An optional ACME SRV record in the spec would make all happy:
> tl;dr: No, it would not make me happy and I will object to it.
>
> Sorry about that but it's just a bad idea;-)
>
> We'd need something like the public suffix list for that to
> work. I really don't want the basic mechanism for acme to
> depend on dbound. [1] If someone suggests walking the DNS
> tree to find the RR, then that'll not be accepted by DNS
> folks - there's lots of history for how that discussion
> goes.
>
> And even if/when the public suffix issue is sorted, it'd
> still be a bad idea for people in my specific situation.
> For example, a record in tcd.ie (which is the correct public
> suffix) could prevent me from getting down.dsg.cs.tcd.ie certified
> even though the nearest real DNS authority is for cs.tcd.ie who
> probably would not publish such a record. That would push me
> back to using self-signed certs which would mean that acme was
> a step backwards, not forwards. Again, I don't know what the
> numbers are like for folks in my situation, but every time I
> have described it, people have recognised it as not uncommon.
>
> And even if none of that were an issue, I want (me and others)
> to be able to use acme to deal with CAs without there being
> a new complex RA interaction as a part of the basic mode of
> operation. An optional SRV scheme would inevitably evolve to
> have that level of complexity. In my case, cs.tcd.ie if they
> wanted to publish such a record would need a way to point to
> different PIs (i.e. people) in the department as being the
> ones who were responsible for authorizing certification
> requests. And those people would decide to delegate that to
> some student, so we'd have all sorts of non-trivial delegation
> issues to tackle if the SRV scheme is to be well-defined.
> Even optional things need to be well-defined.
>
> By all means define an SRV based challenge but I will argue
> strongly against it's inclusion as an option in the basic
> mechanism. I will also argue against the basic mechanism
> having any documentation dependency on such a scheme (because
> I think it'll take 1-2 more years to get done right). OTOH,
> if acme gets the basics done and soon and deployed, then I'll
> be happy to try help with subsequent work on RA features.
>
> Cheers,
> S.
>
> [1] https://tools.ietf.org/wg/dbound/
>




signature.asc
Description: OpenPGP digital signature
___
Acme mailing list
Acme@ietf.org
https://www.ietf.org/mailman/listinfo/acme