这是去年12月份的一个问题,今天想起来就随手记一下。
接到老大电话,说某网站的3000G流量用完了,超过的流量很贵的,周一上班,一大堆人就在rtx上问我这怎么回事。
当时这台服务器出现的问题有:
外网ssh无法连接
通过vpn连接,登录很慢
web服务无法正常提供
IDC监控显示,不停去尝试连接别人的25端口
主机不停被尝试登录
无法下载软件,sftp也无法使用(可能是由于vps限制)
问题出现前一周,服务器root密码被篡改过
排查思路:
使用iftop查看流量(每秒60M下载)
使用pstree查看异常进程(靠常识)
查看对外开放的端口
last|less查看最新系统登录信息
由于当时使用iftop,发现每秒60M下载,服务器在国外,下载比较快,经百度下载ip疑似国内某传奇私服,并且ip不断变换,当时使用iptables封ip,但是效果不明显,最坑的是被封的ip还能下载,查看iptables处于关闭状态,于是开启,由于是两个运维同时操作,怀疑他误操作清空了iptables,于是手动启动,三分钟后再次查看,防火墙又被关闭了,于是怀疑防火墙有问题,就随手查看了下crontab,发现添加了一条计划任务,service ipatbles stop,每分钟执行一次。恍然明白为啥防火墙不生效了,删除,流量下载问题才得到缓解。
反思:服务器root密码被篡改,修改之后因工作忙,无查询操作,仍然线上跑,也没有细粒度的监控,无法得知流量情况等到临界3000G才发现问题,另外crontab也没有第一时间查看。以此谨记。