最后更新于2023年4月17日星期一22:16:41 GMT

Summary

Nexpose 附带SSH配置的物理设备允许将过时的算法用于密钥交换和其他功能. 因为这些算法是启用的, 涉及对硬件设备进行身份验证的攻击更有可能成功. 我们强烈建议当前的硬件设备所有者更新他们的系统,使用下面“修复”中概述的步骤来加固他们的SSH配置. In addition, Rapid7正在与设备供应商合作,以确保未来的设备只允许所需的算法.

此漏洞被分类为 CWE-327(使用破损或危险的加密算法). 假设到物理设备的SSH连接使用“管理员”帐户, 哪些设备具有sudo访问权限, the 这个问题的CVSS基本得分是8.5.

Credit

Rapid7 warmly thanks Liam Somerville 向我们报告这个漏洞, 并在整个调查过程中提供信息,以帮助我们快速解决问题.

Am I affected?

所有物理、硬件设备都会受到影响. 虚拟设备(可下载的虚拟机)不受影响.

漏洞细节

暴露物理设备

硬件设备的默认SSH配置启用了可能存在问题的算法,这些算法被认为是过时的.

KEX algorithms:

Diffie-hellman-group-exchange-sha1, diffie-hellman-group14-sha1, diffie-hellman-group1-sha1   
Ssh-dss, ecdsa-sha2-nistp256, ssh-ed25519  

加密算法:

Arcfour256, arcfour128, aes128-cbc, 3des-cbc,河豚-cbc, cast128-cbc,   
Aes192-cbc, aes256-cbc, arcfour, rijndael-cbc@lysator.liu.se  

MAC algorithms:

hmac-md5-etm@openssh.com, hmac-sha1-etm@openssh.com, umac - 64 etm@openssh.com, hmac-ripemd160-etm@openssh.com,  
hmac - sha1 - 96, etm@openssh.com, hmac - md5 - 96, etm@openssh.hmac-md5, hmac-sha1, umac-64@openssh.com,   
hmac-ripemd160, hmac-ripemd160@openssh.hmac-sha1-96, hmac-md5-96  

这些由设备上使用的OpenSSH版本支持, 并且应该通过只启用所需算法的显式配置禁用.

暴露虚拟设备

软件设备(可下载的虚拟机)不受此问题影响. 它们指定所需的算法,只允许通常推荐的算法.

补救- 2017/06/02更新

在进行任何更新之前,首先验证您的设备正在运行Ubuntu 14.04 or above. 可以通过运行“lsb_release -r”来确定版本。. If on 14.4,您应该看到类似于“Release: 14”的输出.04”.

如果设备运行的是Ubuntu 12.04或以下:需要升级操作系统

请联系Rapid7支持以获取有关升级的更多信息. Ubuntu 12.04 reached 2017年4月结束生命,我们强烈建议您更新到受支持的版本. DO NOT 如果你不是14,继续下面的更改.因为旧版本的OpenSSH不支持某些配置选项.

如果设备运行的是Ubuntu 14.04 or above

基于Ubuntu 14的OpenSSH版本.04 (“OpenSSH_6.6.1p1 Ubuntu-2ubuntu2, OpenSSL 1.0.(2014年1月6日)将支持以下配置更改. 如果你从12开始更新.04, 您可能需要将OpenSSH更新到最新可用版本,以确保您有可用的安全补丁, 但这不是这个变化所必需的. 你可以通过运行“ssh -V”来检查OpenSSH版本。. 目前最新的为14.04 is “OpenSSH_6.6.1p1 Ubuntu-2ubuntu2.8”

关于验证和现有连接的说明

不要关闭用于更改配置的SSH会话,直到您第一次尝试建立新的连接并验证您能够连接. 这将使您在编辑出现问题并且需要恢复和检查时保持连接, 因为活跃的SSH会话不应该被关闭,即使服务重新启动. 如果你跳过这一步, 您可能会失去通过SSH连接的能力, 这可能意味着您需要物理访问或其他方法来解决问题.

Configuration change

管理员需要在他们的expose设备上编辑/etc/ssh/sshd_config文件. 修改配置文件前,请先复制配置文件.g. “sudo cp /etc/ssh/sshd_config /home/administrator”),以防编辑过程中出现问题. 添加以下行(基于 这里提供的指导方针)到文件末尾:

#只启用现代密码、密钥交换和MAC算法  
# http://wiki.mozilla.org/Security/Guidelines/OpenSSH#Modern_.28OpenSSH_6.7.2B.29  
KexAlgorithms curve25519-sha256@libssh.org, ecdh-sha2-nistp521 ecdh-sha2-nistp384、ecdh-sha2-nistp256 diffie-hellman-group-exchange-sha256  
密码chacha20-poly1305@openssh.com, aes256-gcm@openssh.com, aes128-gcm@openssh.com、aes256-ctr aes192-ctr aes128-ctr  
mac用户hmac - sha2 - 512 etm@openssh.com,用户hmac - sha2 - 256 etm@openssh.com, umac - 128 etm@openssh.com,用户hmac - sha2 - 512,用户hmac - sha2 - 256, umac - 128 @openssh.com  

请注意抄写上面的全部内容, 哪个可以在浏览器中水平滚动. 你也可以从 this gist. 这取决于您安装的SSH版本, 该文件中可能有其他配置行用于“KexAlgorithms”。, "Ciphers", and "MACs". If that is the case, 删除或注释(在行首添加“#”)这些行,以便确保您添加的所需配置得到尊重.

编辑该文件需要root访问权限, 因此设备默认的“管理员”用户, 或其他具有sudo权限的用户, 需要执行这一步吗.

更新配置文件后,验证所做的更改是否与上面的配置匹配. This is important, 因为缺少部分配置可能导致服务重新启动时出现语法错误, 以及失去联系. 您可以运行此命令,并将三个输出行与上面的配置块进行比较:

/etc/ssh/sshd_config . exe "KexAlgorithms|Ciphers| mac  

验证配置更改后,执行“service SSH restart”重新启动SSH服务。. Once that completes, 验证您仍然可以通过SSH客户端连接到另一个终端中的设备. 在成功连接到第二个终端之前,不要关闭原始终端.

此更改不应影响从expose实例到物理设备的连接(此通信不使用SSH). 其主要影响是支持SSH客户机的访问,这样它们就不能使用过时的算法连接到设备.

给您带来的不便,我们深表歉意, 并衷心感谢与我们合作测试和排除这些补救措施的客户.

Disclosure Timeline

  • 2017年5月10日星期三:漏洞报告给Rapid7
  • 2017年5月17日星期三:Rapid7确认漏洞
  • 2017年5月23日星期二:Rapid7为该问题分配了CVE-2017-5243
  • 2017年5月31日星期三:向MITRE披露
  • 2017年5月31日星期三:公开披露