码迷,mamicode.com
首页 > 其他好文 > 详细

计算目录下的md5值,用于文件被篡改后对比

时间:2016-04-28 07:08:24      阅读:731      评论:0      收藏:0      [点我收藏+]

标签:软件   服务器   检测   样本   local   

计算/etc目录下的md5值,用于文件被篡改后对比,命令如下:

find /etc/ -maxdepth 1 -type f | xargs -n1 md5sum> /root/etc_sum-$(date +%F).log

同样的道理,

我们可以将/usr/bin  /usr/sbin/ /usr/local/bin /root/bin 等等重要的目录下面的文件校验和都计算一遍,这样的话定期执行一下该命令,生成一份最新的校验和,通过diff命令将生成的log文件和原始的md5sum.log比较.

如果发现有变化的,则服务器有可能被入侵,需要及时查毒(查毒的话,可以使用clamav这个软件,epel源里面有这个rpm包)


下面是我自己写的检测文件是否发生变化的脚本,先生成一份原始的md5校验和作为样本,如下:

find /bin -maxdepth 1 -type f | xargs -n1 md5sum > /home/sum/bin_sum_ori.log 
find /sbin -maxdepth 1 -type f | xargs -n1 md5sum > /home/sum/sbin_sum_ori.log



然后,编写/home/scripts/chkmd5sum.sh脚本,下面脚本中我只对/sbin和/bin下的文件MD5sum做了校验,其他的可以参照补充:

#!/bin/bash

BIN_SUM_LOG="/home/sum/bin_sum-$(date +%F).log"
SBIN_SUM_LOG="/home/sum/sbin_sum-$(date +%F).log"

find /bin -maxdepth 1 -type f | xargs -n1 md5sum > $BIN_SUM_LOG
find /sbin -maxdepth 1 -type f | xargs -n1 md5sum > $SBIN_SUM_LOG

if ! diff $BIN_SUM_LOG  /home/sum/bin_sum_ori.log > /dev/null ;then
echo "Some file‘s md5sum is changed in /bin,please check"|mail -s "Warning, /bin Checksum not matched" xxxxx@126.com
fi

if ! diff $SBIN_SUM_LOG  /home/sum/sbin_sum_ori.log > /dev/null ;then
echo "Some file‘s md5sum is changed in /sbin,please check"|mail -s "Warning, /sbin Checksum not matched" xxxxx@126.com
fi


然后,我们添加个cron计划任务(如下),每天0点30检查执行该脚本,检测下文件是否变化即可。

 echo ‘30 0 * * * /bin/bash /home/scripts/chkmd5sum.sh > /dev/null 2>&1‘ >> /var/spool/cron/root


当然,Linux下还有个软件叫做tripwire,它的功能更强大,有兴趣的可以自己百度下。

计算目录下的md5值,用于文件被篡改后对比

标签:软件   服务器   检测   样本   local   

原文地址:http://lee90.blog.51cto.com/10414478/1768402

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!