场景

    USB移动存储给我们带来便利的同时,也带来了不少麻烦:信息泄露、病毒传播等。

    某单位希望将一些受限制的计算机放置在某个OU中,禁用在这些计算机上使用USB存储设备。如果将某台计算机移出受限制的OU后,又可以使用USB存储设备了。

    如果需求不复杂,可以不使用第三方移动存储管理软件(多数需要在客户端安装软件),而是使用组策略来达到此目的。

原理

    两个要点:

  •  第一次使用USB存储设备时,主要通过两个文件,一个是Usbtor.pnf、另外一个是                  Usbstor.inf来安装UsbStor服务,并且将这个服务启动。

  •  以后要使用USB存储设备,UsbStor服务必须处于启动状态。启动状态有注册表中                      HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\UsbStor的Start值来控制。              Start值得含义为:

  • 0   Boot

  • 1   System

  • 2   Auto Load

  • 3   Load On Demand 默认值

  • 4   Disabled

    有一些朋友的做法仅仅是通过管理模板来讲Start的值设置为4-Disadle。这种做法有一个弱点:

    如果是一个人讲U盘插入到从来没有使用过U盘的计算机时,Windows会自动安装UsbStor服务,并且处于启动状态直到下一个禁用USB存储设备的GPO被应用为止。在这个时候,这个仍然可以使用USB存储设备!

解决方案

    根据上面的分析,只有两者相结合才是最可靠的解决方案:

    1、    我们需要防止USBSTOR服务被安装,除非这些用户是可以使用USB存储设备的。这可以通过在               组策略中限制对USBSTOR.INF 和 USBSTORE.PNF 访问,来访问即插即用功能自动安装驱动               程序。

    2、    通过管理模板来控制USBSTOR启动类型

组策略 1:控制对USBSTOR.INF 和USBSTOR.PNF 的访问

    1、打开Active Directory 用户计算机;

    2、选择需要禁用USB设备的OU,并点击鼠标右键进行组策略;

    3、创建一个针对USB的GPO,比如命名为“只允许指定的用户组安装USB存储驱动程序”,然后点           击编辑,打开组策略编辑器;

    4、进入组策略编辑器,依次展开计算机配置→Windows设置→安全设置→文件系统;

    5、右键点击“添加文件”,弹出“添加文件和文件夹”,在“文件夹”栏输                               入“%systemroot%\inf\usbstor.inf”,确定;

    6、在“数据库安全位置”中,删除Users,添加相应组,如下所示。然后,应用、确定;

通过组策略禁用U盘的使用_计算机

通过组策略禁用U盘的使用_组策略_02

    7、在“添加对象”窗口,默认当前设置,若要重新编辑安全权限,则可点击“编辑安全设置”进行           重新设置;确认,对出设置;

    8、除此之外,重复5、6、7步,对“%systemroot%\inf\usbstor.inf"进行设置;

    9、关闭组策略编辑器;

通过组策略禁用U盘的使用_注册表_03

    10、使用“gpupdate/force”,强行刷新策略。

组策略2:控制对USBSTOR服务启动类型

1、创建自定义的管理模板文件。使用记事本创建一个文本文件,保存后缀为.adm文件,如USBStore.adm


CLASS MACHINE

 

CATEGORY "Services und Drivers" 

   POLICY "USB Storage" 

   KEYNAME "System\CurrentControlSet\Services\usbstor"  

    PART "Startup type" DROPDOWNLIST 

      VALUENAME "Start" 

         ITEMLIST 

         NAME "0 - Boot" VALUE NUMERIC 0 

         NAME "1 - System" VALUE NUMERIC 1 

         NAME "2 - Auto Load" VALUE NUMERIC 2 DEFAULT 

         NAME "3 - Load On Demand" VALUE NUMERIC 3 

         NAME "4 - Disabled" VALUE NUMERIC 4 

         END ITEMLIST 

    END PART 

   END POLICY 

END CATEGORY

2、如果通过管理模板修改注册表,如果以后不应用此策略了,这些值也不会恢复原有的值。所以,为了达到“仅对受限OU的计算机禁用USB移动存储设备,当计算机从受限OU中移除后又恢复USB移动设备的使用”的目的,所以建议先在域的级别上创建一个组策略--“允许使用USB移动存储设备”

3、在组策略编辑器中添加自定义的管理模板

通过组策略禁用U盘的使用_组策略_04

通过组策略禁用U盘的使用_注册表_05

通过组策略禁用U盘的使用_计算机_06

通过组策略禁用U盘的使用_计算机_07

4、添加了自定义的模板后,由于筛选的原因,默认情况下并没有将设置荐显示出来

通过组策略禁用U盘的使用_组策略_08

通过组策略禁用U盘的使用_计算机_09

清除只显示完全管理的策略设置

通过组策略禁用U盘的使用_组策略_10

这样,可以显示出来设置值

通过组策略禁用U盘的使用_注册表_11

5、选择启动类型为3-Load On Demand

通过组策略禁用U盘的使用_组策略_12

6、然后,在禁用USB移动存储设备OU上创建一个组策略--“禁止使用USB移动存储设备”。设置方法与        前面相似,只不过是在启动类型中选择4-Disable

通过组策略禁用U盘的使用_组策略_13

FAQ

Q:如果管理员在已经被禁用USB移动存储的计算机上进行维护工作是,想临时启用USB移动存储,如何做?

A:在已经安装了USB存储驱动的计算机上,可以在命令提示符下执行 net start usbstor。在使用之后,可以执行 net stop usbstor

Q:能否达到在指定计算机上,有的用户可以使用USB设备,有的用户则不能?

A:由于是前面提供的是针对计算机的策略,故而无法针对用户来控制。如果想达到这个目的可以 从用户登录脚本上想办法

Q:如果客户端的系统所在的分区不是NTFS,那么这个安全策略是否起作用?

A:如果系统所在分区不是NTFS,则无法对Usbstor.pnf、Usbstor.inf来设置许可,所以不能防止USB存储驱动程序的安装

Q:能否只允许用户使用某个U盘?比如“专盘专用”?

A:第三方的软件如GFILANguard、CenterToolsDriveLock等可以达到此目的,这类软件需要客户安装agent软件。Vista在USB存储管理上有一些新的增强。