del*_*oot 3 windows-7 apache-http-server ssl openssl
我一直无法找到解决方案,如果有请参考。
跑步:
并在我的httpd_ssl 中有以下内容
SSLStrictSNIVHostCheck off
SSLProtocol All -SSLv2 -SSLV3
SSLCompression off
SSLInsecureRenegotiation off
SSLHonorCipherOrder on
SSLCipherSuite "EECDH+ECDSA+AESGCM EECDH+aRSA+AESGCM EECDH+ECDSA+SHA384
EECDH+ECDSA+SHA256 EECDH+aRSA+SHA384 EECDH+aRSA+SHA256 EECDH EDH+aRSA !aNULL !eNULL
!LOW !3DES !MD5 !EXP !PSK !SRP !DSS !RC4"
SSLUseStapling on
SSLStaplingResponderTimeout 5
SSLStaplingReturnResponderErrors off
Run Code Online (Sandbox Code Playgroud)
题:
无论我做什么,我似乎都无法启用 TLSv1.1 和 TLSv1.2。
运行 ServerSSLTest 脚本,我得到的只是支持的版本:TLSv1.0
我错过了什么?
小智 5
首先,您需要在 OpenSSL 中获得 TLSv1.1 和 V1.2 支持 - 使用 v1.0.1j 即可。
接下来是 Apache V2.2.24(或更高版本)对与 SSL 相关的配置项的支持。特别是,要指定 TLS1 之后的任何内容(即 TLSv1.1 TLSv1.2),您需要更高版本。你有 2.4.4,所以应该没问题。
接着,是Apache配置参数之间的“相互作用”:SSLProtocol
和SSLCipherSuite
。
因此,对于您想要的配置,TLSv1.1 和 TLSv1.2,您需要如下内容:
SSLProtocol=All -SSLv2 -SSLV3 -TLSv1
SSLCipherSuite HIGH:!aNULL:!MD5:!RC4
Run Code Online (Sandbox Code Playgroud)
感谢您提供更具体的密码套件列表:
EECDH+ECDSA+AESGCM EECDH+aRSA+AESGCM EECDH+ECDSA+SHA384 EECDH+ECDSA+SHA256 EECDH+aRSA+SHA384 EECDH+aRSA+SHA256 EECDH EDH+aRSA !aNULL !eNULL !LOW !3DES !MD5 !EXP !PSK !SRP !DSS !RC4
Run Code Online (Sandbox Code Playgroud)
但是,当我检查我的 openssl(v1.0.1 流)时,我发现支持以下 TLSv1.2 之前的套件:
openssl ciphers -s -v 'EECDH+ECDSA+AESGCM EECDH+aRSA+AESGCM EECDH+ECDSA+SHA384 EECDH+ECDSA+SHA256 EECDH+aRSA+SHA384 EECDH+aRSA+SHA256 EECDH EDH+aRSA !aNULL !eNULL !LOW !3DES !MD5 !EXP !PSK !SRP !DSS !RC4'
ECDHE-RSA-AES256-SHA SSLv3 Kx=ECDH Au=RSA Enc=AES(256) Mac=SHA1
ECDHE-ECDSA-AES256-SHA SSLv3 Kx=ECDH Au=ECDSA Enc=AES(256) Mac=SHA1
ECDHE-RSA-AES128-SHA SSLv3 Kx=ECDH Au=RSA Enc=AES(128) Mac=SHA1
ECDHE-ECDSA-AES128-SHA SSLv3 Kx=ECDH Au=ECDSA Enc=AES(128) Mac=SHA1
DHE-RSA-AES256-SHA SSLv3 Kx=DH Au=RSA Enc=AES(256) Mac=SHA1
DHE-RSA-CAMELLIA256-SHA SSLv3 Kx=DH Au=RSA Enc=Camellia(256) Mac=SHA1
DHE-RSA-AES128-SHA SSLv3 Kx=DH Au=RSA Enc=AES(128) Mac=SHA1
DHE-RSA-SEED-SHA SSLv3 Kx=DH Au=RSA Enc=SEED(128) Mac=SHA1
DHE-RSA-CAMELLIA128-SHA SSLv3 Kx=DH Au=RSA Enc=Camellia(128) Mac=SHA1
Run Code Online (Sandbox Code Playgroud)
然后在这里检查(第 A.5 节),http: //tools.ietf.org/html/rfc4346 我不认为我的 openssl 列出的任何支持的套件实际上是 TLSv1.1 有效的,所以你只会结束在测试时使用 TLSv1.2(例如在 Qualys https://www.ssllabs.com/ssltest/)。
最后,还有客户端支持的整个问题 - 上面的 Qualys 链接很方便,因为它列出了哪种类型的客户端(例如,特定的 Android 版本)能够连接到提交的测试服务器)。由于您对密码非常专一,我认为您不会因为允许 TLSv1(读取 v1.0)以及 V1.1 和 V1.2 而冒太大风险,除非您知道您的访问者群将不包括 TLSv1只有有能力的客户。
归档时间: |
|
查看次数: |
13557 次 |
最近记录: |