Internet Explorer 8 - TLS 致命错误关闭通知 - Oracle HTTP - 服务器 Apache 2.2.22.0

Internet Explorer 8 - TLS 致命错误关闭通知 - Oracle HTTP - 服务器 Apache 2.2.22.0

SSLProtocol All -SSLv2 -SSLv3我通过 Apache 服务器的文件应用了 POODLE 修复程序ssl.conf,但遇到了问题CAC 客户端身份验证通过SSLVerifyClient require

我已经确认如果我设置SSLVerifyClient none我们的 Web 应用程序,就可以通过 HTTPS 访问并使用正确的 TLSv1 协议,但是一旦我设置SSLVerifyClient require(这是必要的,因为我们的 Web 应用程序启用了 CAC),我就会page cannot be displayed在 IE 中得到一个(IE 已禁用 SSLv2 和 SSLv3,但启用了 TLS1.0-3)。

客户端是带有 IE 8 的 Windows 7 32 位。服务器是 Windows 2003 SP2。

我已经在客户端和服务器之间进行了数据包捕获。第一个客户端问候是针对 TLSv1.2 的,然后发送了“致命错误关闭通知”。

由于我的服务器不支持 TLSv1.1 或 TLSv1.2,因此会为 TLSv1 发送客户端问候。该过程一直进行到客户端证书请求服务器问候完成,然后客户端发送另一个致命错误关闭通知。

屏幕截图在此:https://i.stack.imgur.com/Cy8J6.jpg 在此处输入图片描述

以下是完整的 TCP 流:

第一个流发送客户端问候并尝试协商 TLSv1.2,服务器拒绝,因为它不支持并发送关闭通知。第二个流通过 TLSv1.0 发送客户端问候等。但这是从一个到 Web 服务器的单一连接发送的。

第一流:i.imgur.com/pmiXn9t.jpg

第二流:i.imgur.com/NIh1lsZ.jpg

我已经从以下地址验证过,连接处于 TLSv1 状态https://www.ssllabs.com/ssltest/。服务器甚至同意 TLS 密码。

即使通过以下方式禁用 SSLv2 和 SSLv3,Chrome 仍能正常工作chrome.exe --ssl-version-min=tls1

此版本的 Apache 还使用mod_ossl

mod_ossl模块为 Oracle HTTP Server 启用强加密。此 Oracle 模块是 Oracle HTTP Server 的一个插件,可使服务器使用 SSL。它与 OpenSSL 模块非常相似mod_ssl。该mod_ossl模块基于 Oracle 的 SSL 实现,支持 SSL 版本 3 和 TLS 版本 1,并基于 Certicom 和 RSA 安全技术。

我不知道如何升级它以支持 TLS v1.1 和 TLS v1.2,因为我使用的是 Oracle 最新的 OHS 11g 版本,这是 Oracle 制作的定制模块。

更新:

我已在 OHS Apache 日志上启用了调试日志级别。现在,当我使用 IE 尝试访问 Web 应用程序时,我收到以下错误:

[Mon Nov 10 08:16:05 2014] [error] [client X.X.X.X] OHS:2079 nzos handshake error, nzos_Handshake returned 28858(server X.X.X.X:443, client X.X.X.X)
[Mon Nov 10 08:16:05 2014] [error] OHS:2171 NZ Library Error: SSL protocol error [Hint: the client probably speaks HTTPS over HTTP protocol]
[Mon Nov 10 08:16:05 2014] [info] [client X.X.X.X] OHS:2073 Connection to child 107 closed with standard shutdown(server X.X.X.X:443, client X.X.X.X)
[Mon Nov 10 08:16:05 2014] [info] [client X.X.X.X] Connection to child 107 established (server X.X.X.X:443)
[Mon Nov 10 08:16:06 2014] [info] [client X.X.X.X] OHS:2079 nzos handshake error, nzos_Handshake returned 28864(server X.X.X.X:443, client X.X.X.X)
[Mon Nov 10 08:16:06 2014] [info] OHS:2171 NZ Library Error: SSL IO error [Hint: the client stop the connection unexpectedly]
[Mon Nov 10 08:16:06 2014] [info] [client X.X.X.X] OHS:2073 Connection to child 107 closed with standard shutdown(server X.X.X.X:443, client X.X.X.X)

有人知道如何在 Oracle HTTP Server (OHS) Apache 2.2.22.0 上修复这个问题吗?

以下是我的文件的片段ssl.conf

###################################################################
# Oracle HTTP Server mod_ossl configuration file: ssl.conf        #
###################################################################


