针对SSH 上与Logjam相关的攻击的一种建议的缓解策略是使用类似的东西生成自定义 SSH Diffie-Hellman 组(以下针对 OpenSSH)
ssh-keygen -G moduli-2048.candidates -b 2048
ssh-keygen -T moduli-2048 -f moduli-2048.candidates
Run Code Online (Sandbox Code Playgroud)
然后用输出文件替换系统范围的模文件moduli-2048
。(ssh-keygen -G
用于生成候选 DH-GEX 素数,并ssh-keygen -T
测试生成的候选者的安全性。)
这显然是在 SSH 服务器上做的一个合理的事情,否则将使用众所周知的组,这些组很适合预先计算,但是将自定义 SSH DH 组部署到仅客户端系统上是否有任何安全优势?(也就是说,系统连接到 SSH 服务器,但本身从不充当 SSH 服务器。)
我主要对与 Linux 上的 OpenSSH 相关的答案感兴趣,但更通用的答案也将不胜感激。
我已经在我的 centos 6.6 机器上升级到 Apache 2.4.12 和 openssl 1.0.2a。
当我启动 apache 时,我看到返回了以下错误消息:
Invalid command 'SSLOpenSSLConfCmd', perhaps misspelled or defined by a module not included in the server configuration
Run Code Online (Sandbox Code Playgroud)
这是我的 apache 构建信息:
Server version: Apache/2.4.12 (Unix)
Server built: Jun 8 2015 22:04:38
Server's Module Magic Number: 20120211:41
Server loaded: APR 1.4.5, APR-UTIL 1.3.12
Compiled using: APR 1.4.5, APR-UTIL 1.3.12
Architecture: 64-bit
Server MPM: worker
threaded: yes (fixed thread count)
forked: yes (variable process count)
Server compiled …
Run Code Online (Sandbox Code Playgroud) 在撰写本文时(第 2 天),关于如何缓解 Apache 和其他 Web 服务器的 Logjam 的准确指南很少,例如此页面:
https://weakdh.org/sysadmin.html
OpenVPN 服务器的类似说明是什么?
OpenVPN 是否受到影响?(我想是的,因为它是 TLS 协议问题)。
由于我的 Debian 服务器上的最新 openssl 升级,我的 mysql 客户端无法连接并给出以下消息
SSL connection error: error:14082174:SSL routines:SSL3_CHECK_CERT_AND_ALGORITHM:dh key too small
Run Code Online (Sandbox Code Playgroud)
我猜这是为了防止Logjam攻击。
感谢https://weakdh.org/sysadmin.html,我知道如何生成更强的 Diffie-Hellman 参数。但是,我没有找到任何 MySQL 配置选项来实际使用它们。
有人知道吗?
由于 Logjam 漏洞,我将密码限制为 ECDHE,因此我无法再从 Centos 机器上执行 curl 操作。(来自 Ubuntu 的作品)
$ curl -v https://mysite.mydomain.com
* Initializing NSS with certpath: sql:/etc/pki/nssdb
* CAfile: /etc/pki/tls/certs/ca-bundle.crt CApath: none
* NSS error -12286 (SSL_ERROR_NO_CYPHER_OVERLAP)
* Cannot communicate securely with peer: no common encryption algorithm(s).
Run Code Online (Sandbox Code Playgroud)
用 openssl 打开作品:
$ openssl s_client -connect mysite.mydomain.com:443
SSL-Session:
Protocol : TLSv1.2
Cipher : ECDHE-RSA-AES256-GCM-SHA384
Run Code Online (Sandbox Code Playgroud)
我尝试使用显式密码 --insecure 和 --tlsv1.2,但没有运气
$ curl --ciphers TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 -v https://mysite.mydomain.com
curl: (59) Unknown cipher in list: TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
Run Code Online (Sandbox Code Playgroud)
编辑:尝试使用正确的 NSS 密码名称,并且小于 384 位:
curl --ciphers ecdhe_rsa_aes_128_sha_256 …
Run Code Online (Sandbox Code Playgroud)