您的位置:首页 > 运维架构 > Linux

Linux下使用md5sum查看文件及程序是否被修改

2009-03-29 10:02 465 查看
你怎么知道你的系统是否被入侵过?
呵呵,你可能 说看日志啊 ,如果你遇到了高手他们会清除他们入侵的日志啊!
那怎么办呢,我们想一想 他们入侵系统做什么呢 ,无非就是取得一些系统的权嘛,
然后用这些权利去执行他们的程序,既然要取得一些权利,无非就是新建用户,组啊,
修改一些特殊的程序来挂马啊,我们就可以通过查看我们的关键的程序及文件是否被
修改过来判断有没有被入侵啊.(那为什么不看日志有没有被修改过来看是否被入侵啊,笨啊,正常情况下日志都 会被修改的啊) ,怎么看文件有没有被修改啊,在Linux下有
一个很好的工作,md5sum,就是求文件或程序的MD5和的工具啦,这个MD5又是什么东东啊 其实就是消息摘要算法啊 每个文件或程序的MD5值都是不一样的啦,它是用复杂的数学算法求得的一个128bit的值,不管你的源文件有多大,他的值都是128bit的,如果文件仅有一点的修改,MD5值也会大不相同的啊 他就相当 于一个文件的指纹啊.
所以 我们先这样做 把系统关键文档和程序的MD5值求出 并备份到另外一台安全的计算机上,当我们怀疑被入侵的时候 再把这些关键文档和程序的MD5值求一次并保存为另一个文档,再比较这两个文档有没有不同,就可以看出一些蛛丝马迹啦,

下面是一个脚本

#!/bin/bash
export path=$PATH:/root
md5sum /etc/passwd >>/etc/md5db
md5sum /etc/shadow >>/etc/md5db
md5sum /etc/group >>/etc/md5db
md5sum /usr/bin/passwd >>/etc/md5db
md5sum /sbin/portmap>>/etc/md5db
md5sum /bin/login >>/etc/md5db
md5sum /bin/ls >>/etc/md5db
md5sum /bin/ps >>/etc/md5db
md5sum /usr/bin/top >>/etc/md5db

执行这个脚本后 上述的文件的MD5值就放入/etc/md5db这个文件中了,象下面这样

[linux@/etc]# cat md5db
fa25ad401b9f8e458cc0516c289eb529 /etc/passwd
18f64e8dd87461f0208bccf264a00711 /etc/shadow
6f60617c12e3d1a9599c488dc5335b82 /etc/group
673f2fbc91f3421eb560f0a0d8858262 /usr/bin/passwd
80b3985cea8473846532824052964824 /sbin/portmap
ed78748061c05d2263baf43c6a2e400f /bin/login
774cb14b70080573906bbd26df7a9c58 /bin/ls
8cc6f96d1bd21250b731eb0ac85214a7 /bin/ps
bc1694cc57b8b5633680d57885393e19 /usr/bin/top

把/etc/md5db这个文件备份到另一个计算机中,以后发现终点 比对两个文件就是了

注意 如果你自己修改了密码 上面的有些文件的MD5值也会发生变化,那你就要重新
运行这个脚本来获得新的MD5值了.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