OpenSSH 出严重 Bug 了

2016-01-15 04:13:29 +08:00
 so898
做噩梦惊醒,本来说看看 HN 定定神,然后就看到了置顶的那个 OpenSSH Bug
看了一圈讨论没搞清楚是个啥问题,但可以确定的是这货比较严重

给自家几台服务器简单部署了 Workaround 之后倒床去……

OpenSSH: client bug CVE-2016-0777 : http://undeadly.org/cgi?action=article&sid=20160114142733
HN 讨论: https://news.ycombinator.com/item?id=10901588
8360 次点击
所在节点    Linux
30 条回复
kn007
2016-01-15 04:15:38 +08:00
https://kn007.net/topics/wechat-official-account/

PS. Fix OpenSSH Security Bug CVE-2016-0777(Only Redhat/CentOS 7 Affected).

快 0 点的事情。。。
kn007
2016-01-15 04:19:10 +08:00
貌似要 openssh 大于 5.4 版本才有。

Since version 5.4, the OpenSSH client supports an undocumented feature called roaming
msg7086
2016-01-15 06:43:03 +08:00
@kn007 把 service sshd restart 去掉吧,免得误导人。
silverfox
2016-01-15 07:33:31 +08:00
这个 Bug 是对客户端 (ssh) 有影响,不是服务端 (sshd)。所以一般只需要检查本地和跳板机。

## 受影响版本
5.4 至 7.1

## 验证
ssh -v user@hostname 2>&1 > /dev/null | grep -i 'roaming'
如输出有 debug1: Roaming not allowed by server 则受此影响,否则无需操作

## 修复
echo -e 'Host *\nUseRoaming no' >> /etc/ssh/ssh_config
OS X 10.9 的路径是 /etc/ssh_config
kn007
2016-01-15 07:40:47 +08:00
@msg7086 改了设置要重启啊,改成 reload
SharkIng
2016-01-15 07:44:42 +08:00
所以收到影响的是本地的 SSH 而不是远程的 SSHD 是么?
azuis
2016-01-15 07:47:20 +08:00
@kn007 这个是客户端 ssh 的 bug 为什么要重启 sshd ?
clino
2016-01-15 07:51:02 +08:00
到底会有什么后果?
貌似会被恶意的主机利用获取客户端的信息哈?
msg7086
2016-01-15 08:02:29 +08:00
@kn007 我说不要误导人,其实我的意思是你被误导了。
imlonghao
2016-01-15 08:23:04 +08:00
@kn007 service sshd reload 是不需要的,你说改了配置要重启,其实是我们改的只是 ssh_config 而不是 sshd_config 所以没有必要
kn007
2016-01-15 08:26:02 +08:00
@imlonghao
@msg7086
@azuis
原来如此,这是我的一个习惯。

而且以为改了配置,要重启。

感谢指正
silverfox
2016-01-15 08:26:13 +08:00
@clino 简单地说 OpenSSH 客户端 (ssh) 支持 Roaming 这个未在文档上注明的试验性功能,它是在与服务器连接异常中断时恢复连接用的。

这个功能出了两个 BUG ,恶意主机(被入侵的主机)可以通过在服务端中断连接的方式诱导客户端从内存里泄露机密信息(私钥)给它。

所以要在客户端里把这个功能临时禁用掉,等待新版本发布后修正。

OpenSSH 服务端 (sshd) 不能支持客户端的这个功能 (-_-) ,所以验证的时候会提示“ Roaming not allowed by server ”。

## 参考
http://security.stackexchange.com/questions/110639/how-exploitable-is-the-recent-useroaming-ssh-problem
http://www.undeadly.org/cgi?action=article&sid=20160114142733
loveminds
2016-01-15 08:34:06 +08:00
这是给本地客户端用的吧,而不是服务器
Tinet
2016-01-15 09:26:24 +08:00
@silverfox Roaming not allowed by server ,如果服务器端不支持这个特性才受影响?确定没写反?
ryd994
2016-01-15 09:28:35 +08:00
这个漏洞不能获取 ssh-agent 的私钥,不能用于非 openssh 客户端(比如 putty ),,要先攻陷一台服务器或者让用户登录恶意服务器(中间人没用),还只能获取加密过的私钥,所以其实没那么严重。
这个 workaround 是用在客户端上的,也就是说是用来 patch 你自己电脑而不是服务器用的

我从最近全面转向 Yubikey ,自己的服务器用 OTP 登录,别人的服务器用智能卡公钥登录。无论哪种情况,都免疫这种攻击,因为内存里从来就没有私钥。
ryd994
2016-01-15 09:30:30 +08:00
windows 上都用 putty
linux 上没几个人高兴一直输密码,大多是用 agent 的
如果你私钥不加密码那时你自己活该
likuku
2016-01-15 09:39:33 +08:00
刚 debian 的例行每日更新:

The following packages will be upgraded:
openssh-client openssh-server
2 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Need to get 1,364 kB of archives.
After this operation, 0 B of additional disk space will be used.
Do you want to continue [Y/n]? Y
Get:1 http://security.debian.org/ wheezy/updates/main openssh-server amd64 1:6.0p1-4+deb7u3 [340 kB]
Get:2 http://security.debian.org/ wheezy/updates/main openssh-client amd64 1:6.0p1-4+deb7u3 [1,024 kB]
Braid
2016-01-15 09:55:54 +08:00
@silverfox Mac OS X 下的修补方案是: echo 'Host *\nUseRoaming no' >> /etc/ssh_config

注意没有“-e ”!
注意没有“-e ”!
注意没有“-e ”!

重要的话讲三遍~~~
silverfox
2016-01-15 10:31:47 +08:00
@Tinet 没写反,我们要禁用的是客户端的 Roaming 功能。

“ Roaming not allowed by server ” 是客户端提示信息,说服务端不支持这个特性。
如果禁用了这个功能,客户端就不会跟服务端协商说要用 Roaming ,自然就没有这个提示信息了。
est
2016-01-15 10:35:44 +08:00
openssh 抄袭 mosh 还抄出了 bug 。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/250862

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX