经过一番研究,我发现SSLVerifyClient
由于当前的 CVE-2009-3555 缓解措施,除了在服务器环境中,我无法在任何地方成功使用。
具体来说,由于 CVE-2009-3555,OpenSSL、Apache/mod_ssl 和一些浏览器的各个版本都不再允许 SSL 重新协商。因此,SSLVerifyClient require
在目录、位置或 .htaccess 上下文中会导致服务失败(例如各种这些例子失败)。自 CVE-2009-3555 以来,RFC 5746 已发布,OpenSSL、Apache/mod_ssl 等较新版本均支持该标准。
Q1:这个总结大致正确吗?
我目前遇到的问题是共享网络托管。我无法访问 httpd.conf,也无法升级软件。
问题 2:如果我找到一家共享网络托管公司,该公司运行支持 RFC 5746 TLS 重新协商指示的最新软件(与 GoDaddy 不同),我是否可以成功将其输入 .htaccess:
SSLVerifyClient require
SSLVerifyDepth 1
SSLCACertificateFile /path/to/my/ca.crt
ca.crt 是我的混蛋自签名 CA 证书吗?
mod_ssl 文档并不是说SSLCACertificateFile
可以进入 .htaccess,但是当我把它放在那里时,我没有收到典型的“这里不允许”错误。
答案1
Q1:是的,正确。
Q2:不,我认为它不会起作用。
从配置角度来看,有什么原因SSLCACertificateFile
不能进入像VirtualHost
块这样的更广泛的配置部分?
但是,除此之外,假设 GoDaddy 确实已修补以禁用重新协商(我不会假设他们这样做),客户端证书在这个系统上可能已经无用武之地了。我不知道有什么办法可以绕过客户端证书身份验证需要重新协商的要求。