屏幕上的数据流终于恢复正常值时,刘英华在工位上仰起头。

他揉了揉布满血丝的眼睛,连续四十八小时紧绷的神经发出嗡鸣。

办公室里爆发出一阵压抑后的欢呼,几个同事冲过来拍他的肩。

杨振国站在会议室门口,手里拿着文件夹。

他的脸上没有笑容,只是看着刘英华。

总结会上,杨振国先用了五分钟肯定团队的努力。

然后他翻开文件夹,念出一段员工守则03第七条。

“未按规定流程提前报备超时加班,处以相应罚款。”

他看向刘英华:“三万。规矩不能破,对事不对人。”

所有人都愣住了。

刘英华沉默了几秒。

然后他低下头,肩膀微微颤动,发出了一声很轻的笑。

那笑声里听不出愤怒,也听不出嘲讽。

只是轻轻地,像风吹过纸页。

打开网易新闻 查看更多图片

01

凌晨三点二十七分,服务器监控平台的警报灯突然红了。

不是闪烁,是持续的红。

刘英华从行军床上坐起来时,手机还在震。

他昨晚十一点处理完一个边缘系统的兼容性问题,索性没回家。

办公室里只有应急灯微弱的光,还有服务器机房传来的持续低鸣。

他光着脚走到工位前,屏幕上的曲线已经跳成了一个陡坡。

数据库读写异常,索引混乱,三号存储节点的响应时间超过警戒值三倍。

这不是普通故障。

刘英华没有去碰桌上的内线电话。

他直接登录了核心运维终端,手指在键盘上敲出一串命令。

日志像瀑布一样滚下来。

他的眼睛迅速扫描着那些代码和时戳,瞳孔在屏幕蓝光里微微收缩。

找到了。

一个冷备份同步进程卡死了,连锁反应拖垮了三个关联服务。

问题不大,但如果不立刻处理,早高峰的业务流量冲进来时,整个订单系统会崩溃。

他用了十七分钟。

十七分钟后,曲线回落,警报灯熄灭。

刘英华向后靠进椅背,长长吐了口气。

窗外的天色还是深黑,远处有几栋楼的轮廓亮着零星的灯。

他起身去茶水间冲咖啡。

热水灌进杯子里,白色的雾气升起来。

走廊里传来脚步声,很稳,带着某种节奏。

杨振国出现在茶水间门口。

他穿着熨烫平整的衬衫,手里提着公文包,头发梳得一丝不苟。

“这么早?”刘英华举了举杯子。

“习惯。”杨振国的目光扫过他光着的脚,又看向他工位边卷着的行军毯,“昨晚又没回去?”

“处理点问题。”

“什么级别的问题需要通宵?”

“三级存储异常,可能影响早高峰。”

“按规定,夜间值班期间发现三级及以上异常,必须立即上报值班主管并填写事件报告。”

杨振国的声音不高,但每个字都像量过,“你报了吗?”

刘英华端着咖啡的手顿了顿。

“问题已经解决了。”

“我问的是流程。”杨振国从包里拿出一个黑色的笔记本,翻开,用钢笔写了什么,“这次不处罚,记录在案。下不为例。”

他合上本子,走向自己的独立办公室。

门轻轻关上。

刘英华站在原地,看着那扇门。

咖啡的热气扑在脸上,有点烫。

他走回工位,穿上袜子,把行军毯塞进柜子。

屏幕上是恢复正常的数据监控界面,绿色的曲线平稳地延伸。

他关掉页面,打开公司内网,找到《网络安全部事件上报流程规范》。

PDF文件,三十七页。

他拖动鼠标滚轮,页面哗啦啦地往下滑。

02

周二上午九点,部门周会。

杨振国坐在长桌尽头,面前摊着笔记本和笔。

他先通报了上周的安全事件统计,数字比前一周下降了两个百分点。

“这是好事。”他说,“但隐患依然存在。”

他的目光在会议室里扫了一圈,最后落在刘英华身上。

刘英华正看着窗外的树,手指在桌沿无意识地敲着。

“有些同事,技术能力强,责任心也强。”杨振国的声音平稳,“这是优点。”

他停顿了一下。

会议室里很安静,只能听见空调出风口的嗡嗡声。

“但个人英雄主义要不得。”杨振国继续说,“尤其是我们部门,流程就是生命线。你跳过流程,哪怕解决了问题,也是在破坏整个防御体系。”

丁婉如坐在刘英华斜对面,悄悄抬眼看他。

刘英华的侧脸没什么表情,手指停住了敲击。

