摘要: “人在江湖飘,哪能不挨刀。” 这不,我那可怜的小服务器被挖矿程序盯上了,记录一下解决方法,以备不时之需。
一、攻击截图
- 攻击报警
- ECS 破解成功
- 访问恶意 ip
- 挖矿程序
二、攻击原因:
- git 用户密码设置过于简单;
- 未禁用 git 用户的 shell 登录。
三、解决流程:
杀死挖矿程序进程
1
2
3
4
5
6
7# 查看进程占用情况,占用资源最高的基本上就是挖矿程序
top
top -u git # git 用户的进程占用
# 停止挖矿程序 pkill 或者 kill -9(我这里主要是两个进程)
pkill Macron # 挖矿程序进程,占用资源奇高
pkill kshnpk # 挖矿程序自启动进程,只是杀上一个进程,则 Macron 会一直自启删除挖矿程序
1
2
3
4
5
6
7
8# 查找程序源文件()
find / -name Macron
find / -name kshnpk
# 删除程序文件
rm -rf /tmp/Macron
# PS:这一步可以依靠阿里云的报警提示查找并删除对应的文件或目录,在这里吹一波儿阿里云的智能监控安全增强
- 修改 git 用户密码:
执行passwd git
,设置复杂一点儿的密码 - 禁用 git 用户的 shell 登录:
编辑/etc/passwd
文件,将git:x:1000:1000::/home/git:/bin/bash
行修改为git:x:1000:1000::/home/git:/bin/git-shell
- 修改 git 用户密码:
四、附加解决方式
注意: 以下几条解决方式是在上一步的基础上执行的。
清除挖矿程序定时任务
1
2
3
4
5
6
7# 查看定时任务
# 这里可能需要查看不同用户的定时任务,不过我的本次操作没发现有定时任务,挖矿程序一直都是依赖 kshnpk 进程在自启动,查了很久才查出来
crontab -l
crontab -u git
# 删除定时任务
crontab -r检查用户列表,.ssh 文件,开机启动
cat /etc/passwd
检查是否有未知用户cat ~/.ssh/authrized_keys
检查是否对未知用户授权cat known_hosts
检查是否有未知的用host/etc/rc.local
/etc/rc.sysinit
/etc/inittab
/etc/profile
这些开机启动的系统配置目录下面可能有挖矿程序的脚本,检查一下去阿里云控制台设置安全组关闭不安全端口
友情提示:
道路千万条,安全第一条;密码太简单,猿媛两行泪!