我们曾在开发某一非现场审计项目运用过相关的技术,
因涉及内部保密原因,仅提供部分思路供开发参考。请见谅!
一、项目开发环境
操作系统:AIX;
开发语言:C;
二、思路核心
UNIX下“万物皆文件”,目录也是,U盘也是,普通文件也是;
三、利用UNIX多用户安全机制,对需审计人员的登陆目录隔离和限定;
四、监控过程
1、获取每个登陆目录文件内容(可参看<dirent.h>),根据内容运用加密算法生成信息摘要,
我们当时使用了SHA和自己的加密算法混合。并将该唯一的信息摘要写到管理员指定的监控目录文件并进行加密。
2、对目录下每个文件重复操作1步骤。最终生成对应的审计人员监控文件。
五、采用select操作系统调用监控目录和目录下文件,对发生任何变化的动作写入监控文件(平衡好系统负载和反应性能)
六、提升该监控程序为超级用户并作为开机运行和后台方式运行避免出现被监控用户中断运行。
如果快速开发可使用现成的,可参考inotify,但我们因安全和版权问题自行开发,该系统目前运行良好。
仅供参考。
begboy