IIS7 でホストされている顧客は、asp.net と System.Diagnostics を使用して、すべてのシステムのプロセス ID を一覧表示できます。また、独自のアプリケーション プールに属するアプリケーションを強制終了することもできます。共有ホスティング環境の IIS7 では、大きなセキュリティ上の問題があるようです。通常のユーザーが System.Diagnostics にアクセスできないようにする方法について何か提案はありますか? 管理者のみに制限するにはどうすればよいですか?
1 に答える
Windows 2003 および IIS6 とは異なり、多くの共有 Windows 2008/IIS7 ホスティング環境は、顧客に専用のアプリケーション プールと完全な信頼を提供します。
顧客は自分のプロセス (自分のワーカー プロセスを含む) を起動して強制終了できる場合がありますが、サイトが実行されているアカウントの ID がロックされていれば、実際に害を及ぼすことはありません。また、独自のアプリケーション プールを常に強制終了するコードを使用している顧客にとって、どのようなメリットがありApplication_Start
ますか (設定を再読み込みする必要がある場合に、ワーカー プロセスを強制的に再起動してタイプ イベントを発生させる以外に)?
私は共有ホスティング会社で働いています。実際に、管理システムを介して専用プールを開始、停止、リサイクルする機能を顧客に提供しています。コードで行うことはすべて、ほとんど同じことです。
起こり得る最悪の事態は、顧客が大量のメモリまたは過剰な量の CPU を消費するプロセスを起動することです (ただし、独自の ASP.NET コードでさえ、同じことを行って暴走する可能性があります)。このような異常な動作についてサーバーを継続的に監視し、警告を受けてから 2 ~ 3 分以内に犯人を突き止めることができます。エンド ユーザーには親切な警告が表示され、これを二度と行わないように伝えられます。そうすると、サイトは即座にシャットダウンされます。
ホスティング事業者が共有プールを完全に信頼して実行している場合にのみ心配しますが、そうしている場合は、別のセキュリティ上の頭痛の種を克服する必要があり、プロセスの強制終了は彼らの心配の中で最も少なくなります.