web-dev-qa-db-ja.com

_acme-challengeサブドメインは保護されていますか?

Let's EncryptのDNS-01チャレンジを調べていたところ、サブドメインプロセス[1]について質問がありました。

たとえば、ウェブサイトexample.comが無料のサブドメインを提供しているとします。 DNS-01チャレンジを処理するために*.example.comサブドメインを要求することによって、_acme-challenge.example.comのLet's Encryptワイルドカード証明書をリクエストするのを止める理由は何ですか?

ACMEプロトコル(または他の何か)にこれを妨げる何かがありますか?

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

1
Ceesz

通常、無料/カスタムサブドメインを提供するサイトはAレコードを提供していますが、ACME DNS-01チャレンジではTXTレコードを追加する必要があります。これはあなたが提案するものを作るでしょう非常にありません

サイトがサブドメインの任意のTXTレコードの追加を許可し、_acme-challengeを予約しない場合、そのような機能の悪用を防ぐプロトコルはなく、脆弱なサービスになります。ただし、これはあまり一般的ではないユースケースであるため、このようなプロトコルを設計する場合、誰もそれを排他的に考慮しません。

幸いにも、これが発生した場合、Let's Encrypt証明書は3か月で有効期限が切れます。また、次のような場合にのみ、秘密キーにアクセスしなくても 証明書を取り消す を行うこともできます。

ホストまたはDNSが危険にさらされた後に誰かが証明書を発行した場合、制御を取り戻したらその証明書を失効させる必要があります。証明書を取り消すには、Let’s Encryptがその証明書のドメイン名を制御していることを確認する必要があります(そうしないと、他の人が許可なくお互いの証明書を取り消す可能性があります)。このコントロールを検証するために、Let’s Encryptはコントロールの発行を検証するために使用するのと同じ方法を使用します。値をDNS TXTレコードに置くか、ファイルをHTTPサーバーに置くことができます。--

取り消す証明書のすべてのドメイン名の制御を検証したら、証明書をcrt.shからダウンロードして、発行したかのように証明書を取り消すことができます。

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