【问题标题】:Hooking SMB file operations on Windows Server 2008在 Windows Server 2008 上挂钩 SMB 文件操作
【发布时间】:2012-07-30 23:00:30
【问题描述】:

在查看了我拥有的几个不同选项后,我决定我的应用程序有必要挂钩与网络相关的文件操作(在此处讨论 Retrieve who created/modified/deleted a file)。无论如何,我一直在研究如何建立一个可靠的挂钩方案。基本上,我需要能够监视我的 Windows 2008 服务器上 SMB 共享上的创建/读取/写入/删除请求,并在需要时拒绝它们。我知道这可以使用微过滤器驱动程序来完成,但我正在寻找一种更快的解决方案,如果有的话。有谁知道解决办法吗?

哎呀!我设法在原始帖子中遗漏了一个巨大的要求。我还需要能够跟踪哪个用户名在其中一个共享中创建/删除/修改了文件。出于这个原因,我认为文件系统过滤器不是我想要的。

【问题讨论】:

  • 通常您可以只使用 ACL 来拒绝请求。你想做什么 ACL 无法处理?
  • 请看修改后的原帖。
  • 审核日志旨在跟踪谁创建/删除/修改了文件。使用适当的审核 ACL,它会告诉您谁打开了每个文件以及授予了哪些访问权限。但是,如果您想要一份谁做了什么的确切列表,则需要编写自己的过滤器。

标签: c# c++ minifilter


【解决方案1】:

如果您只想监视目录中发生的文件更改,可以试试这个Obtaining Directory Change Notifications。如果您想以 .Net/C# 方式尝试此FileSystemWatcher

但这只会通知更改,您将无法控制操作(允许或拒绝)。

如果你必须控制运行minifilter是这样的。

【讨论】:

  • 这些都是很好的建议,但它们都没有真正解决实际拦截哪个用户对文件进行更改(创建、写入、删除)的问题。有没有人找到这样的解决方案?
  • 您可以使用回调数据中的SubjectSecurityContext参数和SeQueryInformationToken获取微过滤器中哪个用户进行操作
猜你喜欢
  • 2015-10-04
  • 1970-01-01
  • 1970-01-01
  • 2013-03-27
  • 2011-05-31
  • 2010-09-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多