从浏览器过时的加密警告 [英] Obsolete cryptography warning from Browser

查看:525
本文介绍了从浏览器过时的加密警告的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我已经开始与Apache 2.4和SSL Windows服务器。当我与 https://www.example.com 连接,然后点击绿色的锁,我有消息:


  

您网站的连接与过时的加密加密


任何意见,请?

下面的 的ssl.conf

 
    #这是提供SSL支持Apache服务器的配置文件。
    #它包含配置指令指示服务器如何
    #服务通过HTTPS连接的网页。有关这些详细信息,
    #指令看<网址:HTTP://httpd.apache.org/docs/2.4/mod/mod_ssl.html>
    #
    #不要只是简单的阅读说明书不求甚解
    # 他们做什么。他们在这里只起提示。如果你不确定
    #咨询在线文档。你被警告了。
    #
    #所需模块:mod_log_config,mod_setenvif,了mod_ssl,
    #socache_shmcb_module(用于SSLSessionCache的默认值)    #
    #伪随机数生成器(PRNG):
    #配置一个或多个源到种子SSL库的PRNG。
    #种子数据应该是好的随机质量。
    # 警告!在某些平台上的/ dev /随机块如果没有足够的熵
    #可用。这意味着你再不能使用的/ dev / random设备
    #因为这会导致很长的连接时间(只要
    #它需要做出更多的熵可用)。但通常这些
    #平台还提供/ dev / urandom的设备,如不
    #块。所以,如果有的话,用这个来代替。阅读mod_ssl的用户
    #手册了解更多详情。
    #
    #SSLRandomSeed启动文件是:/ dev /随机512
    #SSLRandomSeed启动文件是:/ dev / urandom的512    #
    #当我们还提供SSL,我们要听的
    #标准HTTP端口(见上文)和HTTPS端口
    #
    听443    ##
    ## SSL全球背景
    ##
    ##在这方面的所有SSL配置既适用于
    ##主服务器和所有支持SSL的虚拟主机。
    ##    #SSL加密套件:
    #列出客户端允许协商加密算法。
    #见mod_ssl的文档的完整列表。
    #SSLCipherSuite HIGH:MEDIUM:A零位:MD5
    #速度优化SSL加密配置:
    #如果速度是你的主要关注(在繁忙的HTTPS服务器如)
    #你可能想客户强制特定的,性能
    #优化的密码。在此情况下,prePEND那些密码
    #到的SSLCipherSuite列表中,并启用SSLHonorCipherOrder。
    #警告:通过给precedence到RC4-SHA和AES128-SHA
    #(如在下面的例子中),大部分连接将不再
    #有完全向前保密 - 如果服务器的关键是
    #妥协,过去或将来的流量捕获必须
    #考虑妥协了。
    RC4的SSLCipherSuite-SHA:AES128-SHA:HIGH:MEDIUM:A零位:MD5
    #SSLHonorCipherOrder上    #通行短语对话框:
    #配置口令收集过程。
    #过滤对话框程序(`内置'是一个内部
    #终端对话),必须提供在stdout密码短语。
    SSLPassPhraseDialog内置    #进程间会话缓存:
    #配置SSL会话缓存:一是机制
    #使用和第二到期超时(秒)。
    #SSLSessionCacheDBM:C:/ Apache24 /日志/ ssl_scache    #2埃斯蒂斯estavam ativos
    #SSLSessionCacheshmcb:C:/ Apache24 /日志/ ssl_scache(512000)
    #SSLSessionCacheTimeout 300    #OCSP装订(需要OpenSSL的0.9.8h或更高版本)
    #
    #这个功能默认是关闭的,并至少需要
    #两项指令SSLUseStapling和SSLStaplingCache。
    #请参阅文档上OCSP装订在SSL / TLS
    #操作方法的详细信息。
    #
    #启用装订所有启用了SSL的服务器:
    #SSLUseStapling在    #定义OCSP装订相对较小的缓存使用
    #是用于在SSL会话高速缓存的相同的机制
    # 以上。如果装订使用具有超过几证书,
    #大小可能需要增加。 (AH01929将会被记录。)
    #SSLStaplingCacheshmcb:C:/ Apache24 /日志/ ssl_stapling(32768)    前有效的OCSP响应#秒从缓存过期
    #SSLStaplingStandardCacheTimeout 3600    之前无效OCSP响应#秒从缓存过期
    #SSLStaplingErrorCacheTimeout 600    ##
    ## SSL虚拟主机上下文
    ##    <虚拟主机*:443>    #常规设置虚拟主机
    的DocumentRootC:/ Apache24 / htdocs目录
    服务器名www.xxx.com:443
    的ServerAdmin webmaster@xxx.com
    错误日志C:/Apache24/logs/error.log
    的TransferLogC:/Apache24/logs/access.log    #SSL引擎开关:
    #启用/禁用该SSL虚拟主机。
    在SSLEngine的
    #服务器证书:
    #点了SSLCertificateFile在PEM连接codeD证书。如果
    #证书被加密,那么你将被提示
    #密码短语。需要注意的是一个kill -HUP将再次提示。保持
    #记住,如果您同时使用RSA和DSA证书你
    #可以配置并行(也允许使用的DSA
    #密码等)
    #有些ECC加密套件(http://www.ietf.org/rfc/rfc4492.txt)
    #需要也可在配置一个ECC证书
    # 平行。
    了SSLCertificateFileC:/Apache24/conf/aws-101.crt
    #SSLCertificateFileC:/Apache24/conf/server-dsa.crt
    #SSLCertificateFileC:/Apache24/conf/server-ecc.crt    #服务器专用密钥:
    #如果密钥不与该证书相结合,使用该
    #指令的密钥文件指向。请记住,如果
    #你已经既RSA和DSA私钥可以配置
    #无论在平行(也允许使用DSA密码等)
    #ECC密钥,在使用时,也可以在并联配置
    了SSLCertificateKeyFileC:/Apache24/conf/aws-101.key    #服务器证书链:
    #点SSLCertificateChainFile在包含一个文件
    PEM的#串联连接形成的codeD CA证书
    #证书链的服务器证书。另外
    #引用的文件可以是相同的了SSLCertificateFile
    #当CA证书被直接附加到服务器
    为了方便#证书。
    SSLCertificateChainFileC:/Apache24/conf/aws-101_ca_bundle.crt    #证书颁发机构(CA):
    #设置CA证书验证路径在哪里可以找到CA
    客户端身份验证或或一张证书#
    #包含所有这些巨大的文件(文件必须PEM连接codeD)
    #注意:内部SSLCACertificatePath你需要哈希符号链接
    #指向证书文件。使用提供的
    #Makefile中更改后更新哈希符号链接。
    #SSLCACertificatePathC:/Apache24/conf/aws-101_ca_bundle.crt
    #SSLCACertificateFileC:/Apache24/conf/aws-101_ca_bundle.crt    #证书吊销列表(CRL):
    #设置CA吊销路径在哪里可以找到CA CRL的客户端
    #认证或包含所有或一张巨大的文件
    其中#(文件必须PEM连接codeD)。
    #CRL的检查模式需要被明确配置
    #通过SSLCARevocationCheck(默认为无,否则)。
    #注意:内部SSLCARevocationPath你需要哈希符号链接
    #指向证书文件。使用提供的
    #Makefile中更改后更新哈希符号链接。
    #SSLCARevocationPathC:/Apache24/conf/ssl.crl
    #SSLCARevocationFileC:/Apache24/conf/ssl.crl/ca-bundle.crl
    #SSLCARevocationCheck链    #客户端身份验证(类型):
    #客户端证书的验证类型和深度。类型
    #无,可选需要和optional_no_ca。深度是一个
    它指定了如何深刻验证证书#号
    决定证书之前#发行人链无效。
    #SSLVerifyClient要求
    #SSLVerifyDepth 10    #TLS-SRP相互身份验证:
    #启用TLS-SRP和路径设置为OpenSSL的SRP验证
    #文件(包含SRP用户帐户的登录信息)。
    #需要OpenSSL的1.0.1或更高版本。见mod_ssl的常见问题解答
    #创建此文件的详细说明。例:
    #OpenSSL的SRP -srpvfile C:/Apache24/conf/passwd.srpv -add用户名
    #SSLSRPVerifierFileC:/Apache24/conf/passwd.srpv    # 访问控制:
    #随着SSLRequire你可以做每个目录的访问控制基础
    #在包含服务器任意复杂的布尔前pressions
    #变量检查和其他查询指令。语法是
    C和Perl的之间的混合#。见mod_ssl的文档
    # 更多细节。
    #<位置/>
    !#SSLRequire(%{} SSL_CIPHER〜M / ^(EXP | NULL)/ \\
    #和%{} SSL_CLIENT_S_DN_O EQ蛇油有限公司 \\
    #和%{} SSL_CLIENT_S_DN_OU {中的员工,CA,开发} \\
    #和%{TIME_WDAY}> = 1和%{TIME_WDAY}&下; = 5 \\
    #和%{TIME_HOUR}> = 8和%{TIME_HOUR}&下; = 20)\\
    #或%{REMOTE_ADDR} =〜M / ^ 192 \\ 0.76 \\ 0.162 \\。[0-9] + $ /
    #< /地点>    #SSL引擎选项:
    #设置SSL引擎的各种选项。
    #ØFakeBasicAuth:
    #翻译客户端的X.509成基本授权。这意味着
    #标准认证/ DBMAuth方法可用于访问控制。该
    #用户名是客户端的X.509证书的'一条线'版本。
    即从用户没有得到密码#注意。在用户的每个条目
    #文件需要这个密码:`xxj31ZMTZzkVA。
    #ØExportCertData:
    #这将导出另外两个环境变量:SSL_CLIENT_CERT和
    #SSL_SERVER_CERT。这些含有的质子交换膜恩codeD证书
    #服务器(总是存在的)和客户端(仅适用于现有的客户端时
    #认证时)。这可以用来导入证书
    #进入CGI脚本。
    #ØStdEnvVars:
    #这个出口相关的`SSL_ *环境变量标准的SSL / TLS。
    #每默认情况下该出口被关闭出于性能的考虑,
    #因为提取步骤是昂贵的操作,通常是
    #无用的静态内容。所以,人们通常使
    #出口的CGI和SSI只请求。
    #ØStrictRequire:
    #这个拒绝访问时SSLRequireSSL或SSLRequire甚至适用
    #一个满足所有的形势下,即当它应用访问被拒绝
    #并没有其他的模块可以改变它。
    #ØOptRenegotiate:
    #这使优化SSL连接重新协商处理时,SSL
    #指令在每个目录上下文中使用。
    #SSLOptions + FakeBasicAuth + ExportCertData + StrictRequire
    < FilesMatch\\(CGI | SHTML | PHTML | PHP)$。>
        SSLOptions + StdEnvVars
    < / FilesMatch>
    <目录C:/ Apache24 / cgi-bin目录>
        SSLOptions + StdEnvVars
    < /目录>    #SSL协议调整:
    #安全,默认但仍SSL / TLS符合标准关机
    #做法是,mod_ssl的发送通知关闭警报,但不等待
    #从客户的紧密通知警报。当你需要一个不同的关机
    #方法,您可以使用以下变量之一:
    #ØSSL-不洁关机:
    #这迫使非正常关机,当连接关闭,即无
    #SSL关闭通知警报发送或允许接收。这违反
    #需要对一些脑死亡的浏览器的SSL / TLS标准,但。使用
    #这个当您收到,因为标准的方法,即I / O错误
    #mod_ssl的发送通知关闭警报。
    #ØSSL精确关机:
    #这迫使准确停机当连接被关闭,即一
    #SSL关闭通知警报发送和mod_ssl的等待紧密通知
    #客户端的警报。这是100%的SSL / TLS标准兼容的,但在
    #实践中往往会导致脑死亡的浏览器挂连接。使用
    #这个只为你知道的浏览器,他们的SSL实现
    #正常工作。
    #注意:破碎的客户大部分问题也涉及到HTTP
    #保持活动设施,所以通常还需要禁用
    #保活为这些客户端了。使用变量nokeepalive这一点。
    #同样,人们必须迫使一些客户端使用HTTP / 1.0要解决
    #他们破碎的HTTP / 1.1的实现。使用变量降级-1.0和
    #力反应 - 1.0这一点。
    BrowserMatchMSIE [2-5]\\
             nokeepalive SSL-不洁关机\\
             降级-1.0动力响应-1.0    #每服务器日志记录:
    #定制SSL日志文件的家。当你想使用这个
    虚拟主机的基础上#紧凑的非SSL错误日志文件。
    的CustomLogC:/Apache24/logs/ssl_request.log\\
              %T%H%{} SSL_PROTOCOL X%{SSL_CIPHER}×\\%r \\%B    < /虚拟主机>