# OHS Listen Port
Listen 443

<IfModule ossl_module>
##
##  SSL Global Context
##
##  All SSL configuration in this context applies both to
##  the main server and all SSL-enabled virtual hosts.
##

#
#   Some MIME-types for downloading Certificates and CRLs
    AddType application/x-x509-ca-cert .crt
    AddType application/x-pkcs7-crl    .crl

#   Pass Phrase Dialog:
#   Configure the pass phrase gathering process.
#   The filtering dialog program (`builtin' is a internal
#   terminal dialog) has to provide the pass phrase on stdout.
    SSLPassPhraseDialog  builtin

#   Inter-Process Session Cache:
#   Configure the SSL Session Cache: First the mechanism 
#   to use and second the expiring timeout (in seconds).
    SSLSessionCache "shmcb:${ORACLE_INSTANCE}/diagnostics/logs/${COMPONENT_TYPE}/${COMPONENT_NAME}/ssl_scache(512000)"
    SSLSessionCacheTimeout  300

#   Semaphore:
#   Configure the path to the mutual exclusion semaphore the
#   SSL engine uses internally for inter-process synchronization. 
    <IfModule mpm_winnt_module>
      SSLMutex "none"
    </IfModule>
    <IfModule !mpm_winnt_module>
      SSLMutex pthread
    </IfModule>

##
## SSL Virtual Host Context
##
<VirtualHost *:443>
#    ServerAdmin [email protected]
    DocumentRoot "${ORACLE_INSTANCE}/config/${COMPONENT_TYPE}/${COMPONENT_NAME}/htdocs/asset"
    DirectoryIndex remagnum.html
    ServerName TTSDS09083.TIMPO.OSD.MIL
#    ServerAlias www.dummy-host.example.com

  <IfModule ossl_module>

   #  SSL Engine Switch:
   #  Enable/Disable SSL for this virtual host.
   SSLEngine on

   #  SSL Cipher Suite:
   #  List the ciphers that the client is permitted to negotiate.
   #SSLCipherSuite SSL_RSA_WITH_RC4_128_MD5,SSL_RSA_WITH_RC4_128_SHA,SSL_RSA_WITH_3DES_EDE_CBC_SHA,SSL_RSA_WITH_DES_CBC_SHA,TLS_RSA_WITH_AES_128_CBC_SHA,TLS_RSA_WITH_AES_256_CBC_SHA

   SSLCipherSuite ALL:+HIGH:-MEDIUM:-LOW:-SSLv2:-SSLv3

   SSLProtocol All -SSLv2 -SSLv3


   #  Client Authentication (Type):
   #  Client certificate verification type and depth.  Types are
   #  none, optional and require.
   #SSLVerifyClient none
   SSLVerifyClient require

   # SSL Certificate Revocation List Check
   # Valid values are On and Off
   SSLCRLCheck Off

   #Path to the wallet
   SSLWallet "${ORACLE_INSTANCE}/config/${COMPONENT_TYPE}/${COMPONENT_NAME}/keystores/default"

   <FilesMatch "\.(cgi|shtml|phtml|php)$">
      SSLOptions +StdEnvVars +ExportCertData

   </FilesMatch>

   <Directory "${ORACLE_INSTANCE}/config/${COMPONENT_TYPE}/${COMPONENT_NAME}/cgi-bin">
      SSLOptions +StdEnvVars +ExportCertData

   </Directory>

  </IfModule>
</VirtualHost>

</IfModule>

答案1

SSLCipherSuite 全部:+高:-中:-低:-SSLv2:-SSLv3

由于您禁用了所有 SSL 3.0 密码,并且由于 TLS 1.0 和 TLS 1.1 仅使用 SSL 3.0 密码,并且由于 IE 8 不支持 TLS 1.2,因此不会有共享密码。您可能会在日志文件中找到一些有关此情况的错误消息。

请注意,POODLE 攻击是 SSL 3.0 协议的设计缺陷,而不是 SSL 3.0 密码的设计缺陷。因此,您只应禁用协议,而不是密码。

此外,您当前的密码套件包含非常危险的密码,因为它包含不需要任何形式的服务器识别的 ADH 密码。使用此类密码可能会发生中间人攻击。

编辑:在您的评论中,您提到客户端正在使用 Windows 7。Windows 7 应该支持 TLS 1.2,但由于客户端显然没有对系统进行太多更新(否则就不会使用 IE 8),所以 IE 8 和 TLS 1.2 可能存在问题。

相关内容