Oracle HTTP Server (OHS) Apache 2.2.13 Poodle SSLv3 修复?

Posted

技术标签:

【中文标题】Oracle HTTP Server (OHS) Apache 2.2.13 Poodle SSLv3 修复?【英文标题】:Oracle HTTP Server (OHS) Apache 2.2.13 Poodle SSLv3 Fix? 【发布时间】:2015-01-01 22:58:42 【问题描述】:

我通过我们的 apache 服务器的 ssl.conf 文件中的“SSLProtocol All -SSLv2 -SSLv3”为 apache 应用了 POODLE 修复程序,但是通过“SSLVerifyClient 要求”进行的 CAC 客户端身份验证存在问题。我已经确认如果我设置“SSLVerifyClient none”,我们的 Web 应用程序可以通过 https 访问并使用正确的 TLSv1 协议,但是一旦我设置了“SSLVerifyClient require”(这是必需的,因为我们的 Web 应用程序启用了 CAC)我得到一个页面不能在 IE 中显示(IE 禁用了 SSLv2 和 SSLv3)。我认为它正在 SSLVerifyClient 阶段重新协商到 SSLv3。任何人都知道如何在 Oracle HTTP Server (OHS) Apache 2.2.13 上解决这个问题??

这是我的 ssl.conf 文件的 sn-p:

###################################################################
# 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 webmaster@dummy-host.example.com
    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 SSL_RSA_WITH_AES_128_CBC_SHA

   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>

   BrowserMatch ".*MSIE.*" \
   nokeepalive ssl-unclean-shutdown \
   downgrade-1.0 force-response-1.0

  </IfModule>
</VirtualHost>

</IfModule>

【问题讨论】:

我已经通过ssllabs.com/ssltest 验证了我没有使用 SSlv2 或 SSLv3 所以我不明白为什么它不能在 IE 中工作......在 chrome 中工作得很好。要做一个数据包捕获并尝试升级 Apache.. 我仅在 IE 的 Wireshark 中收到此消息:“TLS 记录层:警报(级别:致命,描述:意外消息)” 升级到相当于 Apache 2.2.22.0 的 Oracle HTTP Server 11.1.1.7。在禁用 SSLV3 并启用 TLS 1.0-2 的情况下,我仍然无法在 Internet Explorer 8 中访问我的应用程序。我现在从 Web 服务器接收 TLS 记录层:警报(级别:致命,描述:关闭通知)作为客户端打招呼之前的第一个数据包。然后它会从服务器发出证书请求,然后是另一个致命关闭通知 【参考方案1】:

您是否尝试为已弃用的浏览器删除 BrowserMatch?

#BrowserMatch ".*MSIE.*" \
#   nokeepalive ssl-unclean-shutdown \
#   downgrade-1.0 force-response-1.0

以及来自 httpd.conf 的内容

#BrowserMatch "Mozilla/2" nokeepalive
#BrowserMatch "MSIE 4\.0b2;" nokeepalive downgrade-1.0 force-response-1.0

参考:http://blogs.msdn.com/b/ieinternals/archive/2011/03/26/https-and-connection-close-is-your-apache-modssl-server-configuration-set-to-slow.aspx

【讨论】:

以上是关于Oracle HTTP Server (OHS) Apache 2.2.13 Poodle SSLv3 修复?的主要内容,如果未能解决你的问题,请参考以下文章

用于处理来自 CLOB 的 CSV 的 Oracle PL/SQL 包/过程

Learning Note: SQL Server VS Oracle–Database architecture

SQL Server数据库转换成oracle

Oracle 与Sql Server常用函数对比

使用 Ant 任务为 Oracle 配置 worklight Server 失败

SQL Server,Oracle,DB2索引建立语句的对比