解决方案

从<一个href=\"https://www.chromium.org/Home/chromium-security/education/tls#TOC-De$p$pcation-of-TLS-Features-Algorithms-in-Chrome\" rel=\"nofollow\">https://www.chromium.org/Home/chromium-security/education/tls#TOC-De$p$pcation-of-TLS-Features-Algorithms-in-Chrome


  

过时密码套件


  
  

您可能会看到:


  
  

你给example.com的连接,使用过时的加密
  加密。


  
  

这意味着,在当前的网站的连接是使用一
  过时的密码套件(其中铬仍然允许在服务器坚持
  就可以了)。


  
  

为了对消息表示现代密码学中,
  连接应使用前向保密性,要么AES-GCM或
  CHACHA20_POLY1305。其他密码套件已知有弱点。
  大多数服务器都希望谈判
  TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256。


这一切都归结为您的配置以下行,即确定哪些密码套件支持并优先用于客户端的连接。

  SSLProtocol
的SSLCipherSuite
SSLHonorCipherOrder

https://certsimple.com/blog/chrome-outdated-cryptography 和 https://mozilla.github.io/server-side-tls / SSL的配置发电机/ 的,你可能想试试这个:

  SSLProtocol所有-SSLv2 -SSLv3
的SSLCipherSuite ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:ECDHE-RSA-DES-CBC3-SHA:ECDHE-ECDSA-DES-CBC3-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA
SSLHonorCipherOrder上

