客户的供应商在其 Debian 8 服务器上生成 PCI 合规性扫描。
摘自他们的报告:
短于 2048 位的 DSA 密钥和 RSA 密钥被认为易受攻击。建议安装长度至少为 2048 位或更大的 RSA 公钥,或切换到 ECDSA 或 EdDSA。
我的大部分搜索都返回如何处理 ssh 作为客户端。少数间接涉及强化此服务器的搜索建议我尝试更改 /etc/ssh/ssh_config。
尽管据说它已经过时了,但我还是从本地运行了 ssh-audit,它提供了一些建议,删除了一些密钥、mac 和 hex。看到供应商的报告后,我注释掉了
#HostKey /etc/ssh/ssh_host_ecdsa_key
并重新启动了 ssh.service 并从本地重新运行 ssh-audit,但它似乎并没有改变其建议列表,表明我做错了什么。
我怀疑我没有采取正确的措施来为客户解决这个问题。我应该怎么做?
这是向 PCI 供应商展示的后续内容Debian 8 已成功修复。
答案1
在 Debian jessie 上(目前是旧稳定版且处于 LTS 阶段;您应该启用 LTS 并在未来几个月内升级),ssh RSA 密钥当前以 2048 位生成。但如果系统升级到 jessie,它可能使用 1024 位生成旧密钥。
您可以使用以下命令检查主机 RSA 密钥的状态:
error@vmtest-debian8:~$ ssh-keygen -lf /etc/ssh/ssh_host_rsa_key.pub
2048 1a:bc:78:5e:2f:37:dd:75:c2:70:e8:18:41:35:b9:2e /etc/ssh/ssh_host_rsa_key.pub (RSA)
如果密钥小于 2048 位,则需要生成一个新的 ssh 主机密钥。
error@vmtest-debian8:~$ sudo ssh-keygen -N '' -b 2048 -t rsa -f /etc/ssh/ssh_host_rsa_key
Generating public/private rsa key pair.
/etc/ssh/ssh_host_rsa_key already exists.
Overwrite (y/n)? y
Your identification has been saved in /etc/ssh/ssh_host_rsa_key.
Your public key has been saved in /etc/ssh/ssh_host_rsa_key.pub.
The key fingerprint is:
47:60:91:14:b1:15:6e:6d:ea:e9:36:37:31:08:d3:69 root@vmtest-debian8
The key's randomart image is:
+---[RSA 2048]----+
| .B=o. |
| ..= . |
| ..+.o |
| ooEo |
| S+o. |
| o..o |
| o o |
| .o o |
| ..o . |
+-----------------+
当然,重新启动 OpenSSH。
error@vmtest-debian8:~$ sudo systemctl restart sshd
请注意,下次有人连接到服务器时,他们可能会收到类似这样的恶意邮件,并且无法连接:
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that a host key has just been changed.
受影响的用户将需要适当编辑其已知主机。