Tailscale 採用 ARI 的經驗分享
自 2023 年 3 月起,Let’s Encrypt 一直透過 ACME 更新資訊 (ARI) 提升我們的彈性和可靠性。 ARI 使我們的訂閱者能夠輕鬆自動地處理憑證撤銷和更新。ARI 的主要好處是,如果 Let’s Encrypt 提供有效期限甚至短於 90 天的憑證,它將使訂閱者在理想的更新時間方面取得成功。 我們最近發布了工程師如何將 ARI 整合到現有 ACME 用戶端的指南。
在這篇部落格文章中,我們將探討 Let's Encrypt 訂閱者 Tailscale 採用 ARI 的經驗。
總共只花了兩位 Tailscale 工程師不到兩天的時間來實作 ARI。 在 ARI 之前,Tailscale 團隊已經對憑證更新邏輯進行了其他迭代,包括在到期前 14 天硬編碼更新,以及硬編碼直到到期剩餘時間的 1/3。這些方法的一個問題是,對 Let’s Encrypt 發行的憑證的有效期限做了假設,而這在未來會改變。 相反的,ARI 允許 Tailscale 將更新決策卸載給 Let's Encrypt,而不做任何假設。
Tailscale 指出,在憑證的有效期限開始縮短之前加入 ARI 特別有用,因為負責請求和更新憑證的客戶端軟體是在使用者機器上運行的。 這使得他們無法在出現任何問題時輕易地在一夜之間更新整個裝置。 由於有了 ARI,他們減少了未及時輪換客戶端電腦憑證的風險,或者使用過於急切的輪換邏輯對 Let’s Encrypt 的基礎架構造成過度負載。
Tailscale 團隊在決定採用 ARI 時考慮的一個因素是,希望避免在更新時對 Let’s Encrypt 基礎架構增加硬性依賴。 為了補救這一點,如果因任何原因無法連線到 ARI 端點,Tailscale 憑證更新邏輯會回退到基於本地時間的檢查。
Tailscale 在生產環境中加入 ARI 的路線圖
-
透過請求開發網域的憑證在本地進行測試
-
透過使用硬編碼資料來存根化 ARI 回應,測試更新
-
透過封鎖 ARI 請求測試回退
-
發佈!
該團隊報告說在此過程中遇到了一個障礙。 由於 RFC 尚未定案,上游 Go 套件的 ACME 尚不支援 ARI。 作為解決方案,他們在 Go 套件的分支中增加了支援。 Tailscale 給訂閱者採用 ARI 的主要建議是:不要忘記為您的 ARI 請求設定逾時!
我們感謝 Tailscale 團隊花時間與我們分享他們採用 ARI 的經驗,以及給其他訂閱者的建議。 除了成為 ARI 採用者,Tailscale 也是 Let’s Encrypt 的贊助者! 我們感謝他們對我們建立更安全網路的支持。
我們也很感謝能與普林斯頓大學合作進行我們的 ACME 更新資訊工作,這要歸功於開放技術基金的慷慨支持。
網際網路安全研究小組 (ISRG) 是 Let's Encrypt、Prossimo 和 Divvi Up 的母組織。 ISRG 是一個 501(c)(3) 非營利組織。 如果您想支持我們的工作,請考慮參與、捐款,或鼓勵您的公司成為贊助者。