主机被入侵后要怎么处理?
第0步当然是断网了。
1、root口令被修改:重置root口令,主要操作步骤:
1)重启centos,启动过程中长按ESC,进入GNU
2)选择系统,按E
3)选择kernel,按E
4)rhgb quiet 后面空格,输入1或single,回车
5)按B启动系统
6)输入passwd root重设root口令,直到显示“all authentication tokens updated successfully”
7)输入shutdown -r now,重启系统
2、root口令未被修改,立即修改root口令,建议先不急着重启,迅速检查下下列日志是否还在:
/root/.bash_history
/var/spool/mail/root
/var/log/secure
/var/log/lastlog
/var/log/wtmp:last、ac -dp相关日志文件
如果还在,尽快重启;如果没有了,尝试恢复,然后再重启;
恢复原理:删除只是删除了文件对应的目录索引节点,如果该文件已被其他程序打开,则可以通过对应进程所有的文件描述符对已删除文件进行读写。
恢复示例:
1)secure文件被删除,通过lsof |grep /var/log/secure 找到打开secure的进程,得到PID;
2)进到对应目录:/proc/PID/fd/,可以找到secure对应的以数字命名的文件描述符,如4;
3)恢复文件:cat /proc/PID/fd/4 >/var/log/secure
3、检查账户文件/etc/passwd*、/etc/shadow*;查看是否有异常用户:
1)查看passwd,注意uid、gid为0的用户;
2)查看passwd,是否存在特权用户;
3)查看shadow,是否存在空口令用户。
当发现有异常用户时,确认后删除之,如果用户已经登录,尝试如下处理:
方法1:w 查看登录用户
pkill -kill -t TTY值
方法2:
ps -fu username 查看是否还有进程在使用,如果有,杀掉
userdel -rf username 如果还执行失败,继续
cd /var/run; mv utmp utmp_bak;touch utmp utmp为已登录用户的数据库
userdel -rf username 再次执行
4、检查账户登录事件:lastlog、last
1)注意“entered promiscuous mode”
2)注意Remote Procedure Call(rpc) programs with a log entry that includes a large number
5、查看用户连接时间统计:ac -dp
6、查看日志/var/log/secure
7、查看异常进程:
1)top 确定PID,ll /proc/PID |grep -i exe 查看对应的脚本
2)ps -aux 注意UID为0的进程,lsof -p PID 查看进程所打开端口和文件
8、检查计划任务
1)ps -ef |grep /etc/crontab |grep -v "^#" 查看是否有异常crontab配置
2)crontab -u root -l
3)ls /etc/cron.*
9、检查后门
ls /var/spool/cron/
cat /etc/rc.d/rc.local
ls /etc/rc.d
ls /etc/rc3.d
10、检查系统服务
chkconfig|grep "3:on"
11、检查rootkit
rkhunter -c
chkrootkit -n|grep INFECTED #-n 表示不检测NFS挂载的目录
如果提示没有命令,使用yum安装