https:Apache TLS重新协商:Debian,Apache2,openssl。如何?

时间:2010-09-17 19:59:39

标签: apache ssl openssl ssl-certificate

在现代浏览器中,我的网站被标记为sorta insecure:

例如,谷歌浏览器在“页面信息”中说“ The server does not support the TLS renegotiation extension ”。

HTTPS运行正常,连接已加密且证书有效。

# openssl version
OpenSSL 0.9.8g 19 Oct 2007

# cat /etc/debian_version
5.0.6

# apache2ctl -V
Server version: Apache/2.2.9 (Debian)
Server built:   Apr 20 2010 21:44:40
Server's Module Magic Number: 20051115:15
Server loaded:  APR 1.2.12, APR-Util 1.2.12
Compiled using: APR 1.2.12, APR-Util 1.2.12
Architecture:   64-bit
Server MPM:     ITK
  threaded:     no
    forked:     yes (variable process count)
Server compiled with....
 -D APACHE_MPM_DIR="server/mpm/experimental/itk"
 -D APR_HAS_SENDFILE
 -D APR_HAS_MMAP
 -D APR_HAVE_IPV6 (IPv4-mapped addresses enabled)
 -D APR_USE_SYSVSEM_SERIALIZE
 -D APR_USE_PTHREAD_SERIALIZE
 -D SINGLE_LISTEN_UNSERIALIZED_ACCEPT
 -D APR_HAS_OTHER_CHILD
 -D AP_HAVE_RELIABLE_PIPED_LOGS
 -D DYNAMIC_MODULE_LIMIT=128
 -D HTTPD_ROOT=""
 -D SUEXEC_BIN="/usr/lib/apache2/suexec"
 -D DEFAULT_PIDLOG="/var/run/apache2.pid"
 -D DEFAULT_SCOREBOARD="logs/apache_runtime_status"
 -D DEFAULT_LOCKFILE="/var/run/apache2/accept.lock"
 -D DEFAULT_ERRORLOG="logs/error_log"
 -D AP_TYPES_CONFIG_FILE="/etc/apache2/mime.types"
 -D SERVER_CONFIG_FILE="/etc/apache2/apache2.conf"

我正在使用dotdeb存储库进行LAMP设置,因此Apache 2.2.9。

  • 我的身体有问题吗? 服务器配置?

  • 或者是否有问题 正在使用的证书?

  • 我应该从哪里开始追踪 问题?

2 个答案:

答案 0 :(得分:5)

根据Debian changelog,您使用的是apache2软件包版本2.2.9-10 + lenny8(Lenny最新版本),建于2010年4月20日。 版本2.2.9-10 + lenny6引入了该问题的快速修复程序(CVE-2009-3555):

  

拒绝任何客户端启动的SSL / TLS   重新谈判。这是部分修复          用于TLS重新协商前缀注入攻击   (CVE-2009-3555)。          任何需要重新协商的配置   每目录/位置          访问控制或使用“SSLVerifyClient可选”仍然是   脆弱的。

因此,您应该在SSLVerifyClient optionalDirectory指令中停用Location

TLS重新协商扩展(RFC 5746),更广泛地解决了SSLVerifyClient optional中的问题,是在OpenSSL版本0.9.8m和1.0.0a中实现的,如果你想使用它,你需要它。 / p>

如果你没有在位置/目录指令中使用SSLVerifyClient optional,那么你的配置似乎不安全,它只是不支持这个允许你继续使用客户端证书身份验证的TLS扩展每个目录/位置。

如果你想强制不安全的行为(并使用OpenSSL 0.9.8m或更高版本),

Apache Httpd 2.2.15也引入了SSLInsecureRenegotiation指令。

答案 1 :(得分:0)

我不知道为什么,但我偶然发现了解决此问题的方法。我只有1个vhost用于SSL,并注意到来自http的重定向 - > https无法正常工作。我尝试了一些重写规则的变化无济于事。所以我决定在端口80上创建第二个vhost。重定向开始工作,不仅如此,Chrome开始在角落显示绿色的https符号:D