ドメインコントローラがWindowsServer2003 R2 でクライアントが WindowsXP が大半のActiveDirectoryなんですが、特定のPCでUSBメモリや外付けUSBハードディスクの使用を禁止したいという要件が出てきました。
WindowsServer2008のドメインコントローラなら、標準のグループポリシーでUSBメモリを含むリムーバブルメディアの使用が抑制できるんですが、2003にはデフォルトでは使えません。
(2008のグループポリシーで設定する方法は、【Windows Server 2008 実践評価ガイド】システム運用管理コストを削減する最新管理機能の全貌 : Windows Server - Computerworld.jpが参考になります)
しかし、WindowsServer2003でもグループポリシーに管理テンプレートを追加することで、リムーバブルメディアの使用を抑制できます。
そのための設定が情報漏えい対策ガイド (Windows 編)の3章にて載せられていました。
ガイドにはかなり詳細な手順が載せられているのでそのとおりにやれば簡単にできますが、一応メモしておきます。
まず、ガイドの手順で行うと下記のデバイスに関して、各制御ができます。
USB記憶装置 使用禁止、書き込み禁止
IEEE1394記憶装置 使用禁止
フロッピー 使用禁止
SDカード 使用禁止
CD-R/RW 書き込み禁止
ただし、「USB 記憶装置の書き込み禁止」と「SDカードの使用禁止」は、Windows XP SP2 以降でのみ動作し、Windows Server 2003 SP1 では動作しないようです。
リムーバブル記憶装置がインストールされている場合
PCにリムーバブル記憶装置がインストールされている場合は、グループポリシーのカスタム管理テンプレートを使うことで各制御ができます。
1.下記のコードをメモ帳にコピペし、Unicodeで、ドメインコントローラの%SystemRoot%\inf\BlockRmStor.adm に保存します。(今回2台DCがあったので2台共に保存しました)
; Administrative template file for blocking removable storage devices
; Version: 1.0
CLASS MACHINE
CATEGORY !!DisableRemovableStorage
POLICY !!WriteProtectUsbStor
#if version >= 4
SUPPORTED !!SUPPORTED_WindowsXPSP2
#endif
EXPLAIN !!WriteProtectUsbStor_Help
KEYNAME "SYSTEM\CurrentControlSet\Control\StorageDevicePolicies"
VALUENAME "WriteProtect"
VALUEON NUMERIC 1
VALUEOFF NUMERIC 0
END POLICY
POLICY !!DisableUsbStor
EXPLAIN !!DisableUsbStor_Help
KEYNAME "SYSTEM\CurrentControlSet\Services\USBStor"
VALUENAME "Start"
VALUEON NUMERIC 4
VALUEOFF NUMERIC 3
END POLICY
POLICY !!Disable1394Stor
EXPLAIN !!Disable1394Stor_Help
KEYNAME "SYSTEM\CurrentControlSet\Services\sbp2port"
VALUENAME "Start"
VALUEON NUMERIC 4
VALUEOFF NUMERIC 0
END POLICY
POLICY !!DisableFloppy
EXPLAIN !!DisableFloppy_Help
KEYNAME "SYSTEM\CurrentControlSet\Services\Flpydisk"
VALUENAME "Start"
VALUEON NUMERIC 4
VALUEOFF NUMERIC 3
END POLICY
POLICY !!DisableSDcard
#if version >= 4
SUPPORTED !!SUPPORTED_WindowsXPSP2
#endif
EXPLAIN !!DisableSDcard_Help
KEYNAME "SYSTEM\CurrentControlSet\Services\sffdisk"
VALUENAME "Start"
VALUEON NUMERIC 4
VALUEOFF NUMERIC 3
END POLICY
POLICY !!DisableCDBurning
#if version >= 4
SUPPORTED !!SUPPORTED_WindowsXPWindowsNET
#endif
EXPLAIN !!DisableCDBurning_Help
KEYNAME "SYSTEM\CurrentControlSet\Services\ImapiService"
VALUENAME "Start"
VALUEON NUMERIC 4
VALUEOFF NUMERIC 3
END POLICY
END CATEGORY ; DisableRemovableStorage
[strings]
DisableRemovableStorage="リムーバブル記憶装置の使用制限"
WriteProtectUsbStor="USB 記憶装置デバイスへの書き込み禁止"
WriteProtectUsbStor_Help="USB 記憶装置デバイスへの書き込み禁止をコンピュータを使用するすべてのユーザーに適用します。\n\nこのポリシーを有効にすると、コンピュータを使用するすべてのユーザーは USB 記憶装置デバイスへの書き込みができなくなります。読み込み操作は可能です。"
DisableUsbStor="USB 記憶装置デバイスの使用禁止"
DisableUsbStor_Help="USB 記憶装置デバイスの使用禁止をコンピュータを使用するすべてのユーザーに適用します。\n\nこのポリシーを有効にすると、コンピュータを使用するすべてのユーザーは USB 記憶装置デバイスの書き込みおよび読み込みができなくなります。"
Disable1394Stor="IEEE 1394 記憶装置デバイスの使用禁止"
Disable1394Stor_Help="IEEE 1394 記憶装置デバイスの使用禁止をコンピュータを使用するすべてのユーザーに適用します。\n\nこのポリシーを有効にすると、コンピュータを使用するすべてのユーザーは IEEE 1394 記憶装置デバイスの書き込みおよび読み込みができなくなります。"
DisableFloppy="フロッピー ディスクの使用禁止"
DisableFloppy_Help="フロッピー ディスクの使用禁止をコンピュータを使用するすべてのユーザーに適用します。\n\nこのポリシーを有効にすると、コンピュータを使用するすべてのユーザーはフロッピー ディスクの書き込みおよび読み込みができなくなります。"
DisableSDcard="SD 記憶域カードの使用禁止"
DisableSDcard_Help="SD 記憶域カードの使用禁止をコンピュータを使用するすべてのユーザーに適用します。\n\nこのポリシーを有効にすると、コンピュータを使用するすべてのユーザーは SD 記憶域カードの書き込みおよび読み込みができなくなります。"
DisableCDBurning="CD への書き込み禁止"
DisableCDBurning_Help="CD への書き込み禁止をコンピュータを使用するすべてのユーザーに適用します。\n\nこのポリシーを有効にすると、コンピュータを使用するすべてのユーザーは CD への書き込みができなくなります。読み込み操作は可能です。\n\n注意: CD ライタや IMAPI (Image Mastering Applications Programming Interface) を使用しないサードパーティのアプリケーションを使う場合は、CD を作成および修正することができます。\nユーザーごとにエクスプローラの CD 焼き付け機能を制限する場合は、ユーザーの構成\管理用テンプレート\Windows コンポーネント\エクスプローラの [CD 焼き付け機能を削除する] ポリシーを使用してください。"
SUPPORTED_WindowsXPSP2="Microsoft Windows XP Professional SP2 以降"
SUPPORTED_WindowsXPWindowsNET="Microsoft Windows XP または Windows Server 2003"
2.新しくグループポリシーオブジェクト(GPO)を作成し、任意のOUとリンクさせます。
3.作成したグループポリシーを、グループポリシーエディタ(GPE)で開きます。
4.GPEのコンソールツリーで、[コンピュータの構成]→[管理用テンプレート]→右クリック→[テンプレートの追加と削除]で、先ほど作成したBlockRmStor.admを開きます。
5.GPEのメニューバーの[表示]→[フィルタ]の[完全に管理されているポリシー設定のみ表示します]チェックをオフにすると、[コンピュータの構成\管理用テンプレート\リムーバブル記憶装置の使用制限]が表示されます。
6.後は、制限したい項目を有効にするだけですね。
リムーバブル記憶装置がインストールされていない場合
PCにリムーバブル記憶装置がインストールされていない場合は、ドライバファイル(inf)のアクセス許可を変更することにより対象のリムーバブル記憶装置をインストールできないようにする必要があるようです。
グループポリシーのスタートアップスクリプトを使って設定します。
1.リムーバブルメディアを規制するグループポリシーをグループポリシーエディタ(GPE)で開きます。
2.ツリーから [コンピュータの構成]→[Windows の設定]→[スクリプト(スタートアップ/シャットダウン)]→[スタートアップ]→[スタートアップのプロパティ]画面開くので、[ファイルの表示]。
3.上記で開いたパス(\\ドメイン名\SysVol\ドメイン名\Policies\ポリシー GUID\Machine\Scripts\Startup)に下記を "BlockRmStor.wsf" というファイル名で保存します。(文字コードをUTF-8にすること)
version="1.0" ?>
>
> '****************************************************************************
'* Module Name: BlockRmStor.wsf
'* Version: 1.0
'* Abstract: いくつかのリムーバブル記憶装置がインストールされることを
'* 禁止するために、指定されたグループに対して所定の inf/pnf
'* ファイルの ACE を削除します。
'****************************************************************************
>
>
>
name="D"
helpstring="指定されたグループ/ユーザーのリムーバブル記憶装置をインストールするためのアクセスを拒否します"
type="string"
required="false"
/>
name="R"
helpstring="指定されたグループ/ユーザーのリムーバブル記憶装置をインストールするためのアクセス拒否を取り消します"
type="string"
required="false"
/>
name="Q"
helpstring="処理の状況を表示しないモードをオンにします。既定はオフです"
type="string"
required="false"
/>
> 使用例:
BlockRmStor.wsf /D:Everyone
BlockRmStor.wsf /R:Everyone
BlockRmStor.wsf /D:Everyone /Q
/D または /R オプションのいずれかを指定する必要があります。
>
>
>
>
>
上記は中身見てわかるようにパラメータでリムーバブル記憶装置をインストールさせるか,させないかを指定できます。
/D:グループorユーザ名 →リムーバブルディスクインストール拒否。
/R:グループorユーザ名 →リムーバブルディスクインストール許可。
/Q:サイレントモード(処理の状況を表示しない)
4.[スタートアップのプロパティ]のスクリプト名で "BlockRmStor.wsf" を指定し、引数に /D:Everyone /Q を指定します。これによって全ユーザでリムーバブルメディアのインストールを禁止できます。
5.これで新しいUSBメモリを挿入してもドライバインストールできないため、使用できません。
余談ですが、上記のスクリプトでアクセス制限を設定するドライバファイルは下記のようになるようです。
フロッピーディスク :flpydisk.inf , flpydisk.pnf
USB 記憶装置デバイス :usbstor.inf , usbstor.pnf
IEEE1394記憶装置デバイス:sbp2.inf , sbp2.pnf
SD記憶域カード :sffdisk.inf , sffdisk.pnf
解除時の注意
一度リムーバブルメディアを制限するOUに一度適用してしまうと、そのOUを外れてもリムーバブルメディアの制限はかかったままになります。
なので、制限を解除するOUをつくって、解除時はそのOUに解除したいPCを入れないといけません。