使用 Freeipa 启用 OCSP 装订 - Apache

使用 Freeipa 启用 OCSP 装订 - Apache

我有 3 台 Centos 7 机器。

我在第一台机器上安装了 FreeIPA 服务器。这充当我的网络中的证书颁发机构;这是我的 CA。

我有另一台机器安装了 FreeIPA 客户端。这台机器可以为第三台机器提供 Web 服务。它有一个由 CA 生成的证书。

第三台机器没有安装 freeipa,并在第二台机器上发出 https 请求。

我想使用 OCSP 装订。

/etc/httpd/conf.d/ssl.conf因此我在我的第二台机器上添加了如下几行:

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

并重新启动httpd。

当我使用curl从第三台机器发出https请求时,它会出现OCSP 无响应发送
所以我认为我的 CA(我第一台机器上的 Freeipa 服务器)配置得不好。
我尝试做出改变nss配置文件在 CA 上,我查看了 /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 响应:未发送响应

我知道 ocsp 响应器没问题,但装订不起作用......

答案1

假设你做了openssl ocsp ...测试 myserver.mydomain.com,那么看起来 myserver.mydomain.com 已连接到 OCSP 响应程序。

接下来要确定的是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或指令向 HTTPS 服务器提供适当的 CA 证书。SSLCertificateChainFile如果您使用SSLCertificateFile,则只需将相关中间 CA 和根 CA 的 PEM 格式的证书附加到包含 HTTPS 服务器证书的文件中。

相关内容