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