DNS-Persist-01: A New Model for DNS-Based Challenge Validation
Hacker News
Let’s Encrypt is implementing DNS-PERSIST-01, a new ACME challenge type that replaces repeated token updates with a persistent authorization record bound to a specific account and CA.
Let’s Encrypt 宣布將支援全新的 ACME 驗證標準 DNS-PERSIST-01,旨在解決傳統 DNS-01 驗證在自動化過程中的痛點。過去為了證明網域控制權,使用者必須在每次憑證申請或續期時頻繁更新 DNS 的 TXT 紀錄,這不僅造成傳播延遲,也迫使開發者必須將具備寫入權限的 DNS API 憑證散佈在各個基礎設施節點中,增加了資安風險。
社群觀點
Hacker News 的討論主要圍繞在安全性與隱私權的權衡。許多開發者對這項新標準表示歡迎,認為它解決了長期以來維護 DNS-01 自動化腳本的穩定性問題,特別是對於那些不希望將 DNS 寫入權限暴露在生產環境中的團隊來說,DNS-PERSIST-01 提供了一種更為靜態且易於管理的授權方式。然而,這種將授權與特定 ACME 帳戶綁定並公開於 DNS 紀錄的做法,也引發了關於隱私與攻擊面擴張的疑慮。
部分留言者擔心,將 ACME 帳戶的 URI 直接以明文形式放在 DNS 紀錄中,會讓如 Shodan 這類的掃描引擎輕易地將不同的網域關聯到同一個帳戶身分。這種身分暴露可能導致「範圍擴張」的風險,一旦某個帳戶的私鑰遭竊,攻擊者就能迅速識別出該帳戶所擁有的所有網域並進行偽造。針對此點,有討論建議應使用隨機生成的 UUID 或雜湊值來替代帳戶 URI,以達成去識別化。不過,Let’s Encrypt 的工程師在討論中澄清,ACME 帳戶本身並不包含傳統意義上的用戶名,通常只是資料庫的主鍵數字,若使用者擔心跨網域的關聯性,可以選擇為不同網域建立獨立的 ACME 帳戶。
此外,社群也針對技術實作的安全性進行了深度辯論。有觀點質疑為何不採用更複雜的公私鑰對驗證,而是僅依賴帳戶 ID。對此,資安專家指出,DNS 驗證最常見的威脅向量其實是網域註冊商帳號遭入侵,在這種情況下,無論 DNS 層級的加密技術多麼複雜,都無法阻止攻擊者修改紀錄。同時,這項新標準也被視為邁向 DANE 協議的一小步,雖然有意見認為應該直接推動瀏覽器透過 DNSSEC 驗證憑證,但現實中 DNSSEC 的簽署風險與維護難度,使得 DNS-PERSIST-01 這種折衷方案在現階段更具實務價值。