漏洞扫描显示,Debian 10系统中使用了不安全的MAC算法:[电子邮件受保护],[电子邮件受保护],[电子邮件受保护],hmac-sha1
当我这样做时ssh -Q mac
,我得到以下结果:
hmac-sha1
hmac-sha1-96
hmac-sha2-256
hmac-sha2-512
hmac-md5
hmac-md5-96
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
文件中/etc/ssh/ssh_config
有一行被注释掉:
# MACs hmac-md5,hmac-sha1,[email protected]
文件中没有提及 umac-64-etm 或 hmac-sha1-etm。其中/etc/ssh/sshd_config
根本没有 MAC 关键字。如何禁用这些弱 HMAC?
答案1
支持的 MAC 算法列表由选项决定MACs
,都在ssh_config
并在sshd_config
。如果不存在,则使用默认值。如果您想要更改默认值,请编辑现有条目或添加一个(如果不存在)。例如:
MACs hmac-sha2-256,hmac-sha2-512,[email protected],[email protected],[email protected]
OpenSSH 的最新版本(以及Debian 10足够新)还允许差异化规范,例如禁用所有短 MAC 和基于 MD5 或 SHA-1 的 MAC:
MACs -*md5*,*sha1,*sha1-*,*-64,*-96
请注意,默认算法实际上都不是不安全的。 64 位 MAC 对于离线使用而言非常弱,但对于仅在一次连接内有效的网络消息来说是可以接受的,在任何人都可以破坏 64 位 MAC 之前,它就会超时。 (这表明它们仍然在 OpenSSH 的默认列表中,尽管 OpenSSH 在安全方面非常积极主动。)MD5 和 SHA1 的弱点使得它们作为哈希值不安全,但 HMAC 构造并不关心这些弱点。我建议至少保留hmac-sha1
与旧系统的互操作性,除非您绝对需要出于合规性而禁用它(这与合规性有关,而不是与安全性有关)。
答案2
吉尔斯回答让我走上了正轨,但我仍然无法全面了解。修改配置文件后,我在运行时没有看到显示的列表有任何变化ssh -Q mac
。我发现这是因为ssh -Q mac
列出了我的 SSH 版本支持的所有 MAC 算法,而不是服务器当前正在使用的算法。
获取我使用的服务器当前正在使用的内容的列表sshd -T | egrep '^macs'
。
就我而言,我想删除所有沙1算法所以我将这一行添加MACs -*sha1*
到/etc/ssh/sshd_config
.
重新启动 sshd 然后systemctl restart sshd
运行后sshd -T | egrep '^macs'
我可以看到沙1算法已从列表中删除。