网站地图    收藏   

主页 > 后端 > 网站安全 >

Linux系统文件变动监控 - Windows操作系统 - 自学p

来源:自学PHP网    时间:2015-04-17 19:06 作者: 阅读:

[导读] 心路虽然现在有很多堡垒主机,可以记录SA或者其它部门在服务器上执行的命令,但是依旧有些东西记录不到。比如说1个月之前上传了一个脚本,或者二进制程序,现在执行一下删除了...

心路

虽然现在有很多堡垒主机,可以记录SA或者其它部门在服务器上执行的命令,但是依旧有些东西记录不到。比如说1个月之前上传了一个脚本,或者二进制程序,现在执行一下删除了某些文件,过了一个月再想起来去追查,那么就有难度了。即使在服务器部署ossec之类的HIDS系统,由于性能的考虑,也不能在较短时间内做过多的轮询查询文件状态。这里介绍三个简单的办法,各有所长。

      第一个最简单,替换shell。用perl之类的脚本语言写一个shell,替换bash,cshell,设置成用户的默认shell。在这个shell中对三处文件,修改文件等操作做一些记录,以后在追查的时候比较方便。好处是实现简单,风险低。缺点在于容易绕过,而且没法记录二进制程序对文件的操作。

      第二个办法,写驱动hook系统调用,监控文件操作。这个方案的优缺点都很明显,优点是底层,不易绕过。缺点就是风险高,通用性也难以把握,开发难度也大,虽然新的linux kernel提供了kprobe等接口来方便做hook,实现起来总不会有用户态那么自如。而且有可能要升级kernel,为了这个目的升级kernel基本是不可能的。

      第三个办法,就是使用inotify来监控文件变化。inotify是基于事件的监控,无需定时轮询文件状态,也无需做内核模块hook系统调用,简单可靠。比较好的实现是检测到文件变化时,同时记录下当前登陆的用户以及当前用户启动的进程。不过inotify,需要kernel 2.6.13以上支持,RHEL5默认是有的,其它系统不确定。我个人认为,这个是最好的一种实现。

 

自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习

京ICP备14009008号-1@版权所有www.zixuephp.com

网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com

添加评论