“今天早上,我就发现一起未按规定上报的事件。”杨振国翻开黑色笔记本,“凌晨三点到四点之间,三级存储异常,有人私自处理了。”

几个同事互相看了看。

“这次没有造成损失,所以只做记录。”杨振国合上本子,“但我必须强调,规矩定下来,就是让人遵守的。‘对事不对人’是我的原则,不管谁,违反了就要承担后果。”

刘英华转回头,看向杨振国。

他的眼睛里有血丝,是昨晚没睡好的痕迹。

“杨主管。”他开口,“如果当时按流程走,先打电话给值班主管,等他起床,查看情况,再决定是否启动应急小组——那时候早高峰已经开始了,订单系统可能已经瘫痪了。”

“可能。”杨振国重复这个词,“但你无法证明一定会瘫痪。而你不报备就处理,是确定违反了规定。”

他拿起笔,在笔记本上又记了一笔。

“风险评估和流程遵守,比事后补救更重要。”他说,“这个道理,我希望每个人都记住。”

会议在九点四十五分结束。

大家陆续起身往外走,椅子腿摩擦地板发出刺耳的声音。

丁婉如跟在刘英华身后,小声说:“刘哥,其实我们都知道,昨晚多亏了你……”

“按流程来。”刘英华打断她,语气很平淡,“主管说得对。”

他走进办公室,坐到工位前。

屏幕亮起来,是密密麻麻的代码和监控窗口。

他盯着看了一会儿,然后最小化了所有工作界面。

打开公司内部知识库,搜索“事件上报流程”。

弹出的链接有十三个。

他一个一个点开,开始看。

打开网易新闻 查看更多图片

03

下午两点多,丁婉如拿着一个U盘过来。

她来部门三个月,还在学习期。

“刘哥,能帮我看看这个脚本吗?”她把U盘放在刘英华桌上,“自动巡检的,老报错,我查了两天手册也没找到原因。”

刘英华接过U盘,插进电脑。

代码打开,他滚动鼠标看了大约一分钟。

“这里。”他指着一行,“变量类型不匹配,手册07第三节有例子。”

“可是手册上说这种场景应该用动态解析……”

“手册是基础。”刘英华把U盘拔下来还给她,“但实际情况里,这个接口返回的数据类型不稳定,你得做类型校验和转换。”

丁婉如似懂非懂地点头。

“那……具体怎么改呢?”

刘英华张了张嘴,话到嘴边又停住了。

他看向杨振国办公室的方向。

门关着,但百叶窗的缝隙里能看见人影在动。

“你先回去把手册07仔细看一遍。”刘英华转回屏幕,“按手册的标准写法先试,如果还不行,就按流程提技术支援单。”

丁婉如愣了愣。

“提单?那不是要走两三天流程吗?这个巡检明天就要用……”

“那就更说明你该早点看手册。”刘英华的声音没什么起伏,“流程之所以存在,就是避免临时抱佛脚。”

丁婉如咬了咬嘴唇,拿起U盘走了。

刘英华继续盯着屏幕。

他面前的窗口里,是实时监控的系统健康度仪表盘。

有一个指标,磁盘阵列的预失效报警计数,在过去一周里缓慢爬升。

数字很小,从0.01%到0.03%。

普通人不会注意,但刘英华知道那意味着什么。

那是公司用了七年的老存储系统,架构陈旧,文档不全。

三年前就该升级换代,但预算一直没批下来。

现在,它开始发出细微的呻吟。

刘英华点开详细日志,拉出最近一个月的错误记录。

模式很隐蔽,但确实存在。

他截了几张图,整理成一份简短的观察报告。

然后他打开邮件客户端。

收件人输入“杨振国”,主题写“关于旧存储系统潜在风险的初步观察”。

邮件正文里,他客观描述了现象,附上截图,并在最后写:“建议启动深度排查,必要时准备应急迁移方案。”

点击发送。

邮件显示送达。

刘英华关掉窗口,继续处理手头的日常告警。

十五分钟后,新邮件提示音响起。

杨振国的回复。

“收到。请先按规范填写《系统风险评估申请表》,附详细技术分析及影响范围评估,提交部门审批后,我会酌情上报。”

附件里是一份表格模板。

刘英华点开。

表格有八页,包括但不限于:问题描述、历史数据、可能成因分析、影响业务范围、排查方案、所需资源、时间预估、备用方案、成本估算……

最后一项是“申请人承诺”,需要手写签名。

刘英华拉动滚动条,看完最后一页。

他靠在椅子上,闭上眼睛。

窗外传来隐约的汽车鸣笛声,很远。

