web-dev-qa-db-ja.com

最小特権のBUILTIN \ Administratorの失敗AppLockerを使用したアプリケーション制御ポリシーの構成

serverfaultがより良いオプションであることに気付く前に、私は SuperUser でこの質問をしました。

1つのパーティションを持つ1つのハードドライブを備えたWindows7 SP1Ultimateを実行しているコンピューターで実行制御を構成しています。 AppLockerには、「デフォルトのルール」を作成するオプションがあります。実行可能ルールグループの場合、それらは次のとおりです。

  • 全員にパスを許可%PROGRAMFILES%*
  • 全員にパス%WINDIR%*を許可する
  • BUILTIN\Administratorsパスを許可する*

(例外なく。)

これらすべてが整っているので、「すべてが期待どおりに機能します」。ただし、「Everyone」に適用されている最初の2つのルールを削除すると、問題が発生します。

現在、BUILTIN\Administratorsセキュリティグループのアカウントを使用してログインすることはできなくなりました。 (アカウントが以前にすでにログインしている場合、これが失敗することを確認するためにコンピューターを再起動する必要がある場合があります。また、これはBUILTIN\Administratorアカウントには適用されません。これは引き続き機能します)。あなたがしようとすると何が起こるかはこれです:

遅延があり、デスクトップを表示する必要がある場合、画面が空白になります。その後、それ以上は何もありません。コンピュータが応答しなくなることはありません。 Ctrl + Alt + Deleteは引き続き機能します。

(AppLockerを再構成して%WINDIR%*のBUILTIN\Administrators実行権限を明示的に許可するか、「全員」のルールを復元すると、これらのアカウントは再度ログインできます。)

[〜#〜] msdn [〜#〜] によると:

アスタリスク(*)ワイルドカード文字は、パスフィールド内で使用できます。単独で使用されるアスタリスク(*)文字は、任意のパスを表します。任意の文字列値と組み合わせると、ルールはファイルのパスとそのパスの下にあるすべてのファイルに制限されます。たとえば、%ProgramFiles%\ Internet Explorer *は、InternetExplorerフォルダー内のすべてのファイルとサブフォルダーがルールの影響を受けることを示します。

これは、BUILTIN\Administratorsのデフォルトルールが完全に「Everyone」用に作成されたデフォルトルールと重複し、アカウントの場合は冗長になることを意味しますBUILTIN\Administratorsグループに属しています。ご覧のとおり、これは当てはまらないようです。

だから、私はこれについて2つの質問があります:

  1. BUILTIN\Administratorsのデフォルトのルール自体が、このグループに属するアカウントを機能させるのに十分でないのはなぜですか(つまり、何が問題で、何が原因で失敗しているのか)。
  2. AppLocker構成に関して、(BUILTIN\Administratorではなく)機能している管理者アカウントの最も特権の少ない構成は何ですか?
2
Oskar Lindberg

私が理解しているように、あなたの問題は、Windowsが管理アカウントをどのように扱うかに関係しています。

すぐに使用できるのは、Windows Vistaの周辺では、管理者アカウントでは実際にはすぐに管理者権限が有効になっていないため、ユーザーアクセス制御、UACを使用して管理者権限に昇格する必要があります(たとえば、システム設定では、UACプロンプトが表示され、何をしているかを知っているかどうかを尋ねられます)。それを行うまで、ユーザーアカウントには、基本的に通常のユーザーと同じレベルの権限しかありません。

その結果、Administratorsグループのメンバーとしてログインしている場合、ユーザーアカウントには技術的に管理者の権限がないため(UACを使用して昇格していないため)、「許可」の要件を満たしていません。 * "ルール。ログイン時に必要なWindowsシステムファイルを実行する権限がユーザーアカウントにないため、Windowsセッションは内破に進みます。

AppLocker環境の1つで同様の問題が発生し、プログラムファイルとWindowsディレクトリを(デフォルトのルールを削除して)ロックダウンしませんが、基本的に「BUILTINのメンバー」というルールがあります。管理者は、* "を許可します。ただし、管理者としてログインし、Windows/Program Filesの外部でランダムな実行可能ファイルをダブルクリックしようとすると、AppLocker違反が発生し、実行できなくなります。代わりに、それを右クリックして「管理者として実行」に移動する必要があります。 AppLockerは、あなたが実際にBUILTIN\Administratorsのメンバーであることを理解するのはその時点でのみです。

考えられる回避策は次のとおりです。

  1. UACを無効にします(これをテストしたことはありません。機能するかどうかはわかりません。私たちの環境では、UACをオンのままにします)

  2. 「システム管理者」などと呼ばれる新しいWindowsローカルグループを作成し、それにアクセスできるはずのユーザーの個々のWindowsユーザーアカウントを追加します(ただし、notBUILTIN\Administratorsを追加するだけです);次に、「システム管理者」グループのメンバーが何でも実行できることを示すAppLockerルールを作成します。

  3. Windowsによって生成されたデフォルトの許可ルールを保持しますが、エンドユーザーに適用されるいくつかの「拒否」ルールを追加して、懸念しているWindowsおよびProgramFilesディレクトリ内の特定のファイルにアクセスできないようにします。これは私たちの環境で行うことです(たとえば、C:\ Windows\*を許可しますが、cmd.exe、PowerShell.exe、regedit.exeなどへのアクセスをブロックします)拒否ルールは常に許可ルールをオーバーライドすることに注意してください。

まだ行っていない場合は、AppLockerログをオンにして、Windowsイベントビューアーを確認してください。特定のユーザーが何かの実行を許可されていない理由に関する情報が表示されます。 Test-AppLockerPolicy 特定のユーザーおよび実行可能ファイルに対して許可されるものと許可されないものをシミュレートするPowerShellコマンド(ただし、Windows 7で使用できるかどうかはわかりませんが、PowerShellのバージョンをアップグレードする必要がある場合があります)。

0
Alan Isherwood