3 月 16 2018
開始用 Let’s Encrypt 的 wildcard certificate
2016 年自己寫過 改用 Let’s Encrypt 的 certificates,文內提到的 dehydrated 也持續在使用。
這幾天看到 Let’s Encrypt 貼出 ACME v2 and Wildcard Certificate Support is Live。
Let’s Encrypt 的 wildcard certificate 實作大概要注意以下幾點:
- 要用 ACME v2 compatible client(官方有提供列表: ACME Client Implementations)
- 不能用 HTTP challenge,改用 DNS challenge
使用 dehydrated 進行 DNS challenge 可以參考這幾份文件:
我選擇用 nsupdate 的方式(參考 dehydrated Wiki : example dns 01 nsupdate script),在 DNS master server 建立 _acme-challenge.{DOMAIN} 的 NS record,讓 hook script 透過 nsupdate 連線到指定的 name server 更新 TXT record 。
DNS 方面完成後,要記得佈署 hook script 與 nsupdate 使用的 key。
接著是調整語法,原本的語法:
/SOMEWHERE/dehydrated/dehydrated -c -d {網站hostname}
改為:
/SOMEWHERE/dehydrated/dehydrated \ -c -d *.{DOMAIN} \ -t dns-01 -k {HOOK_SCRIPT} \ --alias wildcard.{DOMAIN}
( –alias 指定的 wildcard.{DOMAIN} 會成為目錄名稱,用來存放憑證 )
8 月 22 2024
更換 SSL 憑證與 DNSSEC 演算法
近期處理一些網站 SSL 憑證與 DNSSEC 相關的事,寫這篇留點紀錄供日後參考…
原先的 SSL 憑證幾乎都是透過 certbot 取得 (參考:用 certbot 取用 Let’s Encrypt 的 certificates);在 ECDSA certificates by default and other upcoming changes in Certbot 2.0 能看到其預設的演算法已從 RSA 變更成 ECDSA,但… 早期取得憑證時產生的設定檔仍須自己做更改。
設定檔都在 /etc/letsencrypt/renewal 目錄裡面,調整後的參數如下:
在準備更換 SSL 憑證時,恰巧看到 RFC 8624 – Algorithm Implementation Requirements and Usage Guidance for DNSSEC,就順便處理 DNSSEC 的事。
依據 3.1 節的說明,ED25519 是最佳選擇,其次就是 ECDSAP384SHA384 或 ED448;選擇演算法前,必須先看看域名註冊商提供的設定項。
以 ED25519 為例,我的操作流程如下:
過一段時間後,可以透過一些線上工具作驗證,像是 DNSViz | A DNS visualization tool。
By Joe Horn • Network 0 • Tags: DNS, DNSSEC, HTTPS, security, SSL