特定のプログラムを実行禁止にしたり、実行可能にしたりできると、セキュリティの強化や管理工数の軽減が図れる。Windows 7/Server 2008 R2では、特定のプログラムを実行禁止にしたり、指定した条件に一致するプログラムのみを実行可能にしたりできる「AppLocker」がサポートされている。
対象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]のプロパティを開く。ここで「スタートアップの種類」を[自動]にし、「サービスの状態」の[開始]ボタンをクリックして、サービスを開始しておく。
[A]
次に[スタート]の[プログラムとファイルの検索]に「gpedit.msc」と入力し、ローカル・グループ・ポリシー・エディタを起動する(グループ・ポリシーで設定する場合は、サーバのグループ・ポリシー・エディタを起動する)。[コンピューターの構成]−[Windowsの設定]−[セキュリティの設定]−[アプリケーション制御ポリシー]−[AppLocker]を展開する。
AppLockerでは、「実行可能ファイル(EXE)」「Windowsインストーラ・ファイル」「スクリプト」「DLL」の各カテゴリに対して、それぞれ「ファイルのパス」「ハッシュ値」「発行元(デジタル署名)」を設定し、これに「許可」「拒否」「例外」という3種類のルールが適用できる。
「許可」では、「既知の実行可能アプリケーション・リスト」に含まれるものだけが実行され、それ以外の実行はブロックされる。「拒否」では、逆に「既知の問題のあるアプリケーション」を除いて、すべてのアプリケーションが実行できる。例えば、ファイル共有ソフトウェアやゲームなどは、「拒否」に設定しておく、といった具合だ。「例外」は、「許可」「拒否」に含まれるもののうちから、一部を例外として、実行不可/実行可能にするものである。例えば、「Program Filesフォルダ内のすべての実行を許可するが、ゲーム(Microsoft Games)は例外として実行不可にする」といったように利用する。
なおデフォルトでは、DLLに対するルールの設定ができないようになっているが、[AppLocker]の右ペインの[規則の実施の構成]リンクをクリックして開く、[AppLockerのプロパティ]ダイアログの[詳細設定]タブで[DLLの規則のコレクションを有効にする]にチェックを入れることで、DLLに対するルール設定できるようになる。ただ通常の利用においては、DLLに対するルールを設定する必要はないだろう。
以下、電卓プログラム(calc.exe)の実行を拒否する設定を例にルールの作成方法を紹介する。
電卓プログラムは、実行可能ファイルなので、[AppLocker]−[実行可能ファイルの規則]に対してルールを設定する。そこで、[実行可能ファイルの規則]を右クリックし、[新しい規則の作成]を選択する。
以降、ウィザードに従い、[許可]と[拒否]の選択、対象となるユーザーまたはグループを設定し、次に「ファイルのパス」「ハッシュ値」「発行元(デジタル署名)」から制限するための条件を指定する。電卓プログラムを実行不可にするので、[拒否][Everyone]をそれぞれ選択し、電卓プログラムのパス「%System32%\calc.exe」を制限条件として指定する。「ファイルのパス」は、ファイルだけでなく、フォルダの指定も可能なので、%ProgramFiles%以下を[拒否]にするといった設定も可能だ。[例外]のルールを設定する場合は、その次の[例外]で設定する。今回の設定では、[例外]のルールは不要なのでそのまま次に進む。あとは[作成]ボタンをクリックすれば、電卓プログラムが実行不可となるルールが出来上がる。
ルール作成後、電卓プログラムを実行すると以下のダイアログが表示される。グループ・ポリシーによって実行がブロックされるようになったことが分かる。
なお[AppLocker]−[実行可能ファイルの規則][Windowsインストーラ ファイルの規則[スクリプトの規則][DLL]で右クリックしたメニューで[規則の自動生成]を選択すれば、ある程度まとまったルールが自動作成できる。最初にルールを作成する場合は、[規則の自動生成]でルールを作成してから、それを編集する方が容易かもしれない。
■この記事と関連性の高い別の記事
Copyright© Digital Advantage Corp. All Rights Reserved.