爬虫服务器文件莫名奇妙被删除

事件起因

部署完爬虫的机器总是莫名其妙的丢失目录,丢失目录为spider用户所在的整个home路径

追查过程

  • 同事使用audit审计确认是有对于rm的调用导致
  • 因为一直以来爬虫的代码都写得非常烂(一帮实习生写的)当时的第一反应是肯定是谁写的启动脚本里面涉及到了rm指令的执行,于是grep -r搜索确实搜到两处rm但是经过仔细分析后排除
  • 使用grep -r检索代码中对system的调用,检索结果有60多处。。。这实在搞不了了,交给爬虫查看,未果
  • 期间又发生了两次删除操作,忍无可忍,替换了rm命令,替换为ps加mail,只要调用rm就会将进程快照保存下来,同时发送邮件通知
  • 终于找到了!!!在进程中发现调用了 rm -rf —no-preserve-root / !!!!这是要搞事情啊!跟随ppid发现其父进程为node 执行的一个js文件,而这个node的父进程正是爬虫抓取进程!!!
  • 最终找爬虫确认并检查js文件发现原因是他们抓取了人家的页面之后直接执行js拿数据。。。好吧你们赢了

后续

  • 爬虫修改为使用浏览器虚拟机执行,这个真坑,看来人家公司的反爬虫组真不是白干的