グループポリシーでアプリケーションの実行を制御する基礎から分かるグループポリシー再入門(6)

「グループポリシー」には、コンピューターの各種設定のオン/オフを一元管理するだけでなく、アプリケーションの実行を制御する設定も用意されている。今回は、アプリケーションの実行制御に関する設定と確認方法を紹介しよう。

» 2015年06月05日 05時00分 公開
[新井慎太朗株式会社ソフィアネットワーク]
「基礎から分かるグループポリシー再入門」のインデックス

連載目次

アプリケーションの実行制御が重要な理由

 本連載第4回(「まだあるぞ! グループポリシーの“鉄板”設定パート2」)でも解説したが、会社のPCで業務とは無関係のアプリケーションが実行されてしまうと、生産性が低下したり、そのアプリケーションが持つ特性や不具合から情報漏えいにつながったりする危険性がある。そのため、アプリケーションの実行制御は、組織におけるクライアント管理の重要な一項目となっている。

 サードパーティ製のソリューションでアプリケーションの実行を制御することも選択肢の一つだが、Windows Serverに標準で備わっている「グループポリシー」にもそのための方法が用意されているので、これを使わない手はないだろう。アプリケーションの実行を制御するグループポリシー設定は、次の二つになる。

  • ソフトウエアの制限のポリシー
  • アプリケーション制御ポリシー(AppLocker)

 「ソフトウエアの制御ポリシー」はWindows XP/Windows Server 2003以降が適用対象となるが、あまり細かい設定は行えない。一方、「アプリケーション制御ポリシー」(以下、AppLocker)は、Windows 7/Windows Server 2008 R2以降が対象となり、ソフトウエアの制御ポリシーよりも細かい制御を行うことができる。以降は、AppLockerによるアプリケーションの実行制御や設定における注意点を見ていこう。

アプリケーションの実行規則を作成する

 AppLockerの設定は「グループポリシーの管理」管理ツールを起動して、適用したい「グループポリシーオブジェクト」(GPO)の右クリックメニューから「編集」を選択して表示されるGPOの編集画面から次の項目を開いて行う。

AppLockerの設定項目

  • 「コンピューターの構成」−「ポリシー」−「Windowsの設定」−「セキュリティの設定」−「アプリケーション制御ポリシー」−「AppLocker」

 「AppLocker」の配下はアプリケーションの種類ごとに規則が分かれており、制御したいアプリケーションよって「規則」が異なる。例えば、「.exe」や「.com」の実行を制御したい場合は「実行可能ファイルの規則」を構成し、「.bat」や「.vbs」の実行を制御したい場合は「スクリプトの規則」を構成していくといった要領だ。

 なお、既定の画面には「DLLの規則」は表示されていないため、「.dll」の実行を制御したい場合には、次の操作を行うことで構成することができる。

「DLLの規則」を構成する

  • 「AppLocker」を右クリックして「プロパティ」を選択し、「詳細設定」タブで「DLLの規則のコレクションを有効にする」のチェックボックスをオンにする

 規則はアプリケーションの種類によって異なるが、作成方法は共通だ。構成したい規則を右クリックして「新しい規則の作成」を選択し、表示されるウィザードに従って「許可/拒否」「対象となるユーザー」「規則の条件」を設定していけばよい(画面1)。

画面1 画面1 「新しい規則の作成」ウィザードで、アプリケーションの実行を制御するための「規則の条件」を設定する

 「規則の条件」では、「発行元」「パス」「ファイルハッシュ」のいずれかを選択する必要があるが、選択肢によって注意すべき点がある。「パス」を選択した場合には、アプリケーションのファイル名やパスが変わることで、制御対象から外れる可能性があることだ。また、「ファイルハッシュ」を選択した場合は、アプリケーションのバージョンアップなどによってハッシュ値が変わってしまい、対象から外れてしまうことが考えられる。そのため、アプリケーションに署名が付いているのであれば、「発行元」を選択するとよいだろう。

 今回は、「発行元」を選択したという前提で次の画面2を見てほしい。ここでは、制御するアプリケーションの選択や、制御に用いる情報の範囲(スコープ)を必要に応じて調整する。

画面2 画面2 「新しい規則の作成」ウィザードで、制御するアプリケーションの詳細情報を設定する

 例えば、アプリケーションによっては古いバージョンに脆弱(ぜいじゃく)性が見つかっていることもあるため、バージョンによって実行を制御したいケースも考えられるだろう。そのような場合には、「ファイルのバージョン」を調整することで、「バージョンがXX以下の場合は」といったカスタマイズが可能である。

 また、この設定時における考慮事項としては、「発行元」または「ファイルハッシュ」を条件に設定する場合にはアプリケーションの選択が必要であるため、何らかの方法でそのアプリケーションを入手しておく必要があるということだ。必ずしもグループポリシーを設定するドメインコントローラーのローカルにある必要はないため、ネットワーク共有で参照してもよい。

 このように、ウィザードで設定を進めていくと、規則が作成される。また、初めて規則を作成した場合には、ウィザードの最後に「既定の規則を作成するか?」という画面が出てくる。この「既定の規則」は、Windowsのシステムファイルの実行を確実に許可するための規則であり、基本的には作成することが推奨される(画面3)。「既定の規則」を作成した場合、具体的には次の三つの規則が作成される。

  • Everyoneに対して「Program Files」フォルダー内にある全てのファイルの実行を許可する
  • Everyoneに対して「Windows」フォルダー内にある全てのファイルの実行を許可する
  • Administratorsに対して全てのファイルの実行を許可する
