On 08/07/2019 10:43, Dominik Menke wrote:
To ease future TLS deployments, I'd like to use something like lego [2] to get certificates from Let's Encrypt using the dns-01 challenge [3]; which requires me to enable the web/api server.

Or you can use dynamic DNS updates with TSIG:

https://doc.powerdns.com/authoritative/dnsupdate.html

https://go-acme.github.io/lego/dns/rfc2136/



1. How do I restrict API access to only add/remove TXT records for
   _acme-challenge labels?

What I do is create separate zones for each _acme-challenge.foo.bar.com, with dynamic updates enabled.  Each domain can have its own TSIG key, so clients can only sign certificates for the names they are authorized for.




A collegue of mine suggested delegating _acme-challenge subdomains to a dedicated DNS server, like acme-dns [6], but that still requires a bunch of CNAME records for some (most?) of our A/AAAA records (plus a separate server/IP just for ACME challenges)...

That's how I do it. However I stopped using CNAME, and switched to using a single NS records to do the delegation to the separate server.

As a side benefit, the single NS record means you don't have to allow for DNS replication delays.  The one nameserver which accepts the dynamic updates is also the one nameserver which Letsencrypt checks the challenge/response against.

Regards,

Brian.

_______________________________________________
Pdns-users mailing list
Pdns-users@mailman.powerdns.com
https://mailman.powerdns.com/mailman/listinfo/pdns-users

Reply via email to