所有从相同 Cumulus Linux 4.0.0 和 4.1.0 镜像安装的交换机都具有相同的 SSH 主机密钥

问题

由于打包错误,所有从相同 Cumulus Linux 镜像安装的交换机都具有相同的 SSH 主机密钥。这会影响最初从磁盘镜像安装的 Cumulus Linux 4.0.0 和 4.1.0 交换机(包括那些通过 apt 升级到更高版本的交换机)。

因此,此问题使攻击者在用户通过 SSH 连接到他或她认为是以前使用过的远程主机,但实际上是攻击者的主机时,更容易绕过远程主机验证。例如,有人可以通过欺骗或中间人攻击来利用此问题。

环境

  • 最初从磁盘镜像安装的 Cumulus Linux 4.0.0 和 4.1.0 交换机,包括那些通过 apt 升级到更高版本的交换机

解决方案

要解决此问题,请为任何安装了 Cumulus Linux 4.0.0 或 4.1.0 的交换机生成新的 SSH 主机密钥

cumulus@switch:~$ sudo rm /etc/ssh/ssh_host*
cumulus@switch:~$ sudo dpkg-reconfigure openssh-server
cumulus@switch:~$ sudo systemctl restart ssh

生成新的 SSH 主机密钥后,以前登录到该交换机的 SSH 客户端将显示交换机的 SSH 主机密钥已更改的警告;这是正常行为。请务必告知任何可能登录到该交换机的人员您已生成新的 SSH 主机密钥。这些用户必须使用其 SSH 客户端登录到受影响的交换机,在那里他们会收到有关如何从已知主机文件中删除旧的 SSH 主机密钥的说明,以避免针对其 SSH 客户端的欺骗或中间人攻击。

注释

  • Cumulus Linux 4.1.1 具有此问题的修复程序。但是,NVIDIA 建议您生成新的 SSH 主机密钥,因为这是最可靠的解决方案。
  • 如果您使用 apt-get 从 Cumulus Linux 4.0.0 或 4.1.0 升级到 4.1.1 或更高版本,并且您没有生成新的 SSH 主机密钥,则必须在升级后生成新的 SSH 主机密钥。
  • 如果您使用磁盘镜像全新安装 Cumulus Linux 4.1.1 或更高版本,您将丢失现有的本地配置。