ここで、Windows Sysinternalsの「Process Monitor(Procmon)」を使用し、SRPポリシーを設定する際の動きをトレースしてみました。すると、SRPポリシーは最終的にレジストリの次の場所に規則を登録することが分かりました。例えば、1つ目の追加の規則は、以下のレジストリの下にある「0\Paths\……」に登録されました。このレジストリ登録は、Windows 10 バージョン1709のEnterpriseとProエディションの両方でちゃんと行われていました。
そこで、このパスをProcess Monitorのフィルターに登録し、このパスを参照するプロセスを監視しながら「メモ帳」を起動してみました。すると、Windows 10 バージョン1709のEnterpriseエディションの場合は、「svchost.exe」プロセス(より詳しくは「DcomLaunch」)がこのパスを参照し、メモ帳の起動をブロックしているように見えました(画面6の上)。一方、Proエディションの場合は、メモ帳を起動しても、誰もこのパスを参照することなく、メモ帳が開始しました(画面6の下)。
筆者にできるのはここまで。後で説明するようにこれは仕様変更だと思うのですが、一応、Microsoftのフィードバックに投げておきました。
Windows XPで登場したSRPは使い勝手がいまひとつだったためか、Windows VistaでAppLockerが登場しました。SRPは引き続き利用できましたが、実は、両者に関連するコンポーネントの多くは共通しています。そして、Windows 10では、AppLockerのエディション制限に少々変更が加えられました。
以下のドキュメントで説明されていますが、Windows 10はエディションの限定なしでAppLockerの機能がサポートされており、EnterpriseとEducationのみがポリシー設定で構成および強制することができます(ただし、どのバージョン/ビルドからという記述はありません)。そして、その他のエディションも、MDM(モバイルデバイス管理)機能を通じてならポリシーを強制することができます。
これは、実は「Windows Information Protection」(旧称、Enterprise Data Protection:EDP)がWindows 10 Proをサポートするための変更です。Windows Information Protectionは、アプリケーション制御のためにAppLockerの仕組みを使用しています。AppLockerはEnterpriseエディションの機能ですが、Windows Information ProtectionはWindows 10 Proでもサポートされる機能です(別途、Microsoft IntuneなどのMDM管理ツールが必要)。
例えば、Windows 10 バージョン1703では、AppLockerの規則(Exe.AppLocker、Dll.AppLocker、Msi.AppLocker、Script.AppLocker、Appx.Applocker)を格納する「%Windir\System32\AppLocker」ディレクトリに、Windows Information Protectionの規則を格納するためのMDMサブディレクトリが追加されていたので、この時点で何らかの変更が加えられたものと想像できます。
先ほどの「Requirements to use AppLocker」のページには、次のようにも書かれています。
AppLocker is not supported on versions of the Windows operating system not listed above. Software Restriction Policies can be used with those versions. However, the SRP Basic User feature is not supported on the above operating systems.
(参考訳)AppLockerは、この一覧にないWindowsオペレーティングシステムのバージョンではサポートされません。それらのバージョン(AppLockerをサポートしないエディション)では、ソフトウェアの制限のポリシーを使用できます。一方、この一覧のオペレーティングシステム(AppLockerをサポートするエディション、つまりWindows 10は全エディション)では、ソフトウェアの制限のポリシーの基本的なユーザー機能がサポートされません。
Windows 10 バージョン1703以降でエディションによってソフトウェアの制限のポリシーを利用できないということは(Windows 10の以前のバージョンではできていたとしても)、上記の記述とは何ら矛盾しません。Windows 10 バージョン1703以降のEnterpriseやEducationで利用できるのは“たまたま”であって、サポートされている使用方法ではないと読み取れます。
ここからは筆者の想像ですが、Windows 10におけるソフトウェアの制限のポリシーのサポートは、Windows 10 バージョン1703のときに方針が変更され、以前のバージョンで実際に機能するかどうかは関係なく、サポートされないことになったのではないでしょうか。もしかすると、ソフトウェアの制限のポリシーが機能しなくなってしまったという実態に合わせて、ポリシーが変更されたのかもしれません。
ちなみに、本稿執筆時点(2018年4月中旬)ではまだ正式リリースされていませんがWindows 10 バージョン1803(Insiderビルド17134.1)で試してみたところ、Enterpriseエディションでもソフトウェアの制限のポリシーは機能しなくなっていました(2018年5月1日追記:正式リリース後に改めて確認したところ、Windows 10 バージョン1709と同様でEnterpriseでは機能しました)。
その証拠とまではいきませんが、同じ最終更新日の別のドキュメントでは、AppLockerとソフトウェアの制限のポリシー併用時の制約について書かれています。そこではWindows 10でも利用できるように読み取れますし、また別の少し古いドキュメントのシステム要件では、最小要件(Windows XPおよびWindows Server 2003以降)の記述しかありません。
もし、AppLockerの代替案を聞かれても、安易にSRPを紹介しない方がよいかもしれません。お勧めする側は“エディション制限がない”と思い込んでいるわけですが、実際には今回のように期待通りに動作せず、なかなか問題が解決しない(話がかみ合わない)ということになりかねませんから……。
その後、Windows 10 バージョン1703、バージョン1709、バージョン1803のProエディションでもSRPが期待通りに機能する場合があることを確認しました。発生条件は不明ですが、いろいろ試してみた感じでは新規インストールかアップグレードであるかが関係しているようにも見えます。本当にバグなのか、仕様変更なのか分からなくなってきました。
岩手県花巻市在住。Microsoft MVP:Cloud and Datacenter Management(Oct 2008 - Sep 2016)。SIer、IT出版社、中堅企業のシステム管理者を経て、フリーのテクニカルライターに。Microsoft製品、テクノロジーを中心に、IT雑誌、Webサイトへの記事の寄稿、ドキュメント作成、事例取材などを手掛ける。個人ブログは『山市良のえぬなんとかわーるど』。近著は『Windows Server 2016テクノロジ入門−完全版』(日経BP社)。
Copyright © ITmedia, Inc. All Rights Reserved.