Windows 7のAppLockerで特定のプログラムを実行禁止にするTech TIPS

特定のプログラムを実行禁止にしたり、実行可能にしたりできると、セキュリティの強化や管理工数の軽減が図れる。Windows 7/Server 2008 R2では、特定のプログラムを実行禁止にしたり、指定した条件に一致するプログラムのみを実行可能にしたりできる「AppLocker」がサポートされている。

» 2010年01月08日 05時00分 公開
[小林章彦デジタルアドバンテージ]
「Tech TIPS」のインデックス

連載目次

対象OS:Windows 7/Windows Server 2008 R2



解説

 ファイル共有ソフトウェアが原因で情報漏えいが起きてしまった、業務に不要なゲームなどのソフトウェアによってコンピュータが不安定になってしまった、といったトラブルを経験している管理者もいるのではないだろうか。不要なソフトウェアのインストールをしないように社内教育を行っていても、残念ながらこうしたトラブルはなくならないようだ。企業としては、情報漏えいの危険性があるファイル共有ソフトウェアや、作業効率の低下が懸念されるゲームなどの実行は防止したいところだろう。それには、強制的に特定のプログラムを実行禁止にしたり、実行可能にしたりできることが望ましい。

 これまでもグループ・ポリシーの「ソフトウェアの制限のポリシー」を利用すれば、特定のファイル名やハッシュ値などに基づいて実行を禁止できた。しかし「ソフトウェアの制限のポリシー」では設定方法が分かりにくく、柔軟性もないため、使いやすいものではなかった。

 Windows 7/Server 2008 R2では、特定のプログラムの実行を禁止したり、指定したバージョンや署名を持っているプログラムのみを実行できるようにしたりするなど、業務に不要なプログラムの実行などを制限できる機能「AppLocker」がサポートされた。従来の「ソフトウェアの制限のポリシー」に比べると、プログラムの発行元を条件にしたり、特定のユーザーやグループのみを対象にしたりできるなど、AppLockerはより柔軟で多くの条件を使ってプログラムの実行を制御できるようになっている。本稿では、このAppLockerの基本的な利用法を紹介する。なおAppLockerは、Windows 7 UltimateとEnterprise、Windows Server 2008 R2の全エディションで利用可能だ。Windows 7 Professionalでは、ポリシーの作成は可能だが、作成した規則は実施されないので注意が必要だ。

操作方法

 AppLockerによるプログラムの実行制御は、ローカル・セキュリティ・ポリシーかグループ・ポリシーを使って行う。

 まずAppLockerを利用するためには、事前にアプリケーションIDサービスを開始しておく必要がある。[コントロール パネル]から[管理ツール]−[サービス]を実行し、[Application Identity]のプロパティを開く。ここで「スタートアップの種類」を[自動]にし、「サービスの状態」の[開始]ボタンをクリックして、サービスを開始しておく。

[管理ツール]−[サービス]の画面 [管理ツール]−[サービス]の画面
アプリケーションIDサービスを開始するため、[サービス]で[Application Identity]を探し、ダブルクリックしてプロパティを開く。
  (1)[Application Identity]をダブルクリックする。→[A]

[A]

[Application Identityのプロパティ]の画面 [Application Identityのプロパティ]の画面
「スタートアップの種類」を[自動]にし、「サービスの状態」の[開始]ボタンをクリックして、サービスを開始しておく。
  (1)デフォルトの[手動]から[自動]に変更する。
  (2)[開始]ボタンをクリックし、サービスを開始する。

 次に[スタート]の[プログラムとファイルの検索]に「gpedit.msc」と入力し、ローカル・グループ・ポリシー・エディタを起動する(グループ・ポリシーで設定する場合は、サーバのグループ・ポリシー・エディタを起動する)。[コンピューターの構成]−[Windowsの設定]−[セキュリティの設定]−[アプリケーション制御ポリシー]−[AppLocker]を展開する。

