Ssl

使用 Freeipa 啟用 OCSP 裝訂 - Apache

  • November 4, 2019

我有 3 台裝有 Centos 7 的機器。

我在第一台機器上安裝了 FreeIPA 伺服器。這在我的網路中充當證書頒發機構;這是我的 CA。

我有另一台安裝了 FreeIPA 客戶端的機器。這個可以為第三台機器提供網路服務。它具有由 CA 生成的證書。

第三台機器沒有安裝 freeipa 並在第二台機器上發出 https 請求。

我想使用 OCSP 裝訂。

所以我在/etc/httpd/conf.d/ssl.conf我的 2d 機器中添加了以下行:

SSLUseStapling on  
SSLStaplingCache shmcb:/run/httpd/sslcache(512000)

並重新啟動httpd。

當我使用 curl 從第三台機器發出 https 請求時,它出現OCSP no response send

所以我認為我的 CA(我的第一台機器上的 Freeipa 伺服器)配置不正確。

我試圖在CA 上的nss.conf中進行更改,我查看了 /etc/pki/pki-tomcat/ca/CS.cfg但我沒有成功啟用 ocsp 裝訂。我沒有任何想法。

我補充說,我已經在我的 IPA 伺服器中檢查了ca.ocsp=true中的/var/lib/pki/pki-tomcat/ca/conf/CS.cfg.

你能幫我嗎?我將不勝感激。

非常感謝。

編輯:

https 伺服器的證書有一個授權資訊訪問擴展,帶有 ocsp 響應者的 url,並且 url 是正確的。

防火牆被禁用。

openssl ocsp -issuer ca.cert -cert server.cert -text -url http://ipa-ca.mydomain.com/ca/ocsp給出 ocsp 響應,但命令openssl s_client -connect myserver.mydomain.com:443 -tls1 -tlsextdebug -status給出ocsp response: no response sent

我了解 ocsp 響應程序沒問題,但裝訂不起作用…

假設您openssl ocsp ...進行了測試,那麼看起來 myserver.mydomain.com 已連接到 OCSP 響應程序。 myserver.mydomain.com

接下來要確定的是,Apache HTTPS 伺服器程序是否能夠使用該連接?CentOS 7 預設啟用 SELinux,並且對httpd. 使用 OCSP 裝訂,該httpd程序將需要能夠與 OCSP 響應程序建立傳出 TCP 連接。為此,您需要執行以下操作:

setsebool -P httpd_can_network_connect 1

如果沒有這個設置,httpd程序將無法建立傳出的 TCP 連接:它只能響應傳入的連接。這肯定會阻止發出任何 OCSP 請求。

您還應該查看 HTTPS 伺服器的日誌。如果它正在記錄錯誤消息,例如:

AH02217: ssl_stapling_init_cert: Can't retrieve issuer certificate!

那麼問題是 HTTPS 伺服器沒有可用的 OCSP 響應者的 CA 證書鏈,因此它無法驗證它從 OCSP 響應者收到的響應的真實性。要解決此問題,您需要使用HTTPS 伺服器配置中的SSLCertificateFileSSLCertificateChainFile指令向 HTTPS 伺服器提供適當的 CA 證書。如果使用SSLCertificateFile,則只需將相關中間 CA 和根 CA 的 PEM 格式證書附加到包含 HTTPS 伺服器證書的文件中。

引用自:https://unix.stackexchange.com/questions/549330