04

表格刘英华花了三个小时填写。

不是因为内容复杂,而是因为每一个数据都要有出处。

预失效报警计数需要从监控系统导出原始日志,按时间轴排列,计算出现频率。

可能成因分析需要查阅七年前的系统部署文档,对比硬件型号的常见故障模式。

影响业务范围需要列出所有依赖该存储的二十七个服务和模块,并评估每个服务的SLA等级。

备用方案需要联系供应商询问替代设备的供货周期和报价。

成本估算需要财务部的模板,区分人力成本和硬件成本。

刘英华做完这些,把八页表格打印出来。

纸还是温的。

他拿着表格走到杨振国办公室门口,敲了门。

“进。”

杨振国正在看一份报告,抬头看见他手里的文件。

“填好了?放这儿吧。”

刘英华把表格放在办公桌角落。

“杨主管,这个风险不是理论上的。”他说,“错误模式有加速趋势,最近三天出现的频率是前一周的两倍。”

“所以更需要严谨评估。”杨振国拿起表格,快速翻了几页,“你这里写,建议三天内启动排查?”

“最好明天就开始。”

“明天?”杨振国放下表格,“排查需要抽调两名高级工程师,至少三天工作量,这会影响现有项目进度。我需要和项目组协调,还要报给肖总批。”

他看了眼日历。

“这周五之前我会处理这份申请。”

“周五可能就晚了。”

“风险评估本身就是预防晚。”杨振国看着他,“如果人人都觉得自己的事最紧急,流程就形同虚设。”

刘英华没再说话。

他走出办公室,带上门。

走廊里空荡荡的,天花板上的灯管发出轻微的电流声。

回到工位,他打开监控页面。

预失效计数跳了一下,从0.03%变成0.04%。

他盯着那个数字看了很久。

然后他打开个人工作日志,新建一条记录。

时间,现象,已采取行动,上级反馈。

保存。

丁婉如从旁边经过,看见他屏幕上的曲线。

“刘哥,这个是不是……”

“等审批。”刘英华关掉页面。

丁婉如欲言又止,最后还是走开了。

下班时间到了,同事们陆续收拾东西离开。

刘英华没动。

他坐在那里,看着窗外天色一点点暗下去。

城市的灯光亮起来,一片一片的,像倒过来的星空。

七点十分,杨振国从办公室出来,手里提着公文包。

他看见刘英华还在,点了点头。

“早点回去休息。”

“好。”

杨振国走了,脚步声消失在走廊尽头。

刘英华重新打开监控页面。

数字还在,0.04%。

他调出实时流量图,业务高峰期已经过去,曲线平缓下滑。

一切看起来都很正常。

打开网易新闻 查看更多图片

05

周五上午,刘英华刚到公司,就看见杨振国站在他工位旁。

表格拿在手里。

“申请我看了。”杨振国说,“有几个地方需要补充。”

“您说。”

“影响范围这里,你只写了技术层面。需要加上业务层面的预估损失,最好有财务部提供的参考数据。”

“财务部出数据要走跨部门流程,至少一周。”

“那就等。”杨振国把表格递还给他,“还有,备用方案你只考虑了硬件替换,有没有软件层面的临时方案?比如数据迁移到备用存储?”

“那套备用存储性能只有三分之一,迁移过去,二十七个服务至少有一半会超时。”

“超时具体是多少?有没有量化?”

刘英华吸了口气。

“我需要时间算。”

“那就算清楚再交上来。”杨振国看了眼手表,“下午我有会,明天给我。”

他转身要走,又停下。

“对了,肖总下周出差回来,到时候我会把完整的申请报给他。”

刘英华看着手里的表格。

第八页的“申请人承诺”栏还空着。

他拿起笔,在横线上签了自己的名字。

字迹很工整。

整个上午他都在补充材料。

业务损失预估需要联系产品经理要数据,软件方案需要搭建测试环境模拟。

丁婉如过来问一个防火墙配置问题,看见他屏幕上密密麻麻的文档。

“刘哥,你还在弄那个申请啊?”

“嗯。”

“其实……我昨天听到运维组的人在说,旧存储那边偶尔会有IO卡顿,但重启就好了。”

刘英华抬起头。

“谁说的?具体什么时候?”

“好像是前天夜里,张哥值班时候遇到的,他没报事件,因为重启后监控没告警。”

刘英华立刻调出前天的系统日志。

深夜两点到三点之间,存储控制器确实有一次自动重启记录。

但健康检查报告里,这次重启被标记为“计划内维护”。

“计划内?”刘英华皱眉,“谁计划的?”