另请参阅:

[1] https://mozilla.github.io/服务器端TLS / SSL-配置发电机/ - :建议的安全配置

[2] https://www.ssllabs.com/ssltest/index.html - 测试服务器的SSL配置

I have started a Windows Server with Apache 2.4 and SSL. When I connect with https://www.example.com and click on green lock, i have message:

Your connection to website is encrypted with obsolete cryptography

Any advice, please?

Below is ssl.conf:

    #
    # This is the Apache server configuration file providing SSL support.
    # It contains the configuration directives to instruct the server how to
    # serve pages over an https connection. For detailed information about these 
    # directives see <URL:http://httpd.apache.org/docs/2.4/mod/mod_ssl.html>
    # 
    # Do NOT simply read the instructions in here without understanding
    # what they do.  They're here only as hints or reminders.  If you are unsure
    # consult the online docs. You have been warned.  
    #
    # Required modules: mod_log_config, mod_setenvif, mod_ssl,
    #          socache_shmcb_module (for default value of SSLSessionCache)

    #
    # Pseudo Random Number Generator (PRNG):
    # Configure one or more sources to seed the PRNG of the SSL library.
    # The seed data should be of good random quality.
    # WARNING! On some platforms /dev/random blocks if not enough entropy
    # is available. This means you then cannot use the /dev/random device
    # because it would lead to very long connection times (as long as
    # it requires to make more entropy available). But usually those
    # platforms additionally provide a /dev/urandom device which doesn't
    # block. So, if available, use this one instead. Read the mod_ssl User
    # Manual for more details.
    #
    #SSLRandomSeed startup file:/dev/random  512
    #SSLRandomSeed startup file:/dev/urandom 512

    #
    # When we also provide SSL we have to listen to the 
    # standard HTTP port (see above) and to the HTTPS port
    #
    Listen 443

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

    #   SSL Cipher Suite:
    #   List the ciphers that the client is permitted to negotiate.
    #   See the mod_ssl documentation for a complete list.
    #SSLCipherSuite HIGH:MEDIUM:!aNULL:!MD5


    #   Speed-optimized SSL Cipher configuration:
    #   If speed is your main concern (on busy HTTPS servers e.g.),
    #   you might want to force clients to specific, performance
    #   optimized ciphers. In this case, prepend those ciphers
    #   to the SSLCipherSuite list, and enable SSLHonorCipherOrder.
    #   Caveat: by giving precedence to RC4-SHA and AES128-SHA
    #   (as in the example below), most connections will no longer
    #   have perfect forward secrecy - if the server's key is
    #   compromised, captures of past or future traffic must be
    #   considered compromised, too.
    SSLCipherSuite RC4-SHA:AES128-SHA:HIGH:MEDIUM:!aNULL:!MD5
    #SSLHonorCipherOrder on 

    #   Pass Phrase Dialog:
    #   Configure the pass phrase gathering process.
    #   The filtering dialog program (`builtin' is an 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         "dbm:c:/Apache24/logs/ssl_scache"

    # Estes 2 estavam ativos
    #SSLSessionCache        "shmcb:c:/Apache24/logs/ssl_scache(512000)"
    #SSLSessionCacheTimeout  300

    #   OCSP Stapling (requires OpenSSL 0.9.8h or later)
    #
    #   This feature is disabled by default and requires at least
    #   the two directives SSLUseStapling and SSLStaplingCache.
    #   Refer to the documentation on OCSP Stapling in the SSL/TLS
    #   How-To for more information.
    #
    #   Enable stapling for all SSL-enabled servers:
    #SSLUseStapling On

    #   Define a relatively small cache for OCSP Stapling using
    #   the same mechanism that is used for the SSL session cache
    #   above.  If stapling is used with more than a few certificates,
    #   the size may need to be increased.  (AH01929 will be logged.)
    #SSLStaplingCache "shmcb:c:/Apache24/logs/ssl_stapling(32768)"

    #   Seconds before valid OCSP responses are expired from the cache
    #SSLStaplingStandardCacheTimeout 3600

    #   Seconds before invalid OCSP responses are expired from the cache
    #SSLStaplingErrorCacheTimeout 600

    ##
    ## SSL Virtual Host Context
    ##

    <VirtualHost *:443>

    #   General setup for the virtual host
    DocumentRoot "c:/Apache24/htdocs"
    ServerName www.xxx.com:443
    ServerAdmin webmaster@xxx.com
    ErrorLog "c:/Apache24/logs/error.log"
    TransferLog "c:/Apache24/logs/access.log"

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


    #   Server Certificate:
    #   Point SSLCertificateFile at a PEM encoded certificate.  If
    #   the certificate is encrypted, then you will be prompted for a
    #   pass phrase.  Note that a kill -HUP will prompt again.  Keep
    #   in mind that if you have both an RSA and a DSA certificate you
    #   can configure both in parallel (to also allow the use of DSA
    #   ciphers, etc.)
    #   Some ECC cipher suites (http://www.ietf.org/rfc/rfc4492.txt)
    #   require an ECC certificate which can also be configured in
    #   parallel.
    SSLCertificateFile "c:/Apache24/conf/aws-101.crt"
    #SSLCertificateFile "c:/Apache24/conf/server-dsa.crt"
    #SSLCertificateFile "c:/Apache24/conf/server-ecc.crt"

    #   Server Private Key:
    #   If the key is not combined with the certificate, use this
    #   directive to point at the key file.  Keep in mind that if
    #   you've both a RSA and a DSA private key you can configure
    #   both in parallel (to also allow the use of DSA ciphers, etc.)
    #   ECC keys, when in use, can also be configured in parallel
    SSLCertificateKeyFile "c:/Apache24/conf/aws-101.key"

    #   Server Certificate Chain:
    #   Point SSLCertificateChainFile at a file containing the
    #   concatenation of PEM encoded CA certificates which form the
    #   certificate chain for the server certificate. Alternatively
    #   the referenced file can be the same as SSLCertificateFile
    #   when the CA certificates are directly appended to the server
    #   certificate for convenience.
    SSLCertificateChainFile "c:/Apache24/conf/aws-101_ca_bundle.crt"

    #   Certificate Authority (CA):
    #   Set the CA certificate verification path where to find CA
    #   certificates for client authentication or alternatively one
    #   huge file containing all of them (file must be PEM encoded)
    #   Note: Inside SSLCACertificatePath you need hash symlinks
    #         to point to the certificate files. Use the provided
    #         Makefile to update the hash symlinks after changes.
    #SSLCACertificatePath "c:/Apache24/conf/aws-101_ca_bundle.crt"
    #SSLCACertificateFile "c:/Apache24/conf/aws-101_ca_bundle.crt"

    #   Certificate Revocation Lists (CRL):
    #   Set the CA revocation path where to find CA CRLs for client
    #   authentication or alternatively one huge file containing all
    #   of them (file must be PEM encoded).
    #   The CRL checking mode needs to be configured explicitly
    #   through SSLCARevocationCheck (defaults to "none" otherwise).
    #   Note: Inside SSLCARevocationPath you need hash symlinks
    #         to point to the certificate files. Use the provided
    #         Makefile to update the hash symlinks after changes.
    #SSLCARevocationPath "c:/Apache24/conf/ssl.crl"
    #SSLCARevocationFile "c:/Apache24/conf/ssl.crl/ca-bundle.crl"
    #SSLCARevocationCheck chain

    #   Client Authentication (Type):
    #   Client certificate verification type and depth.  Types are
    #   none, optional, require and optional_no_ca.  Depth is a
    #   number which specifies how deeply to verify the certificate
    #   issuer chain before deciding the certificate is not valid.
    #SSLVerifyClient require
    #SSLVerifyDepth  10

    #   TLS-SRP mutual authentication:
    #   Enable TLS-SRP and set the path to the OpenSSL SRP verifier
    #   file (containing login information for SRP user accounts). 
    #   Requires OpenSSL 1.0.1 or newer. See the mod_ssl FAQ for
    #   detailed instructions on creating this file. Example:
    #   "openssl srp -srpvfile c:/Apache24/conf/passwd.srpv -add username"
    #SSLSRPVerifierFile "c:/Apache24/conf/passwd.srpv"

    #   Access Control:
    #   With SSLRequire you can do per-directory access control based
    #   on arbitrary complex boolean expressions containing server
    #   variable checks and other lookup directives.  The syntax is a
    #   mixture between C and Perl.  See the mod_ssl documentation
    #   for more details.
    #<Location />
    #SSLRequire (    %{SSL_CIPHER} !~ m/^(EXP|NULL)/ \
    #            and %{SSL_CLIENT_S_DN_O} eq "Snake Oil, Ltd." \
    #            and %{SSL_CLIENT_S_DN_OU} in {"Staff", "CA", "Dev"} \
    #            and %{TIME_WDAY} >= 1 and %{TIME_WDAY} <= 5 \
    #            and %{TIME_HOUR} >= 8 and %{TIME_HOUR} <= 20       ) \
    #           or %{REMOTE_ADDR} =~ m/^192\.76\.162\.[0-9]+$/
    #</Location>

    #   SSL Engine Options:
    #   Set various options for the SSL engine.
    #   o FakeBasicAuth:
    #     Translate the client X.509 into a Basic Authorisation.  This means that
    #     the standard Auth/DBMAuth methods can be used for access control.  The
    #     user name is the `one line' version of the client's X.509 certificate.
    #     Note that no password is obtained from the user. Every entry in the user
    #     file needs this password: `xxj31ZMTZzkVA'.
    #   o ExportCertData:
    #     This exports two additional environment variables: SSL_CLIENT_CERT and
    #     SSL_SERVER_CERT. These contain the PEM-encoded certificates of the
    #     server (always existing) and the client (only existing when client
    #     authentication is used). This can be used to import the certificates
    #     into CGI scripts.
    #   o StdEnvVars:
    #     This exports the standard SSL/TLS related `SSL_*' environment variables.
    #     Per default this exportation is switched off for performance reasons,
    #     because the extraction step is an expensive operation and is usually
    #     useless for serving static content. So one usually enables the
    #     exportation for CGI and SSI requests only.
    #   o StrictRequire:
    #     This denies access when "SSLRequireSSL" or "SSLRequire" applied even
    #     under a "Satisfy any" situation, i.e. when it applies access is denied
    #     and no other module can change it.
    #   o OptRenegotiate:
    #     This enables optimized SSL connection renegotiation handling when SSL
    #     directives are used in per-directory context. 
    #SSLOptions +FakeBasicAuth +ExportCertData +StrictRequire
    <FilesMatch "\.(cgi|shtml|phtml|php)$">
        SSLOptions +StdEnvVars
    </FilesMatch>
    <Directory "c:/Apache24/cgi-bin">
        SSLOptions +StdEnvVars
    </Directory>

    #   SSL Protocol Adjustments:
    #   The safe and default but still SSL/TLS standard compliant shutdown
    #   approach is that mod_ssl sends the close notify alert but doesn't wait for
    #   the close notify alert from client. When you need a different shutdown
    #   approach you can use one of the following variables:
    #   o ssl-unclean-shutdown:
    #     This forces an unclean shutdown when the connection is closed, i.e. no
    #     SSL close notify alert is sent or allowed to be received.  This violates
    #     the SSL/TLS standard but is needed for some brain-dead browsers. Use
    #     this when you receive I/O errors because of the standard approach where
    #     mod_ssl sends the close notify alert.
    #   o ssl-accurate-shutdown:
    #     This forces an accurate shutdown when the connection is closed, i.e. a
    #     SSL close notify alert is send and mod_ssl waits for the close notify
    #     alert of the client. This is 100% SSL/TLS standard compliant, but in
    #     practice often causes hanging connections with brain-dead browsers. Use
    #     this only for browsers where you know that their SSL implementation
    #     works correctly. 
    #   Notice: Most problems of broken clients are also related to the HTTP
    #   keep-alive facility, so you usually additionally want to disable
    #   keep-alive for those clients, too. Use variable "nokeepalive" for this.
    #   Similarly, one has to force some clients to use HTTP/1.0 to workaround
    #   their broken HTTP/1.1 implementation. Use variables "downgrade-1.0" and
    #   "force-response-1.0" for this.
    BrowserMatch "MSIE [2-5]" \
             nokeepalive ssl-unclean-shutdown \
             downgrade-1.0 force-response-1.0

    #   Per-Server Logging:
    #   The home of a custom SSL log file. Use this when you want a
    #   compact non-error SSL logfile on a virtual host basis.
    CustomLog "c:/Apache24/logs/ssl_request.log" \
              "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"

    </VirtualHost>                                  

