OpenLDAP 伺服器可以吃 Let's Encrypt 發的憑證以提供 LDAPS 服務,只是 SSL 設定方法跟其他軟體不太一樣,第一次設會花不少時間...
這邊的檔案目錄是以 Dehydrated 申請 Let's Encrypt 的憑證來設定。官方推薦的 Certbot 應該也有類似的檔案:
TLSCACertificateFile /etc/dehydrated/certs/x.y.z/chain.pem TLSCertificateFile /etc/dehydrated/certs/x.y.z/cert.pem TLSCertificateKeyFile /etc/dehydrated/certs/x.y.z/privkey.pem
這樣不管 Let's Encrypt 拿 Let’s Encrypt Authority X3 (目前的主力憑證) 還是 Let’s Encrypt Authority X4 (備用的憑證) 簽,OpenLDAP 這邊才會串出正確的 certficiate chain。(用 OpenSSL 的 s_client -connect x.y.z:636
與 ldapsearch 測過)
要找問題的話,ldapsearch 有 -v
(verbose) 與 -d 9
(debug) 可以看連線過程的細節,拿著錯誤訊息去餵搜尋引擎會有不少幫助...
在找資料時發現網路上有不少文件教大家直接在 client 端的 /etc/ldap/ldap.conf
修改 TLS_REQCERT
的值,從預設的 demand
改成 allow
(或是 never
),但這樣將強制檢查的條件改弱,安全性反而降低了。比較好的方式還是修正 server 端的錯誤設定。