如何缓解 Terrapin SSH 攻击?

KJ7*_*LNW 5 security ssh encryption openssh vulnerability

Terrapin对 SSH 的攻击详细介绍了针对 SSH 协议的“前缀截断攻击”。更准确地说,Terrapin 破坏了 SSH 安全通道的完整性。通过在握手期间仔细调整序列号,攻击者可以删除由 SSH 协议发送的任意数量的消息。客户端或服务器位于安全通道的开头,而客户端或服务器没有注意到它。”

您将如何更改 SSH 配置来减轻这种攻击?

KJ7*_*LNW 7

这听起来像是一次可怕的攻击,但解决起来很简单。要减轻攻击,请参阅我的阻止 Terrapin 攻击一文,了解 SSH 配置详细信息。具体来说,您需要阻止 ETM HMAC 和 ChaCha20 密码,如下所示:

对于最近基于 RHEL 的 Linux 系统(Alma、Rocky Oracle 等),这将起作用:

# cat /etc/crypto-policies/policies/modules/TERRAPIN.pmod
cipher@ssh = -CHACHA20*
ssh_etm = 0

# update-crypto-policies --set DEFAULT:TERRAPIN
Setting system policy to DEFAULT:TERRAPIN
Note: System-wide crypto policies are applied on application start-up.
It is recommended to restart the system for the change of policies
to fully take place.
Run Code Online (Sandbox Code Playgroud)

或者,您可以强制使用 AES-GCM,如果您的系统没有(或不使用),则该 AES-GCM不易受到攻击update-crypto-policies(例如,如 @StephenKitt 所指出的,Debian/Ubuntu 默认情况下可能不使用加密策略):

# cat /etc/ssh/sshd_config
[...]
Ciphers aes256-gcm@openssh.com
Run Code Online (Sandbox Code Playgroud)

然后用原研究人员提供的测试工具进行测试。

  • 请注意,Debian(和 Ubuntu,据我所知)默认情况下*不*使用“加密策略”。 (2认同)