突然被阿里云短信轰炸,说我服务器因攻击被限制访问部分ip及端口???
登上ECS控制台,看到CPU使用率100%????
top查看进程发现根本没有进程使用cpu。。。后来转到htop命令才可以看到kthreaddi这货,估计是被挖矿了。
htop命令,Linux系统默认不存在htop工具,可以通过如下命令进行安装。
yum install htop
htop的快捷键功能列表如下,比较有用的F5、F6、F9
**功能键 ** | 对应功能 | 说明 |
---|---|---|
F1 | Invoke htop Help | 查看htop帮助说明 |
F2 | Htop Setup Menu | htop配置菜单 |
F3 | Search for a Process | 搜索进程 |
F4 | Incremental process filtering | 进程过滤器 |
F5 | Tree View | 显示树形结构 |
F6 | Sort by a column | 选择排序方式 |
F7 | Nice - (change priority) | 可减少nice值,用于提高对应进程的优先级 |
F8 | Nice + (change priority) | 可增加nice值,用于降低对应进程的优先级 |
F9 | Kill a Process | 结束指定进程 |
F10 | Quit htop | 结束htop |
htop命令查看进程列表,kthreaddi这个进程占用了我接近100%的cpu
尝试用F9 kill掉这个进程,好像有用?
好家伙,过了一会儿他又重新运行了
看一看crontab定时任务
crontab -l
注:
-e : 执行文字编辑器来设定时程表,内定的文字编辑器是 VI,如果你想用别的文字编辑器,则请先设定 VISUAL 环境变数来指定使用那个文字编辑器(比如说 setenv VISUAL joe)
-r : 删除目前的时程表
-l : 列出目前的时程表
没配过定时任务,直接清空定时任务看看
crontab -r
过了一会又给加进去了,还换了一个新名字,看来直接删定时任务也行不通,
回到htop找到kthreaddi这个进程的PID,查看这个进程的执行文件链接,看看能不能删除这个文件。
ls -l /proc/xxx/exe // xxx表示该进程的PID。
deleted表示这个文件已经被删掉了,使用 rm -rf 是不起作用的
弄了大半天还是解决不了这个kthreaddi,气死我了,
吃个饭回来的时候,想到之前做实验的时候配置过ActiveMQ,密码是初始密码没有改,可能是8161这个TCP端口被扫描到了,会不会是通过这个端口在控制我服务器?
查看开启的端口:
firewall-cmd --list-ports
把开启的端口给关了,–permanent是永久关闭,不加这个参数服务器重启后端口会再次打开(似乎并不影响)
firewall-cmd --remove-port=端口号/tcp --permanent
然后再去 crontab 把定时任务清空
crontab -r
回到 htop,快速把 kthreaddi 的主进程F9 kill 掉
等了一会儿,kthreaddi 没有再重新运行了,世界终于清静了