web-dev-qa-db-fra.com

Le sous-domaine _acme-Challenge est-il protégé?

Je cherchais dans le défi DNS-01 de crypter de crypter; Et j'ai eu une question sur le processus de sous-domaine [1].

Disons-nous, le site Site Exemple.com donne des sous-domaines gratuits; Qu'est-ce qui m'arrête de demander un certificat de carte générique chiffré pour * .example.com, en réclamant le sous-domaine _acme-challenge.example.com pour traiter le défi DNS-01?

Y a-t-il quelque chose dans le protocole ACME (ou autre chose) qui m'empêche de faire cela?

[1] = https://letsencrypt.org/docs/challenge-types/#dns-01-challenge

4
Ceesz

En règle générale, les sites fournissant des sous-domaines gratuits/personnalisés fournissent des enregistrements A, tandis que le défi ACME DNS-01 nécessite d'ajouter un enregistrement TXT. Cela ferait ce que vous suggérez très improbable.

Si un site permet d'ajouter des enregistrements arbitraires TXT enregistrements pour les sous-domaines et ne réserve pas le _acme-challenge, alors il n'y a rien dans le protocole qui empêcherait d'abuser d'une telle caractéristique, et ce serait un service vulnérable. Cependant, c'est un cas d'utilisation si rare que personne ne considère exclusivement que lors de la conception de protocoles comme celui-ci.

Heureusement, si cela se produit, crypterons des certificats expirera dans trois mois et il est également possible de révoquer le certificat Même sans accès à sa clé privée, juste pour des cas comme celui-ci:

Si une personne a émis un certificat après compromettre votre hôte ou votre DNS, vous voudrez révoquer ce certificat une fois que vous avez repris le contrôle. Afin de révoquer le certificat, cryptez devrypy devrypreront de contrôler les noms de domaine dans ce certificat (sinon, les personnes pourraient révoquer les certificats de chacun sans permission)! Pour valider ce contrôle, crypterons les mêmes méthodes qu'il utilise pour valider le contrôle de l'émission: vous pouvez mettre une valeur dans un fichier DNS TXT ou mettre un fichier sur un serveur HTTP. -

Une fois que vous avez validé le contrôle de tous les noms de domaine du certificat que vous souhaitez révoquer, vous pouvez télécharger le certificat de CRT.SH, puis procéder pour révoquer le certificat comme si vous l'aviez émis:

certbot revoke --cert-path /PATH/TO/downloaded-cert.pem
5
Esa Jokinen