CIO故事之十一:救火

来源:百度文库 编辑:神马文学网 时间:2024/04/27 14:11:48
这天深夜,急促的电话铃声像刺耳的警笛吵醒了睡梦中的老胡。平日,他的手机尽管24小时都开着,但很少在非办公时间接到电话——如今,他已把一切安排得井井有条,所以很少会出现突发事件。
电话接通后,在公司机房值班的小芸急切地向老胡报告:“公司Web服务器遭到攻击,不能正常访问。”老胡说:“这样的问题也找我?应该在大勇之下的层面解决啊。”他有些不高兴,小芸忙补充说:“大勇来了,他也解决不了。”
老胡觉得问题可能比较棘手,他拿出年轻时的利索劲儿,迅速穿好衣服,赶到了公司机房。他略感欣慰地看到这里已经人头攒动了。
大勇面带羞惭地向他汇报情况:一位美国客户反映,公司的网上订购系统无法下单了。于是,值夜班的小芸赶紧检查,发现在某个重要页面,浏览器一片空白,根本不显示任何内容。
客户无法下单订购,将会给公司带来巨大损失。老胡的心头不禁掠过一丝不安,但脸上仍平静如常。
大勇说:“症状很简单,但就是找不到原因。我们已经考虑了各种可能情况,安全、系统和应用都做了详尽检查,似乎一切正常。”他一边说话,一边按下浏览器的刷新按钮,令大勇吃惊的是,那个一直不正常的页面却正常地显示在面前。大勇不禁有些尴尬——折腾了半夜,它却在这个时候冒了出来,像是成心跟他作对似的。
小芸在一旁解释:“就是这样的,偶尔冒出一次正常,但绝大多数情况浏览器里什么都没有。”果然,大勇再次输入数据并刷新页面后,老胡看见了他们描述的那一片空白。
老胡觉得有些蹊跷,怎么会在一个应该有数据的页面,既不出现正常内容,又不显示错误信息,所有字符都神秘地消失了?他在脑子里快速搜索着他的经验。此时,他仿佛又找到一种熟悉而亲切的感觉:当年,当他还是技术骨干时,就被称为“救火队员”,他经常在危急关头奔赴一线处理各种“疑难杂症”;有时当他在前方“冲锋陷阵”,又会被紧急招回总部扑灭“后院大火”。后来,他担任IT经理时,手下的工程师也时不时需要他的“救援”。如今升任CIO,他可能不熟悉具体的技术细节,但在分析和解决问题的综合能力上,他自信谁也“玩”不过他。
现在,又轮到他出马了。他逐一询问了运维组的检查情况,从防火墙、入侵监测等安全设施到操作系统、数据库的设置以及Web服务器和应用本身的运行,他感觉到大勇已带领工程师们做过细致的工作,既然没有找到原因,那么很可能症结在他们的视线之外。
老胡问小芸:“页面正常的概率有多少?”所有的人都面面相觑,没人能够说清楚。于是,老胡吩咐大家按各自的设想继续工作,他坐到键盘前亲自测试起来。
折腾了半个小时,他一次又一次看见空白页面,只有一次是正常,他看不出它们之间的联系。他停止击键,脑海中像屏幕似的一片空白。他返回故障页面前的数据提交表单,随便乱敲几下,居然看到了正常页面,他突然感到真相就在眼前。他吩咐大勇,直接调出那个美国客户投诉前后的相关数据表,仔细查看每一个数据项。
不出所料,他们找到了一个错误数据,一切竟如此简单:美国客户提交数据时,输入了一个非正常字符,而程序没有考虑到这一意外,直接把它交给了数据库。此后,每次检索数据库时,都会碰到那个字符,Web服务器在既得不到内容又得不到错误提示的情况下,向浏览器返回了空白的结果,只有那些不涉及错误数据的表才会工作正常。
问题终于找到了,大家不约而同地长舒了一口气,纷纷议论说:“没想到一个微小的软件Bug竟然造成如此严重的后果。”老胡说:“魔鬼就在细节之中,信息安全无处不在,安全保障跟所有的人都有关系,千万不能一说起安全问题,就只想到黑客入侵、病毒发作这样的简单情况。”
第二天,老胡处罚了相关责任人,包括他自己。他一直认为,不管错误因谁而起,都必须有人承担责任,而他作为公司信息系统的总负责人,第一个应该挨“板子”。