解决方案

From https://www.chromium.org/Home/chromium-security/education/tls#TOC-Deprecation-of-TLS-Features-Algorithms-in-Chrome

Obsolete Cipher Suites

You may see:

"Your connection to example.com is encrypted with obsolete cryptography."

This means that the connection to the current website is using an outdated cipher suite (which Chrome still allows if the server insists on it).

In order for the message to indicate "modern cryptography", the connection should use forward secrecy and either AES-GCM or CHACHA20_POLY1305. Other cipher suites are known to have weaknesses. Most servers will wish to negotiate TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256.

All this boils down to the following lines in your configuration, that determine which cipher suites are supported and prioritized for connections with clients.

SSLProtocol
SSLCipherSuite
SSLHonorCipherOrder

Per https://certsimple.com/blog/chrome-outdated-cryptography and https://mozilla.github.io/server-side-tls/ssl-config-generator/, you may want to give this a try:

SSLProtocol             all -SSLv2 -SSLv3
SSLCipherSuite          ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:ECDHE-RSA-DES-CBC3-SHA:ECDHE-ECDSA-DES-CBC3-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA
SSLHonorCipherOrder     on

See also:

[1] https://mozilla.github.io/server-side-tls/ssl-config-generator/ - Suggests security configurations

[2] https://www.ssllabs.com/ssltest/index.html -- Test your server's SSL configuration

这篇关于从浏览器过时的加密警告的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