我想拦截 Linux 服务器中的每个磁盘写入操作。详细地说,我想在每个磁盘写入操作发生时立即捕获它,并能够确定哪个进程发起了调用,它试图写入的位置等等。为简单起见,目前我只专注于 ext3。我知道 auditfs 和其他“观察者”只会在操作发生后通知您。如前所述,我想在发生时进行拦截,并能够检索有关操作的所有信息(进程信息、目标位置、正在写入的内容)。如果有一种中断/回调机制(例如接收进程、进程组或会话的任何写操作的通知 - pid、pgid、sid),那就更好了。
谢谢
我想拦截 Linux 服务器中的每个磁盘写入操作。详细地说,我想在每个磁盘写入操作发生时立即捕获它,并能够确定哪个进程发起了调用,它试图写入的位置等等。为简单起见,目前我只专注于 ext3。我知道 auditfs 和其他“观察者”只会在操作发生后通知您。如前所述,我想在发生时进行拦截,并能够检索有关操作的所有信息(进程信息、目标位置、正在写入的内容)。如果有一种中断/回调机制(例如接收进程、进程组或会话的任何写操作的通知 - pid、pgid、sid),那就更好了。
谢谢
我对这个问题进行了一些搜索,这些看起来很有希望: • Copyhook Handlers - 对于 MSDOS Shell,在 WinReg 中提供一个拦截 DLL • NtSetInformationFile • Minifilters - 我认为这些对于跨平台是可移植的 • 可安装的文件系统驱动程序 - 嗯,当然
文件共享类型:一些文件系统支持审计和保护强化,但可能只是“事后”。
CopyHook 看起来非常简单:在 Windows 中拦截 shell 文件操作调用:
https://msdn.microsoft.com/en-us/library/bb776048.aspx
驱动程序级别的东西变得非常多毛,非常快......