他点开维护日志,发现一条自动生成的记录:“系统检测到临时性能降级,触发自愈流程。”

不是人为操作的。

是系统自己觉得不行了,重启了。

他截下这条记录,补充到申请表格的“历史数据”部分。

然后继续算迁移方案的超时数据。

下午三点,邮件提示音密集地响起来。

不是一台电脑,是整个办公室。

所有人都抬起头。

刘英华点开最新告警。

核心数据库响应时间飙升,五百毫秒,八百毫秒,一千二百毫秒。

业务系统的错误日志像雪崩一样滚出来。

客服部的电话开始响,一声接一声。

丁婉如站起来,脸色发白。

“怎么了?”

刘英华没回答。

他直接登录了数据库管理终端,连接,被拒绝。

再试,还是拒绝。

权限错误。

他换了一个更高权限的账户,强行登录进去。

眼前的画面让他的手指僵在键盘上。

数据表在被批量删除。

不是误操作,是标准的删除语句,一条接一条,带着条件筛选。

有人在有选择地清空数据。

同时,另一个进程在加密备份文件,加密密钥是随机生成的,没有记录。

勒索。

刘英华抓起桌上的内线电话,拨给机房值班室。

占线。

他拨杨振国的手机。

响了六声,接通。

“主管,旧存储系统被入侵了,正在删数据和加密备份,需要立刻物理断网。”

电话那边沉默了两秒。

“确定是旧存储系统?不是其他?”

“确定,攻击入口就是那个预失效报警相关的漏洞,我申请里写过。”

“……应急预案启动了吗?”

“还没有,需要您授权。”

“按流程走,先发全员通报,再启动三级应急响应,我马上回来。”

电话挂断了。

刘英华放下话筒,看着屏幕上还在滚动的删除日志。

他手指动了动,敲下一条强制终止进程的命令。

系统提示:权限不足。

需要应急领导小组组长授权,也就是杨振国。

或者,CTO肖承运。

他找出肖承运的紧急联系号码,拨过去。

关机。

可能在飞机上。

办公室里的电话铃声已经响成一片,同事们在接听,声音急促。

“是,我们正在排查……”

“请稍等,有消息会第一时间通知……”

“具体影响范围还在评估……”

刘英华坐回椅子,打开那份还没提交的申请表格。

最后一页,他的签名清晰可见。

他把表格窗口拖到一边,打开另一个终端。

开始手动抓取还在流动的数据。

能救多少是多少。

06

杨振国冲进办公室时,脸色铁青。

他直接走到刘英华工位旁。

“情况怎么样?”

“删了百分之三十的用户资料表,备份文件加密了百分之七十。”刘英华没抬头,“攻击还在继续,我需要权限终止进程。”

“给。”杨振国拿出自己的身份卡,“用我的权限。”

刘英华刷卡登录,重新输入终止命令。

这一次,进程停了。

但数据已经没了,加密还在继续。

“能恢复吗?”杨振国问。

“被删的难,加密的可以试。”刘英华调出日志,“攻击者留了勒索信息,要五百万美元,七十二小时。”

“报警了吗?”

“按流程,需要您决定。”

“报。”杨振国掏出手机,走到窗边打电话。

办公室里乱成一团,电话铃声、键盘敲击声、急促的对话声混在一起。

丁婉如小跑过来。

“刘哥,客服部说投诉电话打爆了,问我们什么时候能恢复。”

“不知道。”

刘英华盯着屏幕,手指飞快地敲打。

他在尝试逆向加密算法,但密钥是随机生成且在攻击后自毁了。

只能从内存残留里找线索。

杨振国打完电话回来。

“警方一小时内到,肖总正在赶回来的路上。”他看向刘英华,“现在最重要的是止损,你有方案吗?”

“两个方向。”刘英华拉出两张图,“第一,尝试恢复被删数据,需要从磁盘底层扫描残留;第二,破解加密,需要算力支持。”

“需要什么资源?”

“四台高性能服务器,至少四十八小时连续运算,还需要存储厂商的底层工具支持。”

“工具怎么弄?”

“厂商的技术支持需要合同号和服务码,走加急通道也要两小时。”

“太慢。”杨振国皱眉,“有没有别的办法?”

“有。旧存储系统用的是七年前的老架构,当时有一个未公开的管理后门,可以用来直接读写磁盘扇区。”

“后门?安全吗?”

“不安全,但快。”

“用。”杨振国拍板,“责任我担。”

刘英华看了他一眼。

然后他调出一个命令行窗口,输入一串复杂的长指令。

