AppLocker のセキュリティに関する考慮事項

IT 担当者向けのこの記事では、AppLocker を実装するときに対処する必要があるセキュリティに関する考慮事項について説明します。

AppLocker は、特定のユーザーまたはユーザー のグループのソフトウェアへのアクセスを制限するのに役立ちます。 AppLocker のセキュリティに関する考慮事項を次に示します。

AppLocker は企業内にデプロイされ、信頼された資格情報を使用して IT 内のリソースによって一元的に管理されます。 このシステムは、ポリシーの作成と展開を、同様のポリシー展開プロセスとセキュリティ制限に準拠させます。

AppLocker ポリシーは、既知のプロセスを通じて、およびドメイン内の既知の手段によって、グループ ポリシーを通じて配布されます。 ただし、個人が管理者特権を持っている場合は、個々のコンピューターで AppLocker ポリシーを設定することもできます。また、それらのポリシーは、organizationの書面によるセキュリティ ポリシーに反している可能性があります。 グループ ポリシー オブジェクト (GPO) を介して配布される AppLocker ポリシーからの適用モード設定は、ローカル ポリシーよりも優先されます。 ただし、AppLocker 規則は付加的であるため、ローカル ポリシーの規則は、コンピューターに適用されるすべての GPO の規則とマージされます。

Microsoft では、AppLocker の拡張機能を開発する方法を提供していません。 インターフェイスはパブリックではありません。 管理者資格情報を持つユーザーは、Windows PowerShell コマンドレットを使用して一部の AppLocker プロセスを自動化できます。 AppLocker のWindows PowerShellコマンドレットの詳細については、Windows PowerShellの AppLocker コマンドレットに関するページを参照してください。

AppLocker は、最高の特権セットである Administrator または LocalSystem のコンテキストで実行されます。 このセキュリティ コンテキストには、誤用の可能性があります。 AppLocker 規則は付加的であるため、ローカル ポリシー規則は GPO と共にそのコンピューターに適用されます。 ローカル コンピューターがドメインに参加していない場合、またはグループ ポリシーによって制御されている場合、管理者資格情報を持つユーザーは AppLocker ポリシーを完全に制御できます。

AppLocker パス規則では、アクセス制御リスト (ACL) は置き換えられません。 ACL を引き続き使用して、セキュリティ ポリシーに従ってファイルへのアクセスを制限する必要があります。

AppLocker を使用して、Win32 サブシステムの外部でコードが実行されないようにすることはできません。 たとえば、Linux 用 Windows サブシステムで実行されているコードを制御することはできません。 アプリケーションが Linux サブシステムで実行されないようにする必要がある場合は、サブシステムを無効にする必要があります。 または、LxssManager.dll をブロックしてLinux 用 Windows サブシステムをブロックすることもできます。

AppLocker で制御できるのは、VBScript、JScript、.bat ファイル、.cmd ファイル、Windows PowerShell スクリプトのみです。 Perl スクリプトやマクロなど、ホスト プロセス内で実行されるすべての解釈されたコードは制御されません。 解釈されたコードは、ホスト プロセス内で実行される実行可能コードの形式です。 たとえば、Windows バッチ ファイル (*.bat) は、Windows コマンド ホスト (cmd.exe) のコンテキスト内で実行されます。 AppLocker を使用して解釈されたコードを制御するには、ホスト プロセスが解釈されたコードを実行する前に AppLocker を呼び出し、AppLocker によって返される決定を適用する必要があります。 すべてのホスト プロセスが AppLocker を呼び出すわけではないため、AppLocker では、Microsoft Office マクロなど、解釈されたすべての種類のコードを制御することはできません。

重要

これらのホスト プロセスの実行を許可する必要がある場合は、これらのホスト プロセスの適切なセキュリティ設定を構成する必要があります。 たとえば、署名済みマクロと信頼済みマクロのみが読み込まれるように、Microsoft Office のセキュリティ設定を構成します。

AppLocker ルールは、アプリケーション ファイルの実行を許可またはブロックします。 AppLocker は、起動後のアプリケーションの動作を制御しません。 アプリケーションには、AppLocker に規則を回避し、別の .exe または .dll を読み込むことができることを通知するフラグが関数に渡される可能性があります。 実際には、許可されたアプリケーションでこれらのフラグを使用して AppLocker 規則をバイパスし、子プロセスを起動できます。 AppLocker 規則を使用して実行を許可する前に、各アプリケーションを徹底的に調べる必要があります。

この条件を示す 2 つのフラグは SANDBOX_INERT、 に渡 CreateRestrictedTokenすことができます。、および LOAD_IGNORE_CODE_AUTHZ_LEVELに渡 LoadLibraryExすことができます。 どちらのフラグも、AppLocker に規則を回避し、子 .exe または .dll の読み込み許可を通知します。