トップ回答者
スクリプト言語を実行する実行ファイル(プリインストールされているもの)の起動を禁じる

質問
-
下記サイトの方法で特定のユーザー(非管理者)にスクリプト言語を扱う実行ファイルの起動を禁じようと思います。
https://www.winhelponline.com/blog/block-command-prompt-particular-user-permissions/
windowsでc:\Windows c:\Program files c:\Program Files(x86)のディレクトリで
プリインストールされているスクリプト言語実行を行う実行ファイルはcmd.(syswow,system32),powershell,powershell(x86),powershell ISE,powershell ISE (x86) powershell (ISE),wscript,cscriptその他はございますでしょうか。
また、システムが不安定性についてもご回答お願いします。
環境はwindows10 pro 1803です。
- 編集済み tttttttttttttttttttaaugh 2019年7月24日 14:14
回答
-
Windows が既定で利用可能にしているスクリプト実行環境をすべて動作できなくした場合、Windows 自体の動作や機能が正常に行えなくなる可能性が考えられますが、それは構わないのでしょうか?
まずはその辺りをよく検討/検証された方が良いでしょう。少なくとも私はそういう無謀なことは考えないので、これ以上この話には興味がありません。
Hebikuzure aka Murachi Akira
- 回答としてマーク tttttttttttttttttttaaugh 2019年7月27日 3:59
すべての返信
-
回答ありがとうございます。
以下が
スクリプト言語を全面的に禁止にしようと思った理由です。
スクリプトを全面禁止にし、新規作成した実行ファイルを実行されると何かしらイベントを起こす
(今回の場合は強制ログアウトをおこなう)監視アプリを作成しようとおもっています。
監視アプリは強制終了されるかどうかは考えないものとします。
Managementeventwatcherクラスを用いてプロセスの生成を監視しています。
c:\Windows c:\Program files c:\Program Files(x86)配下の実行ファイルかどうかを下のようにして調べます。
if (Regex.IsMatch(exepath, @"^C:\\Program Files (x86)", RegexOptions.IgnoreCase)||
Regex.IsMatch(exepath, @"^C:\\Program Files", RegexOptions.IgnoreCase)|| Regex.IsMatch(exepath, @"^C:\\Windows", RegexOptions.IgnoreCase) ) { return true; }
先ほどのディレクトリ以外で実行されている実行ファイルは
jsonファイルに格納されている許可リストにあるかどうかで判断して
含まれていない場合は実行ファイルを強制終了します。判断基準は実行ファイルのハッシュ値(crc32)です。
スクリプトの場合はManagementeventwatcherにおいてはスクリプトを実行する実行ファイルのパスが表示されてしまい、先ほどのフィルターには引っかからないので
スクリプト言語を実行する実行ファイルの実行を先ほどのリンクに記載されてある方法でブロックしようと思っています。
たとえば、pythonの環境構築を行うと考えても、
c:\Windows c:\Program files c:\Program Files(x86)配下にpythonのディレクトリを入れようとしても
管理者権限が必要ですし、他のディレクトリにいれれば、先ほどの監視アプリにスクリプトを起動したことを検知されます。
windowsにプリインストールされているスクリプト言語のファイルは先ほどのフィルターには引っかからないので
先ほどのユーザーにたいしてアクセス制限をかけてブロックします。
よって、以上の理由でスクリプト言語を全面的に禁止にしようと思った理由です。
- 編集済み tttttttttttttttttttaaugh 2019年7月25日 10:55
-
Windows が既定で利用可能にしているスクリプト実行環境をすべて動作できなくした場合、Windows 自体の動作や機能が正常に行えなくなる可能性が考えられますが、それは構わないのでしょうか?
まずはその辺りをよく検討/検証された方が良いでしょう。少なくとも私はそういう無謀なことは考えないので、これ以上この話には興味がありません。
Hebikuzure aka Murachi Akira
- 回答としてマーク tttttttttttttttttttaaugh 2019年7月27日 3:59