一、午夜告警:备份软件的“无声罢工”
2025年X月2日22点20分,DBA团队的值班手机突然震动——是客户发来的紧急消息:“备份软件报警了,数据库备份失败,日志里没说原因,你们能看看吗?”
屏幕那头,客户的语气带着明显的焦虑。这台数据库服务器承载着核心业务,每天凌晨的自动备份是最后的“安全网”,一旦备份断档,谁都不敢想后果。远程连接服务器的瞬间,小沈注意到,备份软件的日志停留在“开始执行RMAN备份”,之后便没了下文,像被人突然掐断了信号。
二、手工测试:诡异的“进程蒸发”
“可能是自动脚本出了小问题?”小沈先排查了最常见的情况。他手动敲下RMAN备份命令,屏幕上滚动着熟悉的命令行信息:“分配通道...备份数据文件...”一切看起来正常。
但就在备份命令发起了几分钟之后,命令行突然卡住,紧接着弹出一行行冰冷的报错信息,会话貌似被killed。
“被kill了?”小沈皱起眉。服务器资源监控显示,CPU、内存都绰绰有余,不可能是系统自动回收资源。他不死心,换用expdp做逻辑备份——这是另一种完全不同的工具,依赖数据泵而非RMAN的块级备份。
然而,历史重演:expdp进程启动1分20秒后,再次被“Killed”。
冷汗悄悄爬上后背。两个毫不相干的备份工具,遭遇了同样的结局。小沈决定做最后一个测试:在服务器上拷贝一个7GB的非数据库文件。当`cp`命令执行一会后,终端再次跳出“Killed”。
这一刻,他意识到问题远比想象的复杂:不是工具故障,不是资源不足,而是有个“幽灵”在服务器里,专杀“持续读写大文件”的进程。
三、客户否认与排查僵局:“我们没装任何安全软件”
“会不会是安全软件误杀?”团队里的新人小刘插了一句。这是最合理的解释——很多终端防护软件会把大文件读写误判为病毒传播。
小沈立刻联系客户:“服务器上是不是装了杀毒软件或终端防护?”
电话那头的客户很肯定:“绝对没有,这是数据库专用服务器,除了必要的系统组件,什么额外软件都没装。”
反复确认了三次,客户的答案始终如一。小沈对着屏幕上的“Killed”提示,第一次感到了棘手:既不是工具问题,又没有安全软件,那这个“杀手”到底藏在哪?
服务器的进程列表里,全是熟悉的系统进程和数据库服务,没有任何陌生面孔。就像一个密室杀人案,凶器找不到,凶手更是无影无踪。
四、技术追踪:audit命令撕开的裂缝
“既然它会‘杀人’,总会留下痕迹。”资深DBA老金决定祭出大招——用`audit`命令给所有“受害者”进程装上“监控摄像头”。
他配置规则:“监控RMAN、expdp、cp的所有操作,记录调用者和信号来源。”然后重新执行RMAN备份。
yum install -y audit
systemctl start auditd
systemctl status auditd
auditctl -a exit,always -F arch=b64 -S kill -F key=catch_kill
auditctl -l
模拟过程:
ps -ef | grep top
top的进程号为10280
kill -9 10280
ausearch -sc kill
type=OBJ_PID msg=audit(1663313631.744:1913209): opid=10280 oauid=0
可以看到11011用户的10280的top进程被0号用户(root)的bash程序kill,此为人为操作的kill -9;
根据以上方式,当“Killed”再次出现时,audit日志里跳出了关键信息:。
顺着这个思路追查,资深DBA老金发现操作系统日志提示,在8.1号的晚上20:01有人修改过crontab,与上述我们分析出来的内容一致。
更可疑的是,老金查看了近期的系统登录信息,发现在28号22点的时候有异常暴力破解的痕迹,在10分钟内失败了237次,最后一次显示“登录成功”,看到这里,老金倒吸一口凉气:“这是木马程序!”
“暴力破解!”他立刻联系客户的安全部门,得到的回复更惊人:“这个IP在28号确实爆发过攻击,我们当时就封了,但没想到已经有人闯进去了。”
再查系统配置,数据库防火墙的IP限制规则被清空了,`crontab`里多了一条定时任务。一切都对上了:攻击者破解登录后,植入木马,清空防护规则,用定时任务让木马“常住”,再通过杀死备份进程切断客户的“后路”。
五、终局:清除“幽灵”与留下的警示
凌晨3点,小沈和团队远程操作,收回了木马文件的所有权限,注释掉恶意定时任务,重启服务器后,RMAN备份顺利跑完,expdp和`cp`命令也恢复正常。屏幕上滚动的“备份完成”提示,在那一刻显得格外安心。
移交安全厂商进行全盘扫描,清理衍生恶意文件及注册表残留,确认无矿池等衍生威胁。持续监控24小时,未发现异常进程再生。
但这场暗战留下的,远不止解决一个故障那么简单,还给我们留下了很多思考。
六、经验总结与改进建议
安全防护薄弱点:
- 服务器未启用强身份认证(如SSH密钥、登录失败锁定),导致暴力破解成功;
- 缺乏进程异常行为监控(如未知进程频繁发送`SIGKILL`),未能及时发现木马活动;
- 关键配置(`crontab`、防火墙规则)变更未触发告警,被篡改后未及时察觉。
改进措施:
1. 强化身份认证:启用SSH密钥登录,配置“5次失败即锁定30分钟”策略,限制非信任IP访问;
2. 完善监控体系:新增进程异常行为告警(如10分钟内终止≥3个进程)、关键配置变更告警(`crontab`、防火墙规则修改);
3. 定期安全巡检:每周执行恶意进程扫描(结合`lsof`、`netstat`),每月核查系统日志中异常登录记录;
4. 备份机制冗余:部署异地备份与实时同步,避免单一备份路径失效导致数据风险。

