Warning: preg_match(): Compilation failed: unrecognized character follows \ at offset 1 in /home/r5652521/public_html/soma-engineering.com/wp-content/themes/affinger/functions.php on line 1548
Warning: preg_match(): Compilation failed: unrecognized character follows \ at offset 1 in /home/r5652521/public_html/soma-engineering.com/wp-content/themes/affinger/functions.php on line 1548
Warning: preg_match(): Compilation failed: unrecognized character follows \ at offset 1 in /home/r5652521/public_html/soma-engineering.com/wp-content/themes/affinger/functions.php on line 1548
Warning: preg_match(): Compilation failed: unrecognized character follows \ at offset 1 in /home/r5652521/public_html/soma-engineering.com/wp-content/themes/affinger/functions.php on line 1548
Warning: preg_match(): Compilation failed: unrecognized character follows \ at offset 1 in /home/r5652521/public_html/soma-engineering.com/wp-content/themes/affinger/functions.php on line 1548
Warning: preg_match(): Compilation failed: unrecognized character follows \ at offset 1 in /home/r5652521/public_html/soma-engineering.com/wp-content/themes/affinger/functions.php on line 1548
Warning: preg_match(): Compilation failed: unrecognized character follows \ at offset 1 in /home/r5652521/public_html/soma-engineering.com/wp-content/themes/affinger/functions.php on line 1548
こんにちは!SE ブログの相馬です。
今回は、グループポリシーの機能である、AppLocker を使ってアプリの実行を制御する方法について書きました。
AppLocker の概要については以下の記事を見て頂くと良いかと思います。
事前準備
上の記事でも書きましたが、AppLocker を設定するにあたってどのグループ、どのユーザーに対して、何を、どう制御するのかを明確にする必要があります。一方でユーザーからの問い合わせがあって、このスクリプトを許可して欲しいというリクエストがあれば、それを許可して問題ないかどうか確認した上で設定する必要があります。
つまり運用ルールが明確になっている必要があると思います。また管理上、誰に対して何のアプリ・スクリプト・インストーラをいつ拒否・許可したのか台帳のようなものも必要だと思われます。
何も運用ルールが無い状態で、ここのエンジニアが個人的にこれは拒否すべきだから拒否したとか、ユーザーに直接言われたので許可したとかという理由で、管理台帳も無い状態でで運用してゆくと後で色々と不要なトラブルが出てくるか思います。当然それは避けるべきでしょう。
注意点
必ず事前にテスト環境で充分にテストしてから、問題無い事を確認した上で本番環境に展開しましょう。
例えばスクリプトの実行を全て拒否してしまうと、クライアント PC にログオンした後に色々と問題が発生します。こういった問題が起こらないよう、特定のフォルダでは実行が出来るようにするなど、事前に適切な設定を考えなければなりません。
また、AppLocker が適用されるクライアント PC 側では Application Identity というサービスが常に起動している必要があります。AppLocker の GPO が適用される前に当該のサービスが起動していなければならない為です。
方法としては、グループポリシーで Application Identity サービスを自動・開始する GPO を作成して適用すれば良いでしょう。
GPO の作成方法
それでは GPO の設定をしてゆきましょう。今回は、コマンドプロンプトの実行をブロックする設定を作ります。cmd.exe は署名済みのアプリなのでハッシュで作る必要はありません。
1. グループポリシー管理エディターを起動し、[コンピューターの構成] - [ポリシー] - [Windowsの設定] - [セキュリティの設定] - [アプリケーションの制御ポリシー] - [AppLocker] - [実行可能なファイルの規則] を右クリックして、[新しい規則の作成] をクリックします。
ルール | 説明 |
---|---|
実行可能ファイル | .exe や .com などの拡張子に対応している。 |
Windows インストーラー | .msi や .msp のインストーラに対応している。 |
スクリプト | .ps1 や .bat、.cmd、.vbs 、.js に対応している。 |
パッケージアプリ | Microsoft ストアからインストールしたアプリに対応している。 |
2. [発行元] をクリックし、[次へ] をクリックします。cmd.exe は署名済みのアプリなのでハッシュで作る必要はありません。
条件 | 説明 |
---|---|
発行元 | ソフトウェアの発行元によって署名されている場合は特定でき、また全バージョンのルールも作成できる。 |
パス | フォルダやプログラムファイルのパスを指定する事で特定が可能。環境変数、UNC パスやワイルドカードが使える。 |
ハッシュ | ソフトウェアの発行元によって署名されていない場合はハッシュで特定する。設定的にはソフトウェアの制限ポリシーと同等だが簡単に設定できる。 |
またファイルのハッシュを確認する場合、Windows 10 には標準の機能で確認する事ができます。以下の記事を参考にして頂きファイルからハッシュを確認できますので参考にしていただければと思います。
条件について詳細を確認したい場合は、Microsoft の AppLocker 規則条件の種類について を確認してください。
- AppLocker での発行元規則条件について
- AppLocker でのパス規則条件について
- AppLocker でのファイル ハッシュ規則条件について
3. [次へ] をクリックし、今回は実行を拒否しますので [拒否] を選び [次へ] をクリックします。
4. [参照] をクリックし、cmd.exe がある場所へ移動し、cmd.exe を選択し [次へ] をクリックします。例外が必要な場合は追加し [次へ] をクリックします。
5. 適当な名前を入力して [作成] をクリックします。規定の規則は [はい] をクリックします。
6. 追加したルールと規定の規則が追加されました。
7. GPO をコンピューター OU にリンクします。
確認方法
GPO を PC を再起動するか、gpupdate コマンドで適用します。GPO が適用されている事を確認し、コマンドプロンプトを実行すると、「このアプリは、システム管理者によってブロックされています。」と表示されます。これで OK です。
AppLocker のログ保管場所
クライアント PC のほうでしかログが保管されないようです。以下の場所がログの保管先です。
1 |
「イベントビューアー」-「アプリケーションとサービスログ」-「Microsoft」-「Windows」-「AppLocker」 |
まとめ
以上になります。いかがでしょうか。
AppLocker を使えば、アプリやスクリプトの実行、またはインストールを制限させる事ができますので、PC の構成管理やセキュリティ、または不要な PC サポートコストの増加に役立つのではないかと思います。
充分なテストをした上で本番環境に展開する必要がありますのでご注意ください。
それでは最後までお読みいただきありがとうございました!