2

First, some background: The DNS-01 verification method of Let's Encrypt requires you to add a TXT record to a special subdomain your domain name to prove your identity. With ACMEv2, this can allow you to get a wildcard certificate, which worries me (see below). The HTTP-01 verification method proves your identity by requiring you to add a file to .well-known/acme-challenge diretory. The HTTP-01 method does not allow the issuing of wildcard certificates.

Let's say that I register a domain with a DDNS (Dynamic DNS) provider. I get a subdomain (mysite.dnsprovider.example) and I secure it using a Let's Encrypt certificate using the HTTP-01 challenge. I install it and go on with my day, assuming my site is secure. But couldn't the DDNS provider request a certificate for *.dnsprovider.example using the DNS-01 and pretend to be my website with that certificate? There seems to be nothing stopping them from doing that and this seems to be critically detrimental to the security of my website. If anything I've made it easier for the provider to MitM my website since I've told them the IP address of my server. A potential way I've found to secure it is HPKP. I've read into HPKP but it's deprecated now and I highly doubt any major browsers still support it after so long. I know that I could always purchase a separate domain name, but assume that purchasing a domain name is not a viable option in this case. Besides getting a new domain name or HPKP, is there anything else I could do to avoid or at least mitigate this type of problem?

Note: I understand that Let's Encrypt's certificate issuance process is meant to be automated, but please also assume that manually configuring something on the server every time a new certificate is issued is feasible.

This question is similar to Is the _acme-challenge subdomain protected? but the key difference is that this question assumes that the second-level domain operator is the potential bad actor instead of someone requesting a third-level subdomain.

1
  • At the core of your problem is a non problem: you are using a name that is not really directly yours but given to you by a provider. Then, yes, obviously, you are at the mercy of this provider! If you do not want to have this problem, register a name to be yours (and then yes, technically you are still at the mercy of the registrar, DNS provider, registry, ICANN and the US government, at least). Commented Jun 2, 2020 at 1:22

2 Answers 2

5

Yes, the DDNS provider could issue a wildcard certificate. It could also send your visitors to another IP address, because the provider has control over the DNS entries of your subdomain. (Without a complicated MitM setup)

Given the constraints (no own domain name), you have to trust your DDNS provider to not spy on your visitors.

However, all new official certificates have to be documented in a certificate transparency log (rfc6962) to be trusted by Chrome and Safari (Firefox sadly does not offer this feature as of today). By checking these logs, you can find out if someone (e.g. your provider) has issued a certificate for your domain (or a wildcard certificate that includes your domain). You can check these logs at crt.sh.

To sum up, you can't prevent it, only detect it.

1
  • 2
    This is also the reason why you shouldn't go with a subdomain provider and instead buy a full domain. The cost for a "personal" domain that isn't super SEO-optimized is very very low
    – user163495
    Commented May 8, 2020 at 21:57
1

EDIT: I misunderstood part of the question as per @Lukas 's comment. I agree the top level domain owner can create a wildcard certificate that can be used to the detriment of the security of your own subdomain.

I believe you cannot get certificates for a domain you don't own.

In your example you could get one for *.mysite.dnsprovider.example since conceptually you own mysite.dnsprovider.example, but not for *.dnsprovider.example because the verification token would have had to be added to the authoritative name servers for dnsprovider.example which, I infer, you don't control.

2
  • 1
    The author of the question fears that the domain owner of dnsprovider.example might spy on them. And of course, the owner of the domain can get a wildcard certificate for it.
    – Lukas
    Commented May 8, 2020 at 21:34
  • Ah, I misunderstood that. And I agree it's a problem.
    – Pedro
    Commented May 8, 2020 at 21:36

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .