背景

公司 有几台 CentOS 5.x 系统
监控发现交换机上联有突增 Outgoing 流量,但业务并正常业务都是 Incoming 流量

问题定位

ps: 因为系统太老, 借助开源工具 如 iptraf, nethugs, iftop 不知道为啥,查不出来是哪个进程在发数据, 所以只能人肉查

  • 执行 ps aux 时总有 很多 shell 命令在执行( 每次都不一样)
  • 但始终有一个 shell 命令在 (如 ifconfig, uptime, sudo),追溯程序 exe 不是它(已伪装)
  • 随后开始怀疑开机启动项,发现有异常新增

  • 在 chkconfig off 之后,重启系统,在开机 几分钟后,又起来了,并且是新的文件(名字变了)。
  • 继续定位 开始怀疑 crond,在禁用 crond 开机启动项后,没有发出的流量了 !!!
  • 最终定位到 /etc/cron.hourly/ 有非系统任务

反思 & 解决

猜测可能存在的问题

  • SSH 关闭密码登陆,推荐使用密钥登陆,修改系统密钥
sed -i '/^PasswordAuthentication/{s/yes/no/}' /etc/ssh/sshd_config
/etc/init.d/sshd restart # CentOS 6 以下
systemctl restart sshd # Centos 7
  • 应用漏洞,这个范围太广了, 根据实际情况
  • 系统漏洞,也很广(最好是迁移业务,并且升级)