屏幕黑了,然后跳出一行行白色的代码。

底层访问开启了。

他小心地定位被删除数据所在的磁盘区域,开始尝试恢复。

进度条缓慢移动,百分之二,百分之三。

时间一分一秒过去。

窗外天色暗了又亮。

警方来了又走,取证,记录。

肖承运半夜赶到公司,在会议室里和杨振国谈了半个小时。

出来时,他的脸色也很难看。

他走到刘英华身后,拍了拍他的肩。

“英华,尽力就好。”

刘英华点头,眼睛没离开屏幕。

他已经连续工作了十八个小时。

丁婉如买了咖啡和面包放在他桌上,凉了又热,热了又凉。

他喝了一口咖啡,继续敲键盘。

恢复数据比预想的难。

删除操作很彻底,而且攻击者在删除后还往磁盘里写入了随机数据,覆盖了一部分区域。

刘英华只能一块一块地抢救。

第二天的中午,他恢复了百分之十五的数据。

加密破解那边进展更慢,试了上百种可能,都失败了。

杨振国在办公室和会议室之间来回跑,接电话,解释,承诺。

他的声音从最初的镇定,渐渐透出疲惫。

第三天凌晨,刘英华找到了突破口。

在加密进程的内存转储里,他发现了一个伪随机数生成器的种子残留。

很隐蔽,但他认出来了。

那是旧存储系统的一个硬件特征码,理论上每次启动都会变。

但攻击者可能复用了。

他立刻用这个种子尝试解密一小段数据。

成功了。

屏幕上的乱码变成了可读的用户信息。

他站起来,腿麻了,差点摔倒。

扶住桌子,他喊:“找到了!”

办公室里昏昏欲睡的几个人都惊醒了。

杨振国从沙发上站起来,快步走过来。

“能全部解开?”

“需要时间,但方向对了。”

刘英华坐回去,开始写批量解密脚本。

他的手指在颤抖,不知道是累的,还是别的什么。

窗外的天边泛起鱼肚白。

第四十八个小时,最后一个加密文件被解开。

核心数据库的备份完整恢复,包括用户资料、订单记录、交易流水。

估值八亿的数据,保住了。

刘英华靠在椅背上,闭上眼睛。

办公室里响起掌声,稀稀拉拉的,但持续了很久。

丁婉如哭了,用手背擦眼睛。

杨振国长长地吐了口气,拿起手机,走到走廊去打电话。

刘英华坐在那里,听着自己的心跳。

咚,咚,咚。

很慢,很沉。

打开网易新闻 查看更多图片

07

总结会在第三天下午召开。

所有人都到了,包括CTO肖承运。

会议室里很安静,能听见空调的风声。

杨振国先做了事件复盘。

从攻击入口到响应时间,从数据损失到恢复过程,他讲得很详细。

最后,他看向刘英华。

“这次危机能够化解,刘英华同志发挥了关键作用。”他说,“技术能力、责任心、临场应变,都值得肯定。”

肖承运带头鼓掌。

掌声比之前热烈得多。

刘英华坐在那里,脸上没什么表情。

他的眼睛还是红的,血丝没退。

杨振国等掌声平息,翻开面前的文件夹。

“但是。”他说。

会议室里的空气凝了一下。

“在应急响应过程中,我们也要看到问题。”杨振国念着文件上的字,“根据《网络安全事件应急处置规范》04第十二条,紧急情况下启动非常规技术手段,需经应急领导小组组长书面授权。”

他抬起头。

“刘英华使用了旧存储系统的未公开后门,这个操作,我没有给出书面授权。”

刘英华看着他。

“当时您说‘用,责任我担’。”

“那是口头授权。”杨振国说,“按规范,口头授权在事件结束后二十四小时内必须补书面记录,你没有提交。”

他翻到下一页。

“还有,《员工加班管理规定》第六条,连续加班超过十二小时需提前报备,超过二十四小时需部门主管特别批准。你连续工作了四十八小时,没有走报备流程。”

刘英华的手指微微蜷缩。

“当时在救数据。”

“规矩不能破。”杨振国的声音很稳,“对事不对人。你救了数据,功是功;你违反流程,过是过。”

他合上文件夹。

“综合考虑,功过相抵后,按规章,对你处以三万元罚款。罚款从下季度绩效中扣除。”

会议室里死寂。

丁婉如张了张嘴,没发出声音。

肖承运皱起眉,看向杨振国。

杨振国没看他,只是看着刘英华。

“你有什么要说的吗?”

然后他低下头,肩膀微微颤动。

发出了一声很轻的笑。