有人知道 Ubuntu 14.04 的 OpenSSL 是否启用了所有 TLS 协议(TLS1.0、TLS1.1 和 TLS1.2)吗?或者它是否像以前的版本一样禁用了协议(TLS1.1 和 TLS1.2)?
相关:如何检查这种事情?
编辑:这不是错误报告问题;也不是开发人员问题。你们把“关闭为错误报告”搞得太过了。
答案1
$ cat /etc/issue
Ubuntu 14.04 LTS \n \l
$ apt-cache policy openssl
openssl:
Installed: 1.0.1f-1ubuntu2
Candidate: 1.0.1f-1ubuntu2
Version table:
*** 1.0.1f-1ubuntu2 0
500 http://us.archive.ubuntu.com/ubuntu/ trusty/main amd64 Packages
100 /var/lib/dpkg/status
$ openssl ciphers -v 'TLSv1.2' | head -4
ECDHE-RSA-AES256-GCM-SHA384 TLSv1.2 Kx=ECDH Au=RSA Enc=AESGCM(256) Mac=AEAD
ECDHE-ECDSA-AES256-GCM-SHA384 TLSv1.2 Kx=ECDH Au=ECDSA Enc=AESGCM(256) Mac=AEAD
ECDHE-RSA-AES256-SHA384 TLSv1.2 Kx=ECDH Au=RSA Enc=AES(256) Mac=SHA384
ECDHE-ECDSA-AES256-SHA384 TLSv1.2 Kx=ECDH Au=ECDSA Enc=AES(256) Mac=SHA384
答案2
我想总结一下@andrewsomething 的回答......
简短回答 TLSv1.2。
具体来说,在您的系统上使用以下命令:
$ openssl ciphers -v TLSv1
您可以根据需要将 v1 替换为 v1.[012] 以查看详细信息。请注意,您需要使用 TLSv1 和 TLSv1.2(默认情况下禁用 1.0 和 1.1)。
答案3
openssl ciphers -v | awk '{print $2}' | sort | uniq
应打印已启用的内容。
答案4
根据变更日志TLS 1.1 最后一次被禁用是因为版本 1.0.1b 中修复了一个错误(2012 年 4 月 26 日)。从那时起,TLS 支持从未默认被禁用。但是,它们可以被禁用。
要查明服务器是否禁用了任何 SSL 协议,您可以使用:
nmap --script +ssl-enum-ciphers example.com
这将给你如下的回报:
Starting Nmap 6.47 ( http://nmap.org ) at 2015-11-06 12:00 UTC
...
| ssl-enum-ciphers:
| SSLv3:
| ciphers:
...
| TLSv1.0:
| ciphers:
...
| TLSv1.1:
| ciphers:
...
| TLSv1.2:
| ciphers:
...
|_ least strength: strong
Nmap done: 1 IP address (1 host up) scanned in 22.15 seconds
当某个协议不受支持时,它通常不会出现在列表中。