web-dev-qa-db-ja.com

WindowsのNTFSの「noexec」オプション?

Linuxの「noexec」マウントオプションのようなWindowsの同等のファイルシステムオプションはありますか? 「読み取り」権限を設定しても、ルートディレクトリ(ドライブ全体)の「読み取りと実行」権限の設定を解除しても同じですか?ローカルユーザーだけでなく、WindowsServerのマシン上の共有ディレクトリにアクセスするLAnユーザーの場合。

独自のサブディレクトリを作成して実行権限を設定できないなど、データドライブ/パーティションからプログラムを実行する可能性を無効にできるかどうかを知りたいです。したがって、ユーザーは読み取りと書き込みができる必要がありますが、BATを含むプログラムは実行できません。もちろん、マルウェアからのセキュリティについてです。それは可能ですか?

5
igustin

Windowsのファイルシステムの「noexec」マウントに類似したものはありません。 Microsoftの単純な「読み取り」権限の概念には、実行する権利が含まれています(実行は、実際にはローダーがイメージをメモリに読み取るだけであるため)。

権限の「詳細」バージョンを変更して、「フォルダのトラバース/ファイルの実行」権限を削除(または拒否)することができます。これにより、.EXEファイルのダブルクリックまたはコマンドライン実行が防止されます。 .BATファイルと.CMDファイルは、エクスプローラーでダブルクリックしても実行されませんが、コマンドプロンプトから実行するか、[スタート]/[ファイル名を指定して実行]から構文「CMD/c」を使用して実行します。

「noexec」はマウントされたボリュームのパーミッションを変更する必要がないため、パーミッションを変更すると、「noexec」マウントの「アナロジー」が壊れます。

探していることを達成する方法として、 ソフトウェア制限ポリシー を確認することをお勧めします。この機能は、プログラムの実行に使用されるAPIの動作を変更して、プログラムを実行できるパスを(またはデジタル署名または暗号化ハッシュによって)制限します。ローカルユーザーに「管理者」権限がないと仮定すると、この機能はある程度効果的です。

ただし、最終的には、ユーザーがファイルの書き込みと実行の両方を許可されているファイルシステムの場所がコンピューター上にある場合、ユーザーは実行制限付きパスからこの場所にプログラムをコピーし、そこからプログラムを実行できます。あなたはそのような場所がないことを保証するために非常に勤勉である必要があるでしょう。

または、ソフトウェア制限ポリシーを「デフォルトの拒否」モードで使用することもできます。このモードでは、指定されたパス(またはデジタル署名または暗号化ハッシュ)のみが実行を許可されます。すべてのアプリケーションをテストして実行が成功することを確認する必要があるため、これもセットアップがかなり困難です。

あなたが話しているWindowsのバージョンについては言及していません。 Windows7およびWindowsServer 2008 R2の場合、ソフトウェア制限ポリシーは AppLocker の一部であり、機能は類似しています。

7
Evan Anderson

ドライブのセキュリティオプション(右クリック、[セキュリティ]タブ)に移動し、[編集]をクリックします。標準ユーザーがドライブ上で何かを実行できないようにする場合は、[ユーザー]エントリを選択し、[読み取りと実行]のチェックを外して、[読み取り]をオンのままにします。

1
Mark Sowul