OpenSSH漏洞可以让黑客轻易绕过身份认证限制并发动强力的攻击破解密码。如何缓解这种威胁?是否应该考虑使用像OpenSSH这样的开源加密软件?
Michael Cobb:OpenSSH是一个免费的基于SSH协议的有关安全的网络层实用工具。可在绝大多数基于Linux的系统上使用,也可以在许多网络基础设施设备上使用,它为远程登录和远程文件传输等网络服务以多因素身份验证方式提供加密服务。默认情况下,SSH服务器允许在关闭连接前尝试登录6次,一台SSH客户端只允许尝试登录3次。然而,研究员KingCope最新发现的身份认证漏洞允许攻击者可在2分钟内在一些键盘操作开启的OpenSSH服务器上不限次数的尝试登录。概念验证利用代码是一个非常简单的命令:
ssh -lusername -oKbdInteractiveDevices=`perl -e 'print "pam," x 10000'` targethost
虽然在两分钟内暴力破解强密码不太可能会成功,不过对于内置SSH的设备来说暴力破解密码仍是一个常见现象,这表明攻击者仍然在寻找使用弱密码的服务器来谋求价值,特别是那些键盘操作认证已在FreeBSD上等默认启用的时候。黑客不使用最常见的密码,而是一些更特别的密码来找到正确的,反正该认证漏洞允许他们随便进行尝试。
Red Hat、OpenBSD以及CentOS系统看上去可能不受该认证漏洞影响,不过FreeBSD以及Mac操作系统会受影响,因为它们在认证失败时不会有任何延时。这虽然不是一个非常严重的漏洞,但在官方补丁和最佳实践出来之前,管理员应该采取以下步骤避免漏洞被利用:
· 禁用密码验证
· 使用一个密钥用于验证,只有具有密钥的电脑可以访问面向Internet的服务器
· 使用键长度至少2048节
· 使用强密码来保护密钥
· 减少20或30秒尝试登录期
· 限制尝试登录次数
· 不禁用登录失败时的延时
也可以用Fail2ban这类的工具来防止OpenSSH漏洞,减少错误认证的几率以及更新防火墙规则,在指定时间内拒绝受怀疑的IP地址访问。