谈谈“脱裤”这点事
2018-08-29 08:00

谈谈“脱裤”这点事

虎嗅注:本文转载自微信公众号“caoz的梦呓”(ID:caozsay),作者:曹政。


别想歪,“脱裤”是一种俗称,其实是拖库,或者说,数据库被黑客整个拖下来。


其实我之前提到过Github敏感信息上传的风险,很不幸的是,同样的问题已经发生在我们身边。


你看,华住犯了同样的错误,因为数据库密码被传递到了Github上,数据被拖库,现在已经在地下黑市流通。想想看,几亿条开房记录,我还是华住会金会籍呢。要不要瑟瑟发抖呢?


今天简单说一下华住这个“脱裤”事件暴露的问题和防脱裤的几个原则。


1. Github信息脱敏


根据公开的一些截屏信息看,华住不仅仅是数据库密码被暴露(还是弱密码),而且连微信的appid 和secret也被暴露。黑客要是利用这个在官方微信公众号里发一条钓鱼信息,这得有多可怕啊。


代码使用Github我觉得不是说非要严格禁止,但代码脱敏是非常重要的,密码和关键信息是绝对不能放在公开代码里的。


2. 数据库应禁止外网IP


数据库应只保留内网端口,如果必须保留外网端口,应通过白名单策略,仅限指定服务器访问。


3. 数据中间层过滤


对于高安全性系统而言,程序代码应只访问中间层,只能在中间层以许可的逻辑访问数据库,中间层应能过滤一些危险操作,或只设置白名单操作。类似全库拖库的操作,应该是中间层所不能许可的,或者仅限于指定管理备份主机或仅限于最高权限管理账户,而程序是不能使用最高权限账户登录数据库的。


4. 密码严禁明文存储


不但要加密存储,还要不可逆加密;不但要不可逆加密,还要加盐;不但要加盐,还要加随机盐。


cmd5.com我以前说过,不“加盐”的不可逆加密,秒秒钟被彩虹库撞出来。


不理解为什么要随机盐的程序员都回去补课,这个问题必须理解透彻。


5. 敏感信息应混淆存储


敏感信息必须可逆,不能做不可逆加密,这是没办法的事情。


但信息混淆还是要做的,不能让黑客那么容易拿到。


当然,如果代码都公开了,在Github上都被人拿到了,混淆也是很容易被破解出来的。但怎么说呢,每一步都是增加黑客的入侵成本,提高黑客拖库门槛不是么?如果代码没公开而只是数据库被拖,那么敏感信息混淆还是很有意义的。


6. 任何企业的程序员入职,都应该有信息安全培训


拖库的可能性,想到哪里写到哪里:


  • 这种Github密码泄露,惨剧挺多的了已经。

  • 内鬼。

  • SQL注入,惨剧也极多,而且经久不衰。

  • 服务器被其他原因入侵,连带数据库被拖。

  • 研发或运维的个人电脑被入侵,植入木马。

  • 备份服务器安全策略不当,或者第三方备份系统出问题,也包括数据分析服务器,很多时候这就是个意识问题,觉得反正不是线上业务,随便跑跑数据。

  • 云穿透,云主机现在太流行了,虽然暂时案例可能没有,风险还是存在的,而且一出问题肯定不小。

  • 授权滥用,比如第三方接口给的权限太高,或者没注意到授权验证逻辑上的风险。

  • 报废服务器处置不当,硬盘被人数据修复什么的,别说异想天开,只要资料有价值,就有人会琢磨这些;有些公司业务关停,二手服务器批量出售,如果处理不当,这个风险还是有的。

  • 基于社工,拿到数据库密码,比如微信上假冒技术总监找运维工程师要到密码。

  • 嗅探侦听,通过sniffer拿到管理员密码入侵服务器。不过现在应该没有管理员用telnet了吧。

  • 钓鱼,比如机房如果安全配置很扯淡,在同机房内搞个服务器,弄个ARP欺骗,把管理员骗到蜜罐里,密码轻松到手。


先想到这些。有其他的欢迎留言补充。

本内容为作者独立观点,不代表虎嗅立场。未经允许不得转载,授权事宜请联系hezuo@huxiu.com
如对本稿件有异议或投诉,请联系tougao@huxiu.com
正在改变与想要改变世界的人,都在 虎嗅APP
赞赏
关闭赞赏 开启赞赏

支持一下   修改

确定