搭建了那么多台服务器,终于有人来搞我了。还有点小激动是怎么一回事 φ(>ω<*)
首先发现的,还是公司里一个主管网络的大佬。他盯着公司里每一个IP的上下行,然后发现:哎呀,这个机子有点不对劲啊。
遂通知主管,然后就到我这里了。
然后,由于本人的Linux知识还是太匮乏,书到用时方恨少,排查问题多弯路啊,ε=(´ο`*)))唉。
然后我突然想到,不是还有前辈在嘛。我简直就是个小机智呢~~
于是,在我不要脸外加软磨硬泡的“请教”下,大佬终于伸出手把我从泥坑里拉了出来。
由于事出紧急,我也就没截图了。
不过我还是重新把各个步骤整理了一哈,并拆掉了多余的南墙,如下:
-
1、使用
top
查看资源情况。
-
2、确认进程号
ps -ef | grep 进程名
-
3、查看服务位置
ls -l /proc/进程号
-
4、使用kill结束掉该服务
kill -9 进程号
-
5、删除.dhpcd的文件
cd /home/用户名
rm -rf .dhpcd
-
6、查看所有用户的crontab
for u in `cat /etc/passwd | cut -d":" -f1`;do sudo crontab -l -u $u;done
PS:
公式中的`记得改成半角符。
-
7、更改用户名密码
passwd 用户名
-
8、切换问题用户删除crontab
su - 用户名
crontab -e
-
9、删除用户
userdel -r 用户名
-
10、再次使用top查看
top
PS:
如果CPU的占用率不高了,而且也没有一些奇奇怪怪的进程名,便算是解决了燃眉之急。
为什么说是燃眉之急呢,后文会再详细说到。
当然,这里还得额外强调一下,
因为大多数病毒可能会写crontab(定时任务),所以这个东西一定要查!!!
那crontab是什么东西呢??
“crontab”是cron的配置文件,是“cron table”的简写。
cron是一个linux下的定时执行工具,可以在无需人工干预的情况下运行作业。
在LINUX中,周期执行的任务一般由cron这个守护进程来处理ps -ef|grep cron
。cron读取一个或多个配置文件,这些配置文件中包含了命令行及其调用时间。
cron的配置文件一般放在/var/spool/cron/
这个目录下,包括每个用户甚至root的crontab任务,每个任务以创建者的名字命名,比如tom建的crontab任务对应的文件就是/var/spool/cron/tom
。一般一个用户最多只有一个crontab文件。
cron服务
service crond start //启动服务
service crond stop //关闭服务
service crond restart //重启服务
service crond reload //重新载入配置
service crond status //查看服务状态
OK,言归正传。
为什么前文说的是:“只解决了燃煤之急呢?”
很多时候,Hank们入侵你的服务器后,并不止单纯地写个定时任务,还可能会植入个触发事件,这是最麻烦的,因为你无从下手,就像潜伏病毒一样。
因此,我们还需要做好监视,但不可能top
然后一直盯着看吧?熬鹰呢秀儿。
所以我写了一个脚本,自动运行top
并抓取前几天记录,输出到文本文件中,如下:
monitor_top.sh
#!/bin/sh
top -bn 2 |grep -A 6 "Cpu">/backup/monitor_$(date "+%Y%m%d").txt
搞定!
之后我便只需要时不时打开文件洛克洛克,就一目了然啦~~~
✧(^_-✿