如何禁用弱 HMAC 算法?在 ssh_config 或 sshd_config 文件中找不到

如何禁用弱 HMAC 算法?在 ssh_config 或 sshd_config 文件中找不到

漏洞扫描显示,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算法已从列表中删除。

相关内容