var|服务器入侵排查( 二 )


3、当系统中的某个文件被意外地删除了 , 只要这个时候系统中还有进程正在访问该文件 , 那么我们就可以通过lsof从/proc目录下恢复该文件的内容 。
假设入侵者将/var/log/secure文件删除掉了 , 尝试将/var/log/secure文件恢复的方法可以参考如下:
a.查看/var/log/secure文件 , 发现已经没有该文件


b.使用lsof命令查看当前是否有进程打开/var/log/secure ,

c.从上面的信息可以看到 PID 1264(rsyslogd)打开文件的文件描述符为4 。 同时还可以看到/var/log/ secure已经标记为被删除了 。 因此我们可以在/proc/1264/fd/4(fd下的每个以数字命名的文件表示进程对应的文件描述符)中查看相应的信息 , 如下:

d.从上面的信息可以看出 , 查看/proc/1264/fd/4就可以得到所要恢复的数据 。 如果可以通过文件描述符查看相应的数据 , 那么就可以使用I/O重定向将其重定向到文件中 , 如:

e.再次查看/var/log/secure , 发现该文件已经存在 。 对于许多应用程序 , 尤其是日志文件和数据库 , 这种恢复删除文件的方法非常有用 。