凌晨三点十七分,老夫子盯着屏幕上的红色路径线,手指在键盘上敲了两下。那条从备份日志跳出去的连接链已经断了,但设备编号Gd-7349x还在系统警告列表里挂着。他点开防火墙日志,把那个设备指纹拖进黑名单数据库,顺手加了个永久拦截规则。
“这玩意儿要是再冒头,直接锁Ip。”他低声说,像是在跟系统说话。
办公室门没关严,走廊的灯亮着,风吹进来让门轻轻晃了一下。他抬头看了眼时间,又低头继续操作。项目主系统正在跑关键节点的数据封包,服务器负载已经拉到九成五,任何一点外力干扰都可能让整个流程崩掉。
他刚把监控面板切到实时流量图,技术骨干李工就推门进来了,手里拎着半杯凉透的咖啡,眼镜片上有点雾气。
“接口那边卡住了。”李工一进门就说,“用户认证模块在循环调用日志服务,资源被吃光了。”
老夫子点头,把金手指调出来,千余条请求瞬间变成动态流向图。画面中央有个节点一直在闪红,正是日志回调的入口。
“你刚才说的缓存方案,现在能试吗?”老夫子问。
“能。”李工放下杯子,“用轻量中间件接住这部分读请求,原路不动,只是不走数据库了。我十分钟能搭好测试环境。”
“不用测试。”老夫子直接打开部署界面,“仿真推演结果出来了,性能提升四十七,兼容性没问题。现在上线。”
李工愣了一下:“这么快?”
“系统算的。”老夫子把推演报告投到大屏上,“你看,延迟从八百二降到三百一,错误率归零。只要你的代码没问题,就能跑。”
李工盯着图看了三秒,转身就往外走:“我去叫人。”
十分钟后,指挥室连通了五个部门的视频窗口。财务、法务、运维、前端组、安全组的人全在线,一个个头发乱糟糟,明显是被叫醒的。
“各位。”老夫子对着摄像头开口,“现在不是讨论流程变更的时候。系统再撑半小时就得重启,到时候数据丢一半,谁也担不起。”
财务代表皱眉:“临时改架构,合规怎么算?”
“合规是你现在签字,我马上补流程。”老夫子把电子确认单发过去,“你不签,等系统崩了,审计问你为什么没配合应急响应,你怎么答?”
那人张了张嘴,没出声。
法务的女同事举手:“风险评估有吗?”
老夫子点开另一份文件:“金手指刚出的模拟报告,切换过程九十秒,不影响主业务流。这是自动录屏,你们可以看。”
视频播放起来,显示中间件集群启动、旧服务停用、新路由生效的全过程。最后定格在“coNNEctEd”状态。
“这不是冒险。”老夫子看着镜头,“这是换轮胎的时候车子还在跑。我们不是踩油门,是在刹车前拧紧螺丝。”
安全组的老王点头:“我签。”
运维跟着点了确认。
一个接一个,五个人陆续完成电子签名。
老夫子立刻转头对通讯器说:“李工,开始部署。”
大屏幕上,进度条缓缓推进。第一台服务器接入新缓存,响应时间立刻下降;第二台、第三台……当第五台显示“同步完成”时,整体延迟从820ms掉到了310ms。
“稳了。”李工松了口气,靠在椅背上。
话音刚落,警报响了。
外部监控平台弹出提示:某境外Ip正在高频扫描公司ApI入口,频率每秒三百次。
老夫子立刻切到入侵检测界面,金手指自动标记出攻击特征。他看了一眼来源地,没动声色,反手激活了蜜罐系统。
“让它扫。”他说,“给它个假接口,看看它想偷什么。”
几分钟后,蜜罐捕获到一组探测指令,目标直指用户权限表。
“不是爬虫。”李工凑过来看,“这是冲着数据来的。”
“我知道。”老夫子把攻击路径反向追踪,发现Ip跳转了三次,最后一次来自一个匿名代理池,“但它没突破防火墙,也没触碰到真实服务。我们现在不是被动防,是引蛇出洞。”
他顺手把这次扫描记录存进证据库,备注写的是“未遂试探”。
时间跳到四点十二分,系统运行趋于平稳。各部门代表陆续退出会议,有人打哈欠,有人揉眼睛。李工摘下眼镜擦了擦,又戴上。
“还有多久到封包完成?”他问。
“一小时零十五分钟。”老夫子盯着倒计时,“最怕的就是最后一段。”
李工点头:“这时候最容易松劲。”
两人没再说话,各自盯着自己的监控面板。指挥室里只剩下键盘敲击声和空调的风声。
五点零三分,值班工程师小陈站起来活动肩膀。他连续盯了六个小时屏幕,脑子有点发木。回到座位时,手肘碰到了鼠标,误点了日志归档服务的关闭按钮。
三十秒后,系统告警弹出:审计日志写入中断。
老夫子第一时间发现异常,远程重新启动服务,并加了一道双因素验证锁。
“小陈。”他喊了一声。
小陈猛地回头:“啊?怎么了?”
“日志服务刚才断了三十四秒。”老夫子语气没起伏,“下次起身前,先确认所有关键进程都在运行。”
小陈脸一下子红了:“对不起,我……我没注意。”
“我不是怪你。”老夫子看着他,“我是提醒所有人。我们不是在等天亮,是在守关。每一个操作都算数。”
小陈用力点头,重新调整了座椅位置,把提醒标签贴在了显示器边沿。
李工这时开口:“其实我们也快过去了。最危险的那段已经处理完,现在的压力只有峰值的百分之六十。”
“我知道。”老夫子说,“可越是这时候,越容易出事。”
他把全局视图放大,所有服务器的状态灯都是绿色。数据流平稳,用户请求正常分流,中间件运行无异常。
倒计时显示:剩余二十三分钟。
指挥室的门又被推开,秦先生端着两杯热咖啡进来,放在老夫子和李工桌上。
“外面都传开了。”他说,“说咱们系统要崩,有人在赌股价下跌。”
老夫子喝了一口咖啡:“让他们赌。”
“你还真不怕?”
“怕什么?”老夫子看着屏幕,“证据在手,方案落地,团队在线。他们赌的是消息,我们打的是实仗。”
秦先生笑了笑,坐到旁边空位上:“那我就等着听好消息了。”
老夫子没回应,手指在键盘上轻轻敲了两下,调出设备编号Gd-7349x的历史记录。最后一次尝试连接是在两小时前,Ip来自一个已被注销的测试账户,登录地点标记为公司东区旧机房。
他顺手把这个账户加入全局黑名单,并通知运维组明天上午全面排查同类临时权限。
时间走到五点二十五分,主系统进入最终封包阶段。所有模块开始打包本次运行的核心数据,准备提交至总部备案。
大屏幕上,进度条缓慢推进:98%……99%……
老夫子身体微微前倾,眼睛盯着最后一个数字。
99.5%
99.8%
99.9%
终于,绿色提示跳出:
NodE_pASS: cRItIcAL_mILEStoNE_REAchEd
指挥室里没人鼓掌,也没人说话。李工摘下耳机,闭上眼睛。小陈盯着屏幕看了几秒,才反应过来,嘴角慢慢扬起。
老夫子坐在原位,手指还悬在键盘上方。他的眼睛有点发涩,但精神还在绷着。
他知道,这一关过了。
但战斗还没结束。
他正要切换到下一组监控界面,突然发现日志分析区闪过一条异常记录。
一条本不该出现在这里的调试指令,刚刚被执行了一次。
指令内容是:
`REAd: \/\/backup_log\/vault_key?level=alpha`
读取权限:最高级密钥
执行者Id显示为空