The rate limits alone seem to be a potential danger if they need to reissue new certificates for their 65,000 servers.
The rate limits alone seem to be a potential danger if they need to reissue new certificates for their 65,000 servers.
Reissuing certificates shouldn't be a problem since Let's Encrypt has a rate limit exception for renewals, though if I were managing 65,000 servers I'd be a little hesitant to put that kind of burden on Let's Encrypt's infrastructure without contacting them first, just as a matter of courtesy.
it’s less secure — you’re trusting (many) third parties with your security and relying on the security of DNS
it’s less flexible — you can’t sign certificates with internal names (e.g., *.cluster.local) and certs must be for 90 days, etc
it’s kind of hacky — you have to work around rate limits and whatnot because Let’s Encrypt wasn’t designed for this use case
The advantage is it’s easier. But that’s arguable. What the article describes isn’t easy. Using something like cfssl (https://github.com/cloudflare/cfssl) or vault (https://github.com/hashicorp/vault) or step certificates (https://github.com/smallstep/certificates) (which I work on) is probably easier and definitely better for internal services.
For service-to-service stuff and APIs the number of TLS clients that respect pinning is approximately zero.
Either way, the other problems remain, and running an internal PKI is really pretty easy.
Also, using Let's Encrypt doesn't stop you from certificate pinning.
There are far too many ways to self-DoS accidentally with HPKP. Also, an attacker who briefly gains control of your public DNS or web server can DoS a hostname semi-permanently.
You're trusting those third parties regardless of if you use your own PKI, because browsers already trust all those root CAs anyways.
https://community.letsencrypt.org/t/rate-limits-fixing-certs...
Even if you do have an expert available, it's a sound choice.
I remember seeing a good tut on this once... but can't find it atm.