来自浏览器的过时加密警告

2023-12-22

我已经启动了带有 Apache 2.4 和 SSL 的 Windows Server。当我连接时https://www.example.com https://www.example.com然后点击绿色锁,我有消息:

您与网站的连接已使用过时的加密技术进行加密

请问有什么建议吗?

下边是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 [email protected] /cdn-cgi/l/email-protection
    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 https://www.chromium.org/Home/chromium-security/education/tls#TOC-Deprecation-of-TLS-Features-Algorithms-in-Chrome

过时的密码套件

您可能会看到:

“您与 example.com 的连接已使用过时的加密 密码学。”

这意味着与当前网站的连接正在使用 过时的密码套件(如果服务器坚持,Chrome 仍然允许 在上面)。

为了使消息表明“现代密码学”, 连接应使用前向保密和 AES-GCM 或 CHACHA20_POLY1305。众所周知,其他密码套件也存在弱点。 大多数服务器都希望协商 TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256。

所有这些都归结为配置中的以下几行,它们确定支持哪些密码套件以及与客户端的连接的优先级。

SSLProtocol
SSLCipherSuite
SSLHonorCipherOrder

Per https://certsimple.com/blog/chrome-outdated-cryptography https://certsimple.com/blog/chrome-outdated-cryptography and https://mozilla.github.io/server-side-tls/ssl-config-generator/ https://mozilla.github.io/server-side-tls/ssl-config-generator/,您可能想尝试一下:

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

也可以看看:

[1] https://mozilla.github.io/server-side-tls/ssl-config-generator/ https://mozilla.github.io/server-side-tls/ssl-config-generator/- 建议安全配置

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

来自浏览器的过时加密警告 的相关文章

随机推荐

  • 如何浏览 iPhone 图片库中的图片?

    我是ios开发新手 我正在做一个照片裁剪应用程序 我想通过单击浏览按钮 我在应用程序中添加 来浏览 iPhone 图片库中的图像 并将其加载到我放置在视图中的 UIImageview 如何浏览图像 是否可以浏览完整的手机内存 就像 asp
  • Firebase、Swift:向给定设备令牌的特定用户发送推送通知

    我有一个 Firebase Swift 聊天应用程序 我想在其中向特定用户发送推送通知 我已经捕获并可以访问用户的设备令牌 所有参考文献都提到必须有一个 网络应用程序 来管理这个 但我还没有找到任何具体的例子 是否需要有一个 Web 应用来
  • GKTurnBasedEventListener 无法设置为我的 ViewController 的委托?

    在 objC 中 语法由拉温德里奇 https www raywenderlich com 5509 beginning turn based gaming with ios 5 part 2 for GKTurnBasedEventLis
  • Eclipse 中针对 JavaScript 代码的“缺少分号”警告

    对于以下代码的第 4 行 Eclipse 向我发出警告 缺少分号 const C b function foo alert x 它不适用于以下代码 const C b function foo alert x 对于以下内容 它给了我两个警告
  • 如何动态为 FullCalendar 事件分配颜色

    我正在尝试在 FullCalendar 可选演示中实现一项功能 该功能使用户能够使用 HTML 颜色选择器动态更改每个新日历事件的颜色 用户应该能够为每个事件选择唯一的颜色 例如 在当前设置中 生成的第一个事件采用颜色选择器中选择的任何颜色
  • 在 Spring Batch 项目中实现 ItemReader 时如何打开 Reader?

    在 Spring Batch 项目中 我需要用多行组成一条记录 我正在实施ItemReader在返回对象之前累积多行 在完成了几个示例项目之后 我将其拼凑在一起 但我面临着ReaderNotOpenException 我已经三次检查文件的路
  • 电子邮件确认不存储 Django allauth

    我正在使用 Django allauth 和 django rest auth 我通过电子邮件确认实现了身份验证 但现在我意识到它不能完全正常工作 因为我没有在数据库中存储发送电子邮件确认 在管理中看不到它们 电子邮件确认正在按应有的方式发
  • Pandas:根据另一列中的值对两列进行分组

    我对 python pandas 很陌生 我有一个看起来像这样的数据框 id name color id 1 alex blue id 2 james yellow id 1 sara black id 4 dave pink id 4 l
  • 使用反射将字符串转换为 Nullable

    如何使用反射将字符串转换为可空值 我有以下代码可以将几乎任何值转换为几乎任何值类型 上面有相当多的代码使用 IsAssignableFrom 等 所以这是最后的手段 MethodInfo parse t GetMethod Parse ne
  • 取消注册通过清单注册的广播接收器

    是否可以注销BroadcastReceiver已通过清单注册 另请告诉我是否可以忽略BroadcastReceiver 无需进行任何代码更改 因为这样BroadcastReceiver现在对我来说没有用了 谢谢 您可以使用以下代码禁用接收器
  • 如何通过代码注册一个Spring ApplicationListener实现?

    我有一个 Spring 的实现ApplicationListener 当它在上下文 xml 文件中声明为 bean 或如果我使用时 它工作正常并接收事件 Component注解 但是 如果我使用以下代码通过代码手动注册它 它不会接收事件Co
  • Java:println中的布尔值(布尔值?“打印真”:“打印假”)[重复]

    这个问题在这里已经有答案了 我遇到了这个语法 System out println boolean variable print true print false 这个带有两个点 的语法是什么 我在哪里可以找到相关信息 它只适用于布尔值还是
  • C、套接字:连接被拒绝错误

    我有一个数据采集模块 我想从中收集以太网端口的数据 我正在一步步到达那里 目前我只想connect从客户端到服务器 我使用 Beej 的指南来获取基本的 C 代码 但我不断收到此连接错误connect Connection refused
  • 以编程方式更改 WPF TextBox 中的验证规则

    我有一个如下定义的文本输入区域
  • 如何创建虚拟 Windows 驱动器

    我正在尝试创建一个 Windows 虚拟驱动器 如 c 来映射远程存储 主要目的是以用户清楚的方式做到这一点 因此 用户不会知道他正在从另一个站点写入 读取 我正在寻找可用的产品 我发现FUSE在Windows中不是一个选项 而WebDAV
  • 如何为 hadoop 2.0 编译/使用 mahout?

    最新版本的 Mahout 0 9 仅基于 hadoop 1 x 构建 mvn 干净安装 如何为 hadoop 2 0 x 编译 mahout 因为当我运行命令时 hadoop jar mahout examples 0 9 SNAPSHOT
  • 如何使用可变大小的缓冲区获取c类型结构中字段的值?

    import readboard import struct import ctypes as c def readbuffer data size struct unpack
  • 碰撞检测/从 ArrayList 中删除对象

    我目前正在尝试测试下落物体和盒子之间的碰撞 我了解基本的碰撞检测 但我的问题是我必须测试它是否有无限数量的下落物体 当这些对象 blossoms 被创建时 它们被存储在一个ArrayList中 ArrayList 处理画布上对象的绘制 使用
  • 通过ilasm更改可执行图标

    我有一个安装程序应用程序 其中嵌入了 resx 文件 其中包含一些信息 例如服务器名称 端口 密码等 我必须生成这个安装程序 这个过程是自动化的 并通过我们的网站完成 对于每个客户 这工作正常 我用ildasm用于反汇编程序并替换 resx
  • 来自浏览器的过时加密警告

    我已经启动了带有 Apache 2 4 和 SSL 的 Windows Server 当我连接时https www example com https www example com然后点击绿色锁 我有消息 您与网站的连接已使用过时的加密技