如何提高 ssh 会话对中间人攻击的安全性?
如何正确保护 ssh 会话免受 MITM 攻击?
信息安全
SSH
硬化
中间人
2021-09-10 03:14:59
3个回答
确保您注意有关更改服务器公钥的警告。如果您收到这样的警告,请说“不”并通过带外方式检查公钥指纹;除非您以某种方式验证了公钥指纹,否则不要说“是”。
如果您从不连接到新主机,则可以设置
StrictHostKeyChecking yes
在您的~/.ssh/config配置文件中(或在 中/etc/ssh/ssh_config)。但是,如果您经常连接到新机器,这可能会很烦人。
阅读ssh 手册页的验证主机密钥部分。
阅读RSA 指纹如何防止 MITM 攻击?在这个网站上。
使用 SSH 私钥而不是密码进行身份验证。
如果您可以控制自己的基础架构,则可以考虑为主机和用户设置ssh 证书。这允许 ssh 客户端验证 ssh 服务器的身份。这可能是对抗中间人攻击的最佳解决方案,因为它消除了用户仔细检查指纹的需要。实际上,许多用户可能不会费心去检查,因此 ssh 证书可能是一种更有用、更可靠的防御措施。
始终使用公钥进行身份验证(更好的是,在 中完全关闭密码身份验证/etc/ssh/sshd_config),这应该可以阻止任何针对 OpenSSH 的 MITM 攻击。
这是一个更详细的简短解释:http: //www.gremwell.com/ssh-mitm-public-key-authentication
在 MITM 中,攻击者通常会伪装成真正的服务器。攻击者不会传递真实服务器的公钥,因为它没有相应的私钥;因此,假设“我们假设 MITM 攻击者已经设法绕过服务器主机密钥验证并欺骗对等方建立连接”意味着客户端已经建立了一个在攻击者处终止的 SSH 连接。反过来,攻击者正在建立与真实服务器的连接并提供自己的公钥。
会话 ID 是一个完全的红鲱鱼,因为攻击者根本不会传递它;它将建立一个合法的客户端连接并终止客户端的连接,并在两个连接之间代理输入/输出。
其它你可能感兴趣的问题