智能一代云平台(十六):解决Linux服务器被植入木马总结

    xiaoxiao2021-03-25  59

    强烈推荐一个大神的人工智能的教程:http://www.captainbed.net/zhanghan

    【前言】

        继上次Redis服务器被劫持风暴(高校云平台(十三):Redis服务器被劫持风波)过后十多天后,病毒对我们总是恋恋不舍,又一次的来到我们身边;有了上次的经验后,这次处理起来虽然也有些波折,但是相对来说迅速很多;下面是这次解决的整体流程,希望会对读者有所启发。

    【跌宕起伏研究之路】

         一、发现病毒:          1、被通知:             2017年3月07日18点左右,第三方托管服务商通知我们我们有一台机器(为了方便表示以YYY代替),这台服务器中病毒,大量发包。          2、在服务器上查看现象:            (1)利用命令ifconfig,查看网络收发包情况:                                其中ipconfig查询统计的收发包是从这次开机起统计,利用man ipconfig 看说明:

                                (2)利用命令:uptime -s 查询246开机的时间,发现10个小时左右发送241G这么多,同时利用ifconfig命令看局域网其他服务器发现开机比246早的发包也很少基本上没上G级的                            (3)不断利用ifconfig查看收发包情况,发现246大概以1s 0.1G左右速度在发送包            (4)另外通过Zabbix监控246的数据(部分)

                   

        二、寻找病毒根源:          1、并非病毒猜想:            (1)依据:                 由于Maven的私服在该机器上,猜测是Jenkins部署的影响,测试把YYY服务器断网(YYY机器是托管在上的一台虚拟机)在物理机上将其断网,发现Jenkins发布项目一直不成功,确定Jenkins构建需要从YYY私服上下载相应包;            (2)验证:                 向拖管商确认是大量向外网发包而不是局域网,另外私服上的包总共没有这么大的量级,这样排除了Jenkins发布影响;          2、病毒导致:            (1)依据:发包如此频繁,中病毒的迹象;            (2)验证:                 A.利用命令:netstat -ntu | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n 查看和YYY建立连接的情况:                                 B.通过上图发现除了局域网中机器外还有两个可疑外网机器(137.59.18.147 和172.247.116.109)和其进行连接                 C利用命令:netstat -ntlp 查看相应的进程,发现可疑进程MXQJVVDNF                                 D.利用命令:ll /proc/43993 查看相应的文件,发现可疑文件dataa                                 E.利用命令:ls /tmp/查询可疑目录下的文件,发现可疑文件                                 F.根据gates.lod在网上搜索到关于病毒文章--一次Linux服务器被入侵和删除木马程序的经历                 G.至此验证是中病毒            (3)追踪:                 A.核查服务器发现果然大部分博客中描述的病毒文件在YYY上都能找到                 B.检查病毒的行踪,利用命令:ps -ef 发现病毒一些行踪                      三、采取的解决方案:         1、将两个可疑IP(137.59.18.147和172.247.116.109)拉入黑名单           (1)拉入黑名单命令:                iptables -I INPUT -s 137.59.18.147 -j DROP                iptables -I INPUT -s 172.247.116.109 -j DROP                

                                              (2)扩展命令:                A.查看黑名单中都有谁命令: iptables –L                                B.将某个IP从黑名单(在此以137.59.18.147为例)中去除命令: iptables -D INPUT -s 137.59.18.147 -j DROP          2、按照博客内容进行清理病毒文件           (1)所删除病毒文件               /usr/bin/bsd-port/ getty (bsd-port目录也清除)               /etc/rc.d/init.d/DbSecuritySpt               /etc/rc.d/rc1.d/S97DbSecuritySpt               /etc/rc.d/rc2.d/S97DbSecuritySpt               /etc/rc.d/rc3.d/S97DbSecuritySpt               /etc/rc.d/rc4.d/S97DbSecuritySpt               /etc/rc.d/rc5.d/S97DbSecuritySpt               /etc/rc.d/rc6.d/S97DbSecuritySpt               /root/pyth               /tmp (dataa gates.lod moni.lod)                 (2)用ps -ef 查询所有进程,并用kill -9 PID将异常进程杀死                    四、总结:          1、对命令的再理解:netstat -ntu | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n            (1)检查是否被攻击时用该命令查询会有两种情况                A.连接数特别多,如下图中的第1列的数字代表连接数,一般二三十以内为正常,成千上万为异常;

                                          B.可以发现可疑IP,虽然连接数少但是可能是发送大量数据,本次遇到就是这种情况                C.遇到上述情况用命令(在此以IP为137.59.18.147为例,将其拉入进黑名单)iptables -I INPUT -s 137.59.18.147 -j DROP            (2)对该命令所查出的连接数的研究                A.出现情况:用命令将两个可疑IP拉入黑名单,用该命令查发现连接数仍然是1                B.做相关实验:用一个IP(在此用XXX来表示)远程上YYY用该命令查询发现和XXX连接数为1,用XXX机器再ping  YYY再用命令查发现有2个连接数,这时停止ping后发现连接数变为1,再在YYY上用命令iptables -I INPUT -s XXX -j DROP将XXX拉入黑名单,此时XXX机器立马不能对YYY进行操作,再在YYY上用命令查发现还是1个连接数                C.说明该命令查询的是在拉入黑名单之前的连接数          2、服务器安全一些建议:            (1)服务器打开防火墙,如果有应用需要外部访问,采用开端口形式            (2)关闭服务器不必要外网映射,另外即使非得映射也不要用使用服务的默认端口            (3)服务器密码要设置复杂些,另外需要隔一段时间进行变化            (4)Linux系统上装一些杀毒软件

    【总结】

         1、时常保持一颗好奇心;

         2、多思考多总结,每经历一次在安全意识上提升一点;

         3、感谢陈总,娜姐,和浩哥一起来搞。

    当年的春天 认证博客专家 分布式 Spring Redis 6年Java互联网研发经验,坐标北京;擅长微服务和中间件。
    转载请注明原文地址: https://ju.6miu.com/read-35884.html

    最新回复(0)