Debian

Samba 4 上的 SSL 自簽名證書錯誤

  • September 14, 2017

我目前正在我的辦公室準備遷移到 Samba 4,並在我的實驗室網路中遇到問題。在 Debian 9 伺服器上安裝了 Samba 4 AD DC,到目前為止它工作正常,可以將機器加入域並使用未加密的 ldap:// 從外部工具訪問 Samba 內部 LDAP

$$ IP $$在 389 埠。 我現在正在嘗試按照此頁面說明通過 SSL/TLS 配置 LDAP 訪問:

https://wiki.samba.org/index.php/Configuring_LDAP_over_SSL_(LDAPS)_on_a_Samba_AD_DC

無論我是使用自動生成的自簽名證書還是創建自定義證書它總是在驗證證書時失敗:

openssl verify -verbose cert.pem
[...]
error 18 at 0 depth lookup: self signed certificate
error cert.pem: verification failed

我檢查了私鑰:

# openssl rsa -check -in key.pem 
RSA key ok
writing RSA key
-----BEGIN RSA PRIVATE KEY-----
[...]
-----END RSA PRIVATE KEY-----

我試圖檢查私鑰和證書是否對應:

# openssl x509 -noout -modulus -in cert.pem | openssl md5
  (stdin)= ce3ca7afcfe6a02ded1ed83938954940
# openssl rsa -noout -modulus -in key.pem | openssl md5
(stdin)= ce3ca7afcfe6a02ded1ed83938954940

這是我的 smb.conf 文件的全域部分:

tls enabled  = yes
tls keyfile  = tls/key.pem
tls certfile = tls/cert.pem
tls cafile   = tls/ca.pem

我還嘗試將自動生成的文件從其原始目的地移動

/var/lib/samba/private/tls/

/etc/samba/tls/

/usr/local/samba/私人/tls/

curl 命令回答了這個問題:

#curl ldaps://host.domain.fr
curl: (60) SSL certificate problem: unable to get local issuer certificate

但我成功連接了一個

# curl --insecure ldaps://host.domain.fr

# curl --cacert /usr/local/samba/private/tls/ca.pem ldaps://host.domain.fr

好吧,熱烈歡迎任何有關配置或故障排除技巧的建議!

好的,我解決了我的問題。

按照此過程為 Samba 4 創建自簽名證書

轉到自動生成的證書目錄,刪除現有的證書並在同一目錄中創建您自己的證書。然後重新啟動桑巴

# cd /usr/local/samba/private/tls ## if you compiled samba from sources
# cd /var/lib/samba/private/tls ## if you installed samba from repos

# rm *.pem
# openssl req -newkey rsa:2048 -keyout myKey.pem -nodes -x509 -days 365 -out myCert.pem

將此添加到您的 /etc/samba/smb.conf

tls enabled  = yes
tls keyfile  = tls/myKey.pem
tls certfile = tls/myCert.pem
tls cafile   = 

然後重啟 Samba

要成功執行 ldapsearch 命令,請遵循此主題建議並添加

TLS_REQCERT ALLOW

到您的 ldap.conf 文件。

讓我犯錯的一件事是

openssl verify myCert.pem

永遠不會在我的配置上工作(Debian 9.0 “Stretch” - OpenSSL 1.1.0f) 我在 OpenSSL 1.0.2 下重試了我的密鑰並且工作得很好。我不確定它是由 os 引起的還是只是 openssl 版本…

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