数据库安然的那点事儿, 多是每个DBA城市碰着的标题问题, 同时也是最等闲忽视的事。因为大年夜大都开辟团队都将精力放在了功能的实现上,很少往考虑安然相干的事儿,这也就给了黑客可乘之机。
我最初在一家小型BBS社区工作,主如果治理BBS的数据库系统。这家公司人数不多,主营营业在行业内竞争比较狠恶。我还清晰的记得,某天午时正在吃饭,就被叫回公司,同事焦炙地说:“我们可能被黑了,所有BBS注册用户的金币都多了10倍。”这意味着平空而来的金币会导致社区用户对人平易近币充值的热忱降落,直接影响公司的收进。
我起首想到的是有人进侵了数据库点窜了数据,所以细心的查了一下数据库的环境,看有没有留下一点陈迹。其实对一个刚工作不久的DBA来讲,我的经验不多,碰着标题问题仍是有些措手不及。在慌乱中折腾了1个多小时,最后我终究想到了mysql的查询日记(query log),细心查看这个日记,发现从10.10.1.23这个IP发过来如许一条sql语句:update account set jinbi=jinbi*10。对了!就是它了,恰是这个sql语句导致了所有BBS用户的金币都多了10倍。接下来我查抄了10.10.1.23这个IP,这台机械其实是一台备机,还没有启用,所以把持系统安然等方面做的不敷周全,黑客恰是经由过程这台机械来把持数据库的。同时我又查抄了一下mysql的权限,此中主机IP写的是10.10.*,写的是一个段的IP,恰是因为这个设置,导致了黑客利用了有缝隙的机械来进行点窜数据库的把持。
这个案例深切的奉告我mysql的权限节制有多首要。假定那时mysql的拜候权限将IP设置为只承诺利用办事器来连接的话,也不会呈现如许的后果,所以此后的这几年我都很正视mysql的拜候权限节制,仅承诺必需的办事器来连接数据库,没有效的IP都樊篱掉落了。别的,就是query log的首要性,因为它记实了所有测验测验连接mysql的要求,假定某个IP不断的发出连接要求,并且老是用户名和暗码弊端,那么DBA就应当正视了,如许的把持很有可能就是黑客在测验测验猜想mysql暗码,这也是很危险的,应当及时采纳办法来应对。
总之,安然无小事,必然要引发正视,同时要有杰出的安然意识,因为杰出的习惯是工作顺利进行的包管。
启明星斗公司数据库审计专家点评
该案例很是活泼,对数据库事务的排查阐发过程也很详实。所采纳的安然办法除拜候节制外,还稀有据库日记,这对一个DBA来讲难能宝贵。假定担忧开启数据库日记带来的机能降落,也可考虑第三方审计产品。今朝主流审计产品除具有审计能力外,还具有异常行动阐发和监控、权限治理等功能,乃至可以做拜候节制和背规阻断,可协助安然治理人员做到数据库拜候的事中防护和过后审计。