记录一次华为云主机被入侵

华为工作人员打电话给我,说扫描到我的6379端口呈开放状态,6379端口开放到公网有被攻击的风险。于是,我登录华为云主机,打算检查下我的iptables。可是,使用ssh竟然登录不上……

好在华为云主机还提供了web登录的方式,于是我以root用户登录到了华为云主机。登录后,我立即发现不对,我的非root用户怎么全都不见了?于是做了如下检查:

  1. 检查iptables,立即发现异常,我上一次调试时清除了全部防火墙规则,立马恢复防火墙设置;
  2. 检查/etc/passwd,,立即发现异常,发现除了root用户以外的非root用户全部被删除了,我的云主机被入侵了;
  3. 检查所有/var/logs/*.log(按更新时间检查),没有发现任何异常;
  4. 检查root用户的command history,没有发现任何异常;
  5. 检查root用户的.bash_history,没有发现任何异常;
  6. 使用last -f wtmp检查登录历史,没发现任何异常;
  7. 检查crontab,没有发现任何异常;
  8. 检查是否有异常进程(进程UID为0),没有发现任何异常;
  9. 检查ssh的authorized_keys,立即发现异常,里面竟然有入侵者机器的ssh公钥;

可是,为何我的机器会被入侵而且在/var/log下没有任何痕迹呢?对方如何入侵的呢?当时并没有对redis产生怀疑。于是请教了下专业做运维的同学,他了解了我的一些情况后,告诉我可能是redis的原因。我一查redis,发现原先的key-value全丢失了,我的redis被作为攻击中介,注入了几条lua语言为value的key。为了安全请见,我决定还是备份数据,重装操作系统。

总结,

  1. 必须严格设置iptables,粗心差点酿成大祸;
  2. 关注乌云发布的网络漏洞;