数据库和金库,哪个能防监守自盗?

有一个朋友,最近心情很不好。因为他是在单位里主管信息系统运维的,而最近有人发现他们单位里的一些业务数据被刻成光盘在网上兜售,这下领导就找他谈话了,要他查清楚这些数据是如何泄漏的。他找了信息部门里所有能接触到数据的人,包括几个数据库管理员,谈话,结果什么也没查出来——当然不会有人承认是自己干的。而业务部门的主管则把皮球彻底地踢给了他,说信息部门应该提供相关证据,他们才能在业务部门里自查。这事让他一筹莫展,而领导承受的压力也很大,对他也没有好脸色。他已经不去想年终的奖金了,整天就担心着自己的位子。他倒的一肚子苦水让我想到了数据安全的一些问题。


在整个信息系统中,数据库就是最后一道防线。因为黑客也好,内贼也好,他们想得到的东西就存放在这里。这里就象是银行的金库大门,外面的重重防卫就是为了避免让居心不良的人到达这里。而金库大门通常也是最坚固的。但是大家应该都还记得2007年轰动全国的邯郸市农业银行两名金库看管员监守自盗五千万的事。虽然金库有60厘米厚的钢板加水泥的墙,可这两哥们串通之后凭着自己掌管的两把钥匙,多次大摇大摆地在摄像头下面把钱运走。这说明什么?说明再坚固的对外防线也不能防止监守自盗。如果有利欲熏心的数据库管理员利用管理员的特权盗走敏感数据,就会引发同样的故事。


而金库案告破之后,上至农行河北省分行行长辞职,副行长免职,下至两人所在的现金管理中心人员全部下岗接受审查,中间还牵连了一大批中层干部。如果当初这些领导对安全管理足够重视,就不会这样丢掉乌纱帽了。而最近即将出台的两个法律《刑法修正案第七版》和《个人信息保护法》都规定国家机关或者金融、电信、交通、教育、医疗等单位工作人员非法泄露、出售、窃取个人信息的行为也将受刑法制裁。如果等到这两个法律实行,我的这位朋友的麻烦就更大了。


每个单位都有数据库,还有很多单位的数据库和应用系统维护是外包给其他公司的。每个数据库都有管理员(简称DBA)或所谓的超级用户,只要有这些DBA的口令,就可以登录到数据库里,查询甚至是修改所有的数据,而且DBA还可以删除相关的操作记录,让人无法追查。管理这些DBA比管理现实生活中的金库管理员还要困难,因为有时候你不知道哪些人已经有了“钥匙”。在某些缺乏管理的单位里,如果某个不是数据库管理员的家伙因为某种“合理的”原因,向数据库管理员询问口令,而且管理员也不认为是件事儿的话,那么他就很容易拥有了“钥匙”。和现实的金库要同时用两把钥匙不同,数据库的“钥匙”只要一把就够了。


2005年也曾经有个案子在电信业内比较轰动。一位集成商的前员工,利用他曾经在某省移动安装设备的机会,从该省移动公司系统进入了另一个省市移动公司的充值中心数据库,获得数据库管理员权限。四个月里,他利用这个权限在数据库中把14000个已经使用过的充值卡记录把“已充值”状态改为“未充值”,并修改其有效日期,激活了这些已经使用过的充值卡。然后他在网上打折出售,获利380万元。最后,由于他忘记更改一批卡的有效日期,买主打电话到移动公司投诉,移动公司才发现被人动了手脚。
现在,我们知道撬数据库要比撬金库容易多了。不过,有时候这些数据的价值很可能不止五千万。事实上,因为家丑不能外扬,被报道出来的数据泄漏或篡改事件只是冰山的一角。从这点上看,数据库的监守自盗要比金库的监守自盗更有吸引力。
那么这些敏感单位的领导,尤其是其信息部门的领导,如何预防这种事情的发生呢?


首先,要加强安全教育,让所有人都重视安全,提高安全意识。要让每个有“钥匙”的人清楚自己的责任,禁止数据库用户口令的外泄。


其次,建立健完有效的安全制度,设立或明确专门负责信息安全的部门和责任人,制订数据操作的安全规范。对批量查询等操作进行必要的限制,定期更改数据库管理员口令等。


第三,采用相关的数据库安全技术,限制数据库管理员用户的特权,实现职责分离。也就是说,数据库管理员只能执行数据库的备份恢复和日常维护,禁止访问任何业务系统的数据。例如Oracle数据库有一个产品叫Database Vault(有趣的是,Vault就可以翻译为“金库”),可以将所有业务系统的数据圈定为一个域。如果不授予数据库管理员这个域的访问权的话,数据库管理员就访问不到这些数据。这个授权管理就由上一条提到的信息安全责任人来完成。


第四,对数据库关键操作进行审计,以备事后回溯追查。对异常的数据查询和数据更改记录审计日志,这对想干坏事的人也能起到震慑作用。各种数据库本身都有审计功能,只是平时大多没有被打开。如果是Oracle数据库的话,还可以采用Oracle Audit Vault(又是一个“金库”)。它能把分散在各个数据库服务器上的数据库审计日志集中保护起来。这很重要,因为分散保存的审计日志还是有可能被数据库管理员删除或篡改的。另外,它还能自动产生审计报告,以及对符合某种预设条件的审计记录触发报警,及时通知信息安全责任人。


其中第三点,看似对数据库管理员的权力削弱,其实是对数据库管理员的保护。如果明确数据库管理员没有访问业务数据的能力,那么再有数据泄漏的时候,数据库管理员也可以洗清嫌疑。如果这样,我的这位朋友和他手下的数据库管理员们也就不至于首当其冲受到怀疑了。如果加上第四点的措施,他还可以提供相关的证据,和业务部门分清责任。


回到上面某省移动充值中心数据库的例子,如果当初某省移动实行了以上四条措施,那么罪犯根本就无机可乘:首先,罪犯没有机会得到数据库管理员口令;其次,即使得到了当时的口令,也很快因为口令定期更改而失效;第三,即使在数据库管理员口令有效期内也没办法查询和修改充值卡数据;最后,即使他做到了,很快也会被审计系统发现,而不是等到四个月后由于罪犯自己的疏忽才东窗事发。只要措施得当,数据库的监守自盗还是可以防止的。


各位信息部门的领导们想要安心度过这个经济危机下并不好过的年关的话,还是要赶紧采取行动把前面四项工作做好。有句话怎么说的来着,“年关将到,注意防盗”。

你可能感兴趣的:(数据库,oracle,数据库服务器,database,教育,电信)