解决:阿里云提示服务器访问恶意下载源
文章来自一个非常不成熟的程序媛的短暂性抽风式总结!
最近公司的服务器(阿里云)一直给老板发信息说,服务器在访问恶意下载源。老板一开始没在意,后来一天一条短信,然后让我处理一下。作为一个后端工程师,普通的服务器维护在小公司基本都是自己上手来。废话太多了,下面具体描述一下我遇到问题的和解决方法,以便大家遇到了之后不知所措。(大佬们,不吝指教~)
一. 问题描述
阿里云服务器警告截图:
看这种警告,其实主要看几个重点
- 父进程路径:/usr/sbin/crond
- URL链接:http://185.181.10.234/e5db0e07c3d7be80v520...
-
与该URL有关联的漏洞:Drupal CVE-2018-7600 ,ElasticSearch Groovy脚本远程代码执行漏洞CVE-2015-1427 ,Hadoop Yarn REST API未授权漏洞 ,WebLogic CVE-2017-10271
(PS:这个点我觉得并没很大用处,可能阿里云考虑的比较仔细)所以我当时就很诧异,因为这个服务器是我司一个测试服务器,所以很多漏洞没更新,我也不怎么处理,被攻击也可能是常有的事,也无伤大雅。
然后第一反应就是,这不就是定时任务
crontab
跑了个东西,可能是访问了某个链接被阿里云检测到不合法了。然后我就开始一顿查询定时任务,然后开始清理。
查询crontab执行命令:tail -f /var/*log*/cron
上面这个记录看着出了一些 nobody 的用户组进行了一个未知的定时任务执行记录。
然后crontab -l
除了自己的业务定时任务并没看到这个所谓的curl 了某个链接的定时脚本。然后我直接采取非常暴力的rm 方法,把所有定时任务全部清除。(第二天发现并没什么用。。。)
接着我就开始百度了(我搜了这个 :185.181.10.234/e5db0e07c3d7be80v520/init.sh),这个东西会不会有人遇到过,果然还是度娘靠谱,光一个链接就能捕捉到我要啥。然后我就看到了这篇文章:
《一个有趣的利用redis未授权访问漏洞进行挖矿的分析及防范》
https://www.freebuf.com/column/211777.html简直是救命稻草,恍然大悟的我想起来测试服当时redis 安装完确实没有怎么处理过,密码也没设置。
然后我开始设置redis 的登陆密码和权限,怎么设置参考https://www.cnblogs.com/tenny-peng/p/11543440.html
顺带一起清空且重置了一下redis。
我就觉得这下应该万事大吉了。然后第三天老板依旧收到了来自阿里的警告信息。我郁闷了,啥玩意,为啥还可以,我不都设置密码了么。咋还执行呢?
想起前一天大佬提醒我要注意ssh key 是否被人添加了免密登录的权限。其实我真的看了,
打开vi authorized_keys
并没有任何东西。然后我顺带把其它/root/.ssh/
下的四个文件都翻了一遍。
才发现known_hosts
文件中多了两个IP地址为新加坡的ssh key ,我才明白为啥上面做了那一堆都没用了。
所以我解决上述问题的方法就是:
- 清空crontab 未知的计划任务。
- 设置redis 端口权限和账号密码(敲重点!)
- 清空未知的ssh key
结语
先总结到这吧。大家遇到了可以一起分享一些服务器日常维护的经验啊,毕竟不会运维的前端不是一个好后端~
本作品采用《CC 协议》,转载必须注明作者和本文链接
推荐文章: