IIS5プロセスモデル
プロセス実行モデル概念に関して、「IIS5.0」の時点でほぼ完成していました。
しかし、「IIS5.0」には以下の欠陥があった為、「IIS6.0」ではさらにプロセス実行モデルに変更が加えられています。
この様に、IISの共倒れの危険性をはらんでいました。
カーネルモードのTCP/IPネットワークドライバで、ネットワークプロトコルスタックが処理され、ユーザーモードにあるIISの
サービスの処理が遷移されます。
この時、カーネルモードからユーザーモードへのオーバーヘッドの大きな遷移が起こります。
アプリケーションを実行するWWWサービスレベル毎に処理を考えると、
しかし、「IIS5.0」には以下の欠陥があった為、「IIS6.0」ではさらにプロセス実行モデルに変更が加えられています。
- 「IIS5.0」のプロセス実行は、セキュリティに考慮していない「IIS5.0」では、プロセス実行アカウントが「LocalSystem」
という管理者権限を持つアカウントが割り当てられていました。
これにより、悪意のあるコードが実行されると、システムが破壊されかねない危険性をはらんでいました。
- 「InetInfo.exe」が影響を受ける可能性があるWWWサービスは「InetInfo.exe(IISプロセス)」内で実行されています。
これは、悪意のあるプロセス実行によりWWWサーバーばかりでなく、IISの全てのサービスが影響を受けてしまうことを意味しています。
この様に、IISの共倒れの危険性をはらんでいました。
◆IIS5.0アプリケーションプロセス動作模式図
カーネルモードのTCP/IPネットワークドライバで、ネットワークプロトコルスタックが処理され、ユーザーモードにあるIISの
サービスの処理が遷移されます。
この時、カーネルモードからユーザーモードへのオーバーヘッドの大きな遷移が起こります。
アプリケーションを実行するWWWサービスレベル毎に処理を考えると、
- 低レベルのインプロセス実行では、「InetInfo」内で処理され、リクエストに対する処理をカーネルモードに遷移させ、
TCP/IPプロトコルで返信します。 - 中・高レベルのプロセス実行モードでは、WWWサービスから各「DLLhost.exe」に処理が依頼され、応答を待ち、低レベルの
場合と同じく、リクエストをカーネルモードに遷移させ、TCP/IPプロトコルで返信します。
WWWサービス処理には、カーネルモードからユーザーモードへ、またユーザーモードからカーネルモードへの遷移があり、「InetInfo.exe」が処理する経路は、オーバーヘッドが大きいことが分かります。
また、全てのレベルで、WWWサービスの停止に伴いIISが停止してしまうという共倒れの危険性をはらんでいる事がわかります。
この為、「IIS6.0」では、プロセスモデルを改善し、安全で処理速度を向上させるような仕組みが考慮されました。
2007年01月14日(日) 15:00:32 Modified by fmuser_y
添付ファイル一覧(全1件)
a01dcd1776f91073.gif (4.91KB)
Uploaded by fmuser_y 2007年01月14日(日) 14:48:37
Uploaded by fmuser_y 2007年01月14日(日) 14:48:37