专访土豆网技术副总黄冬:后端服务器的隔离非常重要

  • 郑柯

2011 年 12 月 25 日

话题:安全DevOps语言 & 开发架构文化 & 方法

黄冬,现任土豆网技术副总裁,主持设计和运营过多个大型高容量产品和系统。也是中国 FreeBSD、Python 社区的发起者和积极参与者,啄木鸟社区的创始人之一。

针对近期频繁发生的互联网公司用户信息泄露事件,InfoQ 中文站对他进行了专访。

InfoQ:多家互联网公司发生这种用户信息泄露事件,您觉得背后的原因是什么?

黄冬:说实话,这次的事件我认为是有些幕后指示的。这些受伤害的网站,当然有他们自己的问题。但是我觉得最重要的是:一定有一些很重要的第三方,在做一些是给自身带来利益的事情。

我认为这个用户信息泄露事件突出了几件事。第一件事,在这次事件里边一定有一些做安全的厂商受益。我不认为他们做这样的事情有什么不好,这样的厂商做这样的事情,对这个行业来讲是好事。但是他们主动把用户信息泄露出来,这个真的不太好。我认为一切事情都有利益出发点,要么是个体,要么是厂商,为了达成自己的一些利益,形成了这样的一个事件。真实的状况,我觉得应该是这样的。

第二点,所谓这些用户信息泄露事件,无非是三个渠道:第一个渠道,企业内部出现了问题,产生了信息外泄。第二种就是我认为现在泄露出来的大规模的信息。还有一种可能性,就是通过某一个网站的密码的泄露,产生连锁反应,因为我可以拿这个密码去向其他的网站去做验证,然后可以感染出一大堆网站来,也就是整体传播的状况。

至于说安全薄弱,这没办法,互联网世界本来就是飞快往前跑着的,我觉得安全问题是难免的,大家有一个良好的、积极的心态去面对,在成长路上做得越来越好,这要自己去建设。

InfoQ:类似问题发生的时候,公司应该采取哪些应急措施呢?

黄冬:我觉得对于公司来讲,现在做任何安全方面的应急措施都是晚的了,这时候应该做的事情是从产品和运营层面,就是安抚用户,帮助用户尽快修改密码。安全是一个长期的事,出现了这样的问题应该尽快去寻找漏洞,以及企业内部安全信息泄露的原因。该做什么做什么就好了。

从技术上来说,没什么特别的,基本上就是技术层面就是按部就班,把该做的事做到就好了,只不过是能不能快点去做。

InfoQ:对于 Web 前端开发,您认为哪些是最重要的考虑因素?

黄冬:首先,作为非常重要的基础,要有数据库操作和用户账号操作的统一框架。其次,在必要的时候要记录关键的安全日志,而且这些日志要有审核机制。第三,对于普通 Web 应用,现在是有一些工具和框架可以辅助做自动检测。有这三种措施作为提前准备,我觉得是很重要的。

InfoQ:后端服务器层面呢?

黄冬:后端服务器的层面,就是要有隔离了。后端服务器,最简单的就是,原则上来讲只开单一端口,也就是 80 端口。第二,原则上,用户界面和管理界面应该从网络上面、从访问的途径上面区分开。第三点,我们应该尽可能地把后端管理上面的分层做好,就是层和层之间比较不容易做穿就好了。第四点,管理和应用的运行时态空间也应该分开,我认为把一个应用经常跑在 Root 上面,这就是对自己的不负责了。分层隔离,对于后端服务器层面而言是非常重要的。

InfoQ:对于互联网的用户来说,您有哪些安全的建议?

黄冬:互联网用户其实是比较悲催的,我认为最好的建议是几个,

首先,我认为大家应该用一些比较好的软件,来管理自己的用户名和密码,我自己也用这样的密码管理软件,1Password我自己用起来觉得非常好。第二点,真的很希望大家用一些在安全方面的确有保障的公司帐号,来做 Oauth 方式的帐号注册。比如我们用 Gmail 的,或者是腾讯的、新浪的联合认证,也就是说万一某一个网站出现了安全问题,那你可以快速地通过单个网站的密码更改,然后顶多泄露某个网站上面的东西而已。泄露密码这件事实在是太惨了,密码泄露了之后,相当于别人可以拿你的密码跑到很多个网站上去尝试。然后他可以用这种方式方法把你的信息给干掉。第三个,我认为大家应该把自己的应用分成三类,一类是瞎折腾的,一类是跟你个人实际属性相关的,还有一类是跟你的钱相关的东西。分三个级别,用三种密码安全级别,就是密码的强度来去维护,也是一种方法。也就这样了,其他的一些网站,能不注册就别注册了。

InfoQ:这次事件,您觉得大家应该从里边吸取哪些经验和教训呢?

黄冬:对普通用户而言,最主要的经验和教训就是:大家是不是用完全相同的密码在所有网站上面去登录和注册。从公司的角度来讲,可以看到各家公司处理的方式方法和状态不一样,有些公司在这件事上的处理状态不是很好,所以这是一个运营层面应该吸取的经验和教训。

安全是这样,一旦安全问题出来了之后,是不是能够更有效地管理,去提前做出应急措施,就是运营层面的应急措施是比较重要的。还有一个就是,密码的存储模型要考虑好。密码应该是加密存储的,而不是明文存储。

对于互联网用户来讲,如果看到一个网站有找回密码这项功能,这网站最好就别再注册了。我认为网站不应该提供找回密码这个功能,应该只有重置密码功能。原则上来讲,网站不应该存有用户的密码,他存的密码应该是一个他的系统管理员和网站都无法认识的东西才对。

InfoQ 安全系列—专访韩轶平:整个行业都要提高安全意识

InfoQ 安全系列—专访友录创始人姜洋,谈移动客户端安全

InfoQ 安全系列—专访安全宝 CEO 马杰:安全需要做到整条战线的严丝合缝

InfoQ 安全系列—安全问题成为社区热点

安全DevOps语言 & 开发架构文化 & 方法