←back to thread

62 points terminalbraid | 2 comments | | HN request time: 0.492s | source
Show context
infogulch ◴[] No.43563676[source]
Glad to see DNS validation from multiple perspectives, that's a scary attack vector.

I wonder if we can ever hope for CA/B to permit name constrained, short lifespan, automatically issued intermediate CAs, authenticated with something like a DNS-01 challenge. I've advocated for this before [1][2], but here's my pitch again:

I want to issue certificates from my own ICA for my homelab and office, to avoid ratelimits and hide hostnames for private services. I submit that issuing a 90-day ICA certificate with a name constraint that only allows it to issue certificates for the specific domain is no more dangerous than issuing a wildcard certificate, and offers enough utility that it should be considered seriously.

Objection 1: "Just use a wildcard cert." Wildcard certs are not sufficient here because they don't support nested wildcards, and — more importantly — they don't allow you to isolate hosts since any host can serve all subdomains. I'd rather not give some rando vibecoded nodejs app the same certificate that I use to handle auth.

Objection 2: "Just install a self-signed CA on all your devices." Installing and managing self-signed CAs on every device is tedious, error prone, and arguably more dangerous than issuing a 90-day name-constrained ICA.

Objection 3: "Aren't name constraints not supported by all clients?" On the contrary, they've had wide support for almost a decade, and for those just set the critical bit.

I understand this is not a "just ship it lmao" kind of change, but if we want this by 2030 planning for it needs to start happening now.

[1]: https://news.ycombinator.com/item?id=37537689

[2]: https://news.ycombinator.com/item?id=29808233

replies(4): >>43568221 #>>43568559 #>>43569375 #>>43590226 #
1. gruez ◴[] No.43568559[source]
>Wildcard certs are not sufficient here because they don't support nested wildcards

How many levels of dots do you need?

>I'd rather not give some rando vibecoded nodejs app the same certificate that I use to handle auth.

Use a reverse proxy to handle TLS instead?

replies(1): >>43569266 #
2. infogulch ◴[] No.43569266[source]
I want to give every device its own certificate to authenticate it with others via headscale to facilitate web development collaboration and authenticate remote management. I want to have a lightweight forward proxy in a semi-trusted remote VPS to proxy email at a particular domain down to my local mail server. I want to delegate maintenance of some application to a particular department. I want microservices run by different teams to communicate via authenticated TLS. I want to run web services in my mars data center without wasting precious bandwidth on thousands of redundant ACME requests. Etc, etc, etc.

In all of these cases it would be idiotic to distribute the same wildcard cert to each host. And please don't say "you just shouldn't want to do that".