画面3 画面3 新たに作成した規則と三つの「既定の規則」がGPOの編集画面に追加される

 「許可」の規則と「拒否」の規則の関係は、アクセス許可の考え方と同じである。つまり、アプリケーションが「許可」と「拒否」の両方の規則に一致する場合は、「拒否」が優先される。また、いずれの規則にも一致しない場合には、そのアプリケーションの実行は暗黙的に拒否される。

規則の作成後に行うべき二つの設定

 規則の作成が終わっても、この時点ではまだアプリケーションに制御はかからない。なぜなら、規則の作成後に行うべき二つの設定があるからだ。ここはAppLocker以外のポリシー設定とは異なる点になるので、注意しておくとよいだろう。

 一つは、「規則の構成が完了したというフラグを立てる」こと。操作としては、グループポリシーの編集画面で「AppLocker」を右クリックして「プロパティ」を選択すると、規則の種類ごとに「構成済み」のチェックボックスが表示される。このチェックボックスをオンにすれば設定は完了だ(画面4)。この設定によって、ユーザーは規則で許可されたアプリケーションだけが実行可能となるため、それ以外のアプリケーションの実行を禁止することができる。

画面4 画面4 「AppLocker」のプロパティで「構成済み」のチェックボックスをオンにする

 しかし、規則を即座に実施する前に、「禁止したいアプリケーションがどの程度使われているか」を確認したい場合もあるだろう。その場合には、チェックボックスの下のリストを「監査のみ」に設定する。「監査のみ」に設定した場合は、実際にはユーザーのアプリケーション実行時に制御はかからないが、ログだけを記録できるようになる。そうすれば、これから禁止するアプリケーションをどれくらいの人が、どれくらいの頻度で使っているかを調査することが可能になる。

 もう一つは、「AppLockerに関連するサービスを確実に開始する」こと。AppLockerは「Application Identity」という名前のサービスで制御されており、既定では実行されていない。

 このサービスをコンピューターごとに開始するように構成する必要があるが、クライアントコンピューターの台数が多い場合には1台ずつ構成するのは面倒である。また、クライアントコンピューターでこのサービスを停止されてしまうと、せっかく作成したAppLockerの規則が動作しないのである。

 そのため、ここでもグループポリシーを活用することになる。グループポリシーは、コンピューター上の特定のサービスの構成も可能なため、「Application Identity」サービスを自動的に開始するように構成する(画面5)。サービスを構成するには、次のグループポリシー設定を利用する。

サービスを構成するための設定

  • 「コンピューターの構成」−「ポリシー」−「Windowsの設定」−「セキュリティの設定」−「システムサービス」

画面5 画面5 グループポリシーで「Application Identity」サービスを自動開始に構成する

 この設定を行うことで、クライアントコンピューターで実行可能なアプリケーションを制御できるようになる。ユーザーが規則で禁止されたアプリケーションを実行しようとすると、実行がブロックされると同時にメッセージが表示され、実行できない旨がユーザーに通知される(画面6)。

画面6 画面6 禁止されたアプリケーションを実行しようとしてもブロックされ、メッセージが表示される

 通常は画面6のようなメッセージが表示されるのだが、Windows 8/8.1では「スタート」画面から禁止されたアプリケーションを実行しようとした場合、アプリケーションの実行はブロックされるが「メッセージは表示されない」ことに注意してほしい。ユーザーから「なぜ実行できないのか」という問い合わせを受ける可能性があるので、AppLockerを設定する管理者やヘルプデスク担当者は特に覚えておいてほしい。

アプリケーション実行制御の結果を確認する

 実行制御を行うだけでなく、誰が、どのようなアプリケーションを実行しようとしたのかを定期的に確認することも必要だ。AppLockerの制御の結果はイベントログに記録される。規則を実施した場合はもちろん、監査のみであってもイベントログは記録される。また、AppLockerで想定通りに制御されない場合や、トラブルシューティング時にもイベントログを確認するとよいだろう。AppLockerのイベントログは、クライアントコンピューターの「イベントビューアー」を開き、次の場所から参照することができる。

AppLockerのイベントログの確認場所

  • 「イベントビューアー」−「アプリケーションとサービスログ」−「Microsoft」−「Windows」−「AppLocker」

 AppLockerのイベントログはいくつかの項目に分かれており、構成した規則によって格納される場所が異なる。例えば、構成した規則が「実行可能ファイルの規則」であれば、「EXE and DLL」の配下にイベントログが格納される。このイベントログを参照すれば、AppLockerのポリシーが適用されたのかどうかや、許可または禁止されたアプリケーションの実行に関する情報も一目瞭然だ。

 ただし、注意点として、これらのイベントログは各コンピューター上に記録されるということだ。管理者が定期的にユーザーのコンピューター上で確認するのか、特定のイベントIDが記録されたときに管理者に通知するような構成にするのか、イベントログを他のコンピューターに転送するのか、といったことも検討する必要があるだろう。

 今回は、アプリケーションの実行制御をテーマに、AppLockerを用いた設定や確認方法を紹介した。アプリケーションに関する設定を行う際には実行制御も重要だが、ダウンロードやインストールについても検討事項がないかどうかを併せて考えてほしい。

「基礎から分かるグループポリシー再入門」バックナンバー

筆者紹介

新井 慎太朗(あらい しんたろう)

株式会社ソフィアネットワークに所属。2009年よりマイクロソフト認定トレーナーとして、Windowsを中心としたサーバーおよびクライアント管理、仮想化技術に関するトレーニングを提供している。無類の猫好き。共同執筆者である国井家で飼われている猫に夢中。


Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

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

メールマガジン登録

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