Chinaunix首页 | 论坛 | 博客
  • 博客访问: 382523
  • 博文数量: 62
  • 博客积分: 388
  • 博客等级: 一等列兵
  • 技术积分: 1032
  • 用 户 组: 普通用户
  • 注册时间: 2012-02-03 20:18
文章分类

全部博文(62)

文章存档

2017年(5)

2016年(3)

2015年(3)

2014年(8)

2013年(15)

2012年(28)

分类: 网络与安全

2012-02-13 10:28:11

最近实现了网络应用防火墙的文件防篡改 与大家分享。
文件防篡改要达到的目标就是 当检测到远程服务器的文件发生改动了,就发出警告或将备份的文件给覆盖上去。根据文件的属性信息:权限、大小、日期、和文件路径 来判定文件是否发生篡改。好了下面谈谈具体的实现方法:
首先下载远程要保护的文件
利用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命令 将本地备份的文件覆盖到远程篡改的文件
 
这样就实现了文件防篡改。
阅读(3498) | 评论(0) | 转发(1) |
给主人留下些什么吧!~~