漫话:如何给女朋友解释2亿中国用户简历是怎样泄露的——攻击篇

5,828 阅读6分钟

周六一大早,我正在给周五的面试者写面试评价。女朋友在旁边浏览新闻。

近日,外网安全研究人员偶然发现一个没有被很好保护的 MongoDB 数据库服务器,整个实例包含 854GB 数据,共有 202,730,434 条记录,其中大部分是中国用户简历,内容非常详细,包括中文全名、家庭住址、电话号码、电子邮件、婚烟状况、政治关系、期望薪水等内容。

本文是如何给女朋友解释为什么12306会用户信息泄露(上)——密码篇的下篇,原名:『如何给女朋友解释为什么12306会用户信息泄露(下)——攻击篇』。


拖库

拖库本来是数据库领域的术语,指从数据库中导出数据。到了黑客攻击泛滥的今天,它被用来指网站遭到入侵后,黑客窃取其数据库。

黑客通过技术手段窃取数据库的过程叫做拖库。就像小偷偷东西是一样的。

“拖库”的通常步骤为:

  • 1、黑客对目标网站进行扫描,查找其存在的漏洞,常见漏洞包括SQL注入、文件上传漏洞等。(小偷蹲点

  • 2、通过该漏洞在网站服务器上建立“后门(webshell)”,通过该后门获取服务器操作系统的权限。(小偷想办法进入室内

  • 3、利用系统权限直接下载备份数据库,或查找数据库链接,将其导出到本地。(小偷盗走值钱的东西

小偷想要入室盗窃的前提就是可以入室,那么,在互联网中,黑客是通过哪些手段入侵网站的呢?

利用网站漏洞

最常见的网站入侵的方式就是黑客利用网站的漏洞来对网站进行攻击。这里说的网站漏洞包括网站应用自身的漏洞、网站使用的WEB服务器的漏洞、网站使用的开源框架中的漏洞、网站使用的数据库漏洞等。

比如,如果应用自身没有做防SQL注入、存在文件上传漏洞等,就极大可能被黑客入侵。

黑客还有可能会利用系统漏洞,在特定的网站上进行挂马,如果网站管理员在维护系统的时候不小心访问到这些网站,就可能被植入木马,也会引发后续的拖库风险。

一旦漏洞被黑客发现并且利用,就有可能利用这些漏洞入侵网站,并窃取数据库。

内部人员泄漏

除了网站漏洞可能会被黑客利用以外,还有些情况可能是由于人导致的。

比如曾经发生过的,某公司程序员将公司数据库的地址和明文密码等上传到github中。

或者还有可能是内部人员的电脑由于安装了一些不安全的软件,或者浏览了不安全的网站,导致自己的电脑被黑客入侵,进而入侵公司服务器。

甚至有可能是内部人员主动泄露。

如何防止被拖库

整个Web网站,从用户浏览器到后端数据库,要经历很多个环节,各个环节都有可能被黑客有机可乘,所以,要对每一个环节都做好防护。

 (http://wemedia.ifeng.com/76236054/wemedia.shtml)

首先,在代码开发时,要多多注意是否可能存在SQL注入、水平权限漏洞、垂直权限漏洞、XSS漏洞等。尽量避免在应用层被攻击。其次就是那些容易被忽略的环节,如数据库、Web服务器和人。

数据库安全防护

  • IP白名单

    • 只给需要访问数据库的webserver机器授权IP地址。

  • 修改默认端口号

    • 比如Mysql的默认端口号是3306,建议修改掉。

  • 每个业务用独立的用户名密码

    • 至少保证每个不同的业务使用不同的用户名和密码。这样就算其中的一条业务不幸被攻击,不会轻易殃及别的业务。

  • 不使用明文保存密码等重要数据

    • 对关键隐私数据做脱敏

Web服务器防护

  • 隐藏服务器外网IP地址

    • 如果确实要保留外网IP,可以通过在web服务器前面增加负载均衡等接入层,隐藏web服务器的IP地址。

  • 屏蔽Web服务等端口以外的所有端口

    • 除了80,443等Web服务端口,和个别必须的运维端口,通过防火墙屏蔽其他端口。

  • 定期检查更新系统

    • 发现存在漏洞后及时修复漏洞

对人防护

  • 只给指定运维人员开放连接服务器的权限

  • 禁止未经公司允许擅自公开公司项目代码

洗库

“洗库”,也称黑客洗库,属于黑客入侵的一种,就是黑客入侵网站,通过技术手段将有价值的用户数据归纳分析,售卖变现。

说的简单一点,就是一个小偷,入室盗窃后偷到了很多东西,他对这些赃物分类,然后进行销赃的过程。

撞库

”撞库”是黑客通过收集互联网已泄露的用户和密码信息,生成对应的字典表,尝试批量登陆其他网站后,得到一系列可以登录的用户。很多用户在不同网站使用的是相同的帐号密码,因此黑客可以通过获取用户在A网站的账户从而尝试登录B网址,这就可以理解为撞库攻击。

说的简单一点,就是一个小偷,入室盗窃后偷到了一串钥匙,然后他拿着这串钥匙,在整个小区里面挨家挨户的进行开锁。这个过程就是撞库。

如何保护个人隐私数据

1、不同的网站,尽量不要使用相同的密码。重要的账号,一定要单独设置密码。如支付宝、微信等

2、定期修改密码,可有效避免网站数据库泄露影响到自身帐号

3、不使用工作邮箱注册网络帐号,以免密码泄露后危及企业信息安全

4、不让电脑自动“保存密码”,不随意在第三方网站输入帐号和密码

5、定期在所有已登录站点手动强制注销进行安全退出

6、电脑勤打补丁,尽量不使用盗版或者破解软件,避免被挂马

7、不可信软件、不可信网站,通过虚拟机访问

8、尽量不要使用公共场所的免费WIFI

9、离开电脑前,记得锁屏

记住以上这九点建议,可以有效的保护自己的隐私安全。