Domain-Name-System

子域 _acme-challenge 是否受到保護?

  • April 21, 2020

我正在研究 Let’s Encrypt 的 DNS-01 挑戰;我有一個關於子域程序的問題

$$ 1 $$. 比方說,網站 example.com 提供免費的子域;是什麼阻止我通過聲明 _acme-challenge.example.com 子域來處理 DNS-01 質詢來為 *.example.com 請求 Let’s Encrypt 萬用字元證書?

ACME 協議(或其他任何內容)中是否有任何內容阻止我這樣做?

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

通常,提供免費/自定義子域的站點提供A記錄,而 ACME DNS-01 挑戰需要添加TXT記錄。這將使您的建議不太可能

如果一個站點允許為子域添加任意TXT記錄並且不保留_acme-challenge,那麼協議中沒有任何內容可以防止濫用此類功能,並且它將是一個易受攻擊的服務。然而,這是一個非常罕見的案例,以至於在設計這樣的協議時沒有人會專門考慮這一點。

幸運的是,如果發生這種情況,Let’s Encrypt 證書將在三個月後過期,並且即使無法訪問其私鑰,也可以撤銷證書,僅適用於以下情況:

如果有人在破壞您的主機或 DNS 後頒發了證書,您將希望在重新獲得控制權後撤銷該證書。為了撤銷證書,Let’s Encrypt 需要確保您控制該證書中的域名(否則人們可以在未經許可的情況下撤銷彼此的證書)!為驗證此控制,Let’s Encrypt 使用與驗證發布控制相同的方法:您可以將值放入 DNS TXT 記錄或將文件放入 HTTP 伺服器。- -

一旦您驗證了對要撤銷的證書中所有域名的控制權,您可以從 crt.sh 下載證書,然後像頒發證書一樣繼續撤銷證書:

certbot revoke --cert-path /PATH/TO/downloaded-cert.pem

引用自:https://serverfault.com/questions/1013348