敏感文件监控

一、引入

 入侵检测系统所监控的两大部分可以概括为:流量和文件。针对敏感文件进行监控,是否被篡改,是否有新增内容以及是否被删除。进而发送通知告知管理员。

二、敏感文件监控原理

判断文件是否被篡改可以使用md5sum命令记录文件的数字指纹,md5是一种数字摘要算法,具有不可逆加密的特性,可以用来检测数据是否被篡改或者保存密码,可以针对任意文件类型进行摘要。

在安全状态下对文件进行一次摘要保存起来,当文件状态更新或者一段时间之后再次对文件进行摘要,并对比两次的摘要是否相同,即可判断文件是否被篡改。但这里也有一个潜在的风险,入侵者可能会更改最开始安全状态下的摘要,解决办法可以是将安全状态的摘要存储在远程安全的服务器中。

三、md5摘要

md5sum *  #如果是目录无法进行md5摘要

find ~/桌面 -type f | xargs md5sum  #这样可以找到所以的普通文件进行摘要

find ~/桌面 -type f | xargs md5sum > /tmp/md5.base  #保存摘要带md5.base这个文件中

cd /tmp

md5sum -c ./md5.base  #重新计算摘要并进行对比

md5sum -c --quite ./md5.base > md5.diff  #保存两次对比不同的文件

都要使用绝对路径

 

上述摘要可以检测文件是否被篡改,但无法检测出是否有文件新增或删除。为了完成此功能,可以使用diff命令

diff ~/桌面 /tmp/base  #比较这两个文件夹下不同的地方


d代表删除   a代表新增   c代表修改

 

四、shell脚本的编写

#通过参数传递监控的目标目录和极限备份目录
target=$1
base=$2
action=$3

if [ ! -d $target -o ! -d $base ]; then
    echo "参数一或参数二不是有效的目录"
    exit 1
fi


#如果第三个参数设置为new,则基线备份目录进行预处理
if [ $action = "new" ]; then
    mkdir $base/files
    cp -r $target/* $base/files/
    find $target -type f | xargs md5sum > $base/learn.md5
fi

#先清空日志文件
echo > $base/result.log

#通过对比MD5数据确定文件是否被删除
md5sum -c --quite $base/learn.md5 1> $base/learn.diff 2> /dev/null
remove=$(cat $base/learn.diff | grep "FAILED open or read" | sed 's/: FAILED open or read//g')
if [ ${#remove} -gt 0 ]; then
    echo -e "$target 目录有文件被删除: \n$remove" | tee -a $base/result.log
fi

#通过文件对比结果确定哪些文件被修改了
change=$(cat $base/learn.diff | grep "FAILED$" | sed 's/: FAILED//g')
if [ ${#change} -gt 0 ]; then
    echo -e "$target 目录中有文件被修改:\n$change" | tee -a $base/result.log
fi

#列出文件变化情况
list=$(diff $target $base/files/ | grep ^Only | sed -e 's/Only in //g' -e 's/: //g')
if [ ${#list} -gt 0 ]; then
    echo -e "两个目录中有文件数量的变化: \n$list" | tee -a $base/result.log
fi

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值