在我工作的地方,我们的计算机上有敏感数据需要保留在那里,但我们会定期更新数据,因此我们需要一种方法来禁止复制到闪存驱动器但允许从闪存驱动器复制到计算机。目前我们正在使用 Windows 注册表项 StorageDevicePolicies-->writeprotect(1) 执行此操作,但由于任何具有计算机知识的人都可以撤消此操作,因此它不够安全。我搜索但在网上找不到任何东西,所以我决定自己开发它。问题是我没有任何使用硬件的经验,我主要用 c sharp 开发数据库应用程序。因此,我将不胜感激 c sharp 中的解决方案,但任何可以提供帮助的东西都会受到高度赞赏。
2 回答
如果他们具有管理员权限,那么您编写的任何 C# 程序都可以像更改注册表项一样容易地被关闭。真正的解决方案是修改用户权限,并可能在需要将数据复制到机器时删除闪存驱动器功能并使用网络共享。
如果有的话,我可能只是用一个不起眼的名字做一个服务,它会定期轮询注册表项以查看它是否被翻转,如果它已经通知 IT 人员,然后他们将征用计算机、闪存驱动器和事件日志(显示该用户更改了注册表项),然后将它们和日志提交给管理人员。这假设员工已被彻底且频繁地警告说,从机器上复制数据是严格违反规则的。有时,用户不清楚 IT 障碍究竟是管理不善的 IT 还是公司政策。
或者,如果它被更改,您可以让服务强制返回,但随后反复试验将允许具有管理员权限的用户发现需要关闭哪个服务以防止这种情况发生。
我怀疑您是否可以访问网络,因为您正在使用闪存驱动器复制数据。但是即使您没有网络,您仍然可以使用此方法(但管理员仍然可以绕过它)。
组策略具有您正在寻找的确切设置。只需打开Group Policy Snap-in,然后在Computer Configuration
or下User Configuration
(如果您希望它分别应用于计算机或用户(如果您希望它在一台计算机上但仅应用于某些用户,则需要设置环回处理)然后去\Administrative Templates\System\Removable Storage Access\
在该文件夹中,您可以启用以下设置:
- CD 和 DVD:拒绝写入访问
- 自定义类:拒绝写访问
- 软盘驱动器:拒绝写访问
- 可移动磁盘:拒绝写入访问
- 磁带机:拒绝写访问
- WPD 设备:拒绝写访问
如果您在域中,则可以这样做,即使用户是计算机的本地管理员,他们也无法禁用该设置,除非他们也是域管理员。如果您不在域中,任何管理员用户都可以禁用它。