使用 Freeipa 啟用 OCSP 裝訂 - Apache
我有 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 伺服器配置中的
SSLCertificateFile
或SSLCertificateChainFile
指令向 HTTPS 伺服器提供適當的 CA 證書。如果使用SSLCertificateFile
,則只需將相關中間 CA 和根 CA 的 PEM 格式證書附加到包含 HTTPS 伺服器證書的文件中。