ローカル・グループ・ポリシー・エディタの画面 ローカル・グループ・ポリシー・エディタの画面
AppLockerは、グループ・ポリシーの[コンピューターの構成]−[Windowsの設定]−[セキュリティの設定]−[アプリケーション制御ポリシー]−[AppLocker]で設定する。
  (1)AppLocker以下のポリシーにルールを設定する。
  (2)[規則の実施の構成]でカテゴリに「DLL」を追加できる。

 AppLockerでは、「実行可能ファイル(EXE)」「Windowsインストーラ・ファイル」「スクリプト」「DLL」の各カテゴリに対して、それぞれ「ファイルのパス」「ハッシュ値」「発行元(デジタル署名)」を設定し、これに「許可」「拒否」「例外」という3種類のルールが適用できる。

 「許可」では、「既知の実行可能アプリケーション・リスト」に含まれるものだけが実行され、それ以外の実行はブロックされる。「拒否」では、逆に「既知の問題のあるアプリケーション」を除いて、すべてのアプリケーションが実行できる。例えば、ファイル共有ソフトウェアやゲームなどは、「拒否」に設定しておく、といった具合だ。「例外」は、「許可」「拒否」に含まれるもののうちから、一部を例外として、実行不可/実行可能にするものである。例えば、「Program Filesフォルダ内のすべての実行を許可するが、ゲーム(Microsoft Games)は例外として実行不可にする」といったように利用する。

 なおデフォルトでは、DLLに対するルールの設定ができないようになっているが、[AppLocker]の右ペインの[規則の実施の構成]リンクをクリックして開く、[AppLockerのプロパティ]ダイアログの[詳細設定]タブで[DLLの規則のコレクションを有効にする]にチェックを入れることで、DLLに対するルール設定できるようになる。ただ通常の利用においては、DLLに対するルールを設定する必要はないだろう。

 以下、電卓プログラム(calc.exe)の実行を拒否する設定を例にルールの作成方法を紹介する。

 電卓プログラムは、実行可能ファイルなので、[AppLocker]−[実行可能ファイルの規則]に対してルールを設定する。そこで、[実行可能ファイルの規則]を右クリックし、[新しい規則の作成]を選択する。

[実行可能ファイルの規則]の右クリック・メニュー [実行可能ファイルの規則]の右クリック・メニュー
新しいルール(規則)を作成するには、カテゴリを右クリックしたメニューから[新しい規則の作成]((1))を選択する。

 以降、ウィザードに従い、[許可]と[拒否]の選択、対象となるユーザーまたはグループを設定し、次に「ファイルのパス」「ハッシュ値」「発行元(デジタル署名)」から制限するための条件を指定する。電卓プログラムを実行不可にするので、[拒否][Everyone]をそれぞれ選択し、電卓プログラムのパス「%System32%\calc.exe」を制限条件として指定する。「ファイルのパス」は、ファイルだけでなく、フォルダの指定も可能なので、%ProgramFiles%以下を[拒否]にするといった設定も可能だ。[例外]のルールを設定する場合は、その次の[例外]で設定する。今回の設定では、[例外]のルールは不要なのでそのまま次に進む。あとは[作成]ボタンをクリックすれば、電卓プログラムが実行不可となるルールが出来上がる。

[新しい規則の作成]ウィザードの[アクセス許可]の画面 [新しい規則の作成]ウィザードの[アクセス許可]の画面
ここでは、作成するルールが実行可能(許可)か実行不可(拒否)かを選択し、その対象となるユーザーまたはグループを選択する。
  (1)実行不可にする場合は、[拒否]を選択する。
  (2)ルールの対象となるユーザーまたはグループを選択する。デフォルトは、「Everyone」になっている。

[新しい規則の作成]ウィザードの[条件]の画面 [新しい規則の作成]ウィザードの[条件]の画面
[アクセス許可]で選択した[許可][拒否]をどのような条件で設定するかを選択する。パスが最も容易な条件だが、実行可能ファイルをコピーされてしまうと、拒否に設定していても実行可能になってしまう。ファイル・ハッシュ値を選択すれば、どこにインストールされていても実行がブロックできるが、設定が少々面倒となる。

[新しい規則の作成]ウィザードの[パス]の画面 [新しい規則の作成]ウィザードの[パス]の画面
ウィザードの前画面で選択した条件に合わせて、発行元やパス、ハッシュ値を設定する。
  (1)ここでは条件として[パス]を選択したので、ファイル・パスを指定する。フォルダを指定して、フォルダに含まれる実行可能ファイルを[許可][拒否]に設定することもできる。

作成されたAppLockerのルール 作成されたAppLockerのルール
作成されたルール((1))は、各カテゴリの右ペインにこのように表示される。これをダブルクリックするなどしてプロパティを開くと、ルールの編集もできる。

 ルール作成後、電卓プログラムを実行すると以下のダイアログが表示される。グループ・ポリシーによって実行がブロックされるようになったことが分かる。

実行がブロックされたことを示すダイアログの画面 実行がブロックされたことを示すダイアログの画面
実行を拒否するようにルールを設定した実行可能ファイルを実行すると、このダイアログが表示される。グループ・ポリシーによって実行がブロックされるようになったことが分かる。

 なお[AppLocker]−[実行可能ファイルの規則][Windowsインストーラ ファイルの規則[スクリプトの規則][DLL]で右クリックしたメニューで[規則の自動生成]を選択すれば、ある程度まとまったルールが自動作成できる。最初にルールを作成する場合は、[規則の自動生成]でルールを作成してから、それを編集する方が容易かもしれない。

「Tech TIPS」のインデックス

Tech TIPS

Copyright© Digital Advantage Corp. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。