最近实现了网络应用防火墙的文件防篡改 与大家分享。
文件防篡改要达到的目标就是 当检测到远程服务器的文件发生改动了,就发出警告或将备份的文件给覆盖上去。根据文件的属性信息:权限、大小、日期、和文件路径 来判定文件是否发生篡改。好了下面谈谈具体的实现方法:
首先下载远程要保护的文件
利用scp远程命令以及人际交互脚本,来获得下载远程文件,如:
#!/usr/bin/expect -f
set addr [lindex $argv 0]
set user [lindex $argv 1]
set passwd [lindex $argv 2]
set remote_folder_path [lindex $argv 3]
set local_folder_path [lindex $argv 4]
set timeout 600
spawn mkdir -p $local_folder_path
spawn scp -rp $local_folder_path
expect {
"*yes/no*" {
send "yes\n"
exp_continue
}
"*password:" {
send "$passwd\n"
exp_continue
}
eof
}
然后 在用c语言实现遍历文件属性信息 利用 ls 命令 将写好的c可执行程序 还是利用scp上传到远程服务器,远程执行,获得文件信息 在将文件属性信息传回来
其次就是判断篡改了
在次获取远程文件属性信息与上次的进行比较(c语言实现比较判断),如果,文件数量 或者属性信息不一致 即发生篡改
最后就是篡改处理了
还是利用scp命令 将本地备份的文件覆盖到远程篡改的文件
这样就实现了文件防篡改。
阅读(3556) | 评论(0) | 转发(1) |