Linux主机被入侵系列4:入侵恢复

主机被入侵后要怎么处理?

第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安装

 

你可能感兴趣的:(linux,系统安全)