就在前些日子,由于自己的一时疏忽,导致服务器被植入挖矿程序。
由于公司刚起步,服务器选的是阿里云ECS,轻装上阵。在前几天,项目需要额外搭建一套测试环境,用于上k8s。
一切购置妥当之后,修改了ssh常用端口、禁止root直接账号密码登录。本打算后来再禁互联网端口,再走跳板机模式的。谁知此时黑客上门,被挖矿了。
服务器被攻击,阿里云告警
后来,我们根据告警信息,定位到具体服务器。
定位病毒入口
根据查看/var/log/secure*,可以清晰地知道异常登录信息
Invaliduser
经统计达到数千次。尝试不同字母组合的用户,以及不同的密码,直到成功破解。
黑客达到数千次尝试
由此可以看出,我们设置复杂密码的必要性,以及开放特定白名单的必要性。非必要,千万别开放到互联网。
遇到挖矿程序,一般按如下方式即可。
1、kill掉挖矿进程
2、由于挖矿程序是通过普通用户进来的,并未造成实质性灾害。因此,kill掉进程之后,清理了定时任务。通过如下方式检查。
(1)crontab-l
(2)检查/var/spoon/corn是否有可疑文件,检查/etc/cron*是否包含可疑任务。
(3)检查/etc/cron日志,看看是否有异常的定时任务执行过
(4)检查/tmp下是否有可疑文件,一般挖矿文件经常经常出现在这里。并且以.开头命名隐藏。总之,根据历史命令,系统日志,找出病毒文件进行清理。
预防在整个过程是非常重要的。
(1)可以采取开放特定白名单的方式。可以通过程序去实现。写一个简单的接口,访问这个接口,即可获取你的上网Ip,然后加入到白名单。
(2)可以通过跳板机的方式,将后端服务器开放白名单给跳板机,跳板机使用MFA动态验证,保证安全性。
以上是本人最近碰到的真实事件,希望对大家有所帮助,有所惊醒!维护好环境的稳定,以免遭受巨大的损失。