![]() |
特集 Windows Server 2003完全ガイド アーキテクチャを一新した新世代アプリケーション・サーバ 1.IIS 6.0の概要(1) 田口景介2003/02/07 |
注意:本コーナーは、当初「Windows .NET Server 2003完全ガイド」として記事公開を開始 しましたが、その後マイクロソフトは、製品名称から「.NET」を取り、「Windows Server 2003」と改めました。この名称変更以降の記事については「Windows Server 2003」の表記で統一していますが、それ以前の記事については、基本的に公開時点での「Windows .NET Server 2003」をそのまま使っています。ご了承ください。 |
すでに多くの読者が、出荷直前版として公開されているWindows Server 2003 RC2の評価を始めていることだろうが、どう感じられただろうか*1。もしWindows 2000 Serverからの移行を検討しているのであれば、あまりの調査項目数にめまいがするほどかもしれないが、すでにWindows XPを導入しているのであれば、意外に目新しいトピックが見当たらないことに気が付くはずだ。Windows Server 2003には、Trust Worthy Computingを掲げ、1年近く出荷を遅らせてまでして作業した成果がつまっているであろうことは想像に難くない。だがこの種の改善はアピールが難しい上、時間をかけて評価しなければ結論は出にくいものだ。おまけにGUIにはほとんど手が入っていないおかげで、Windows Server 2003はかなり地味なバージョンアップとして受け取られそうな気配だ。
*1 Windows Server 2003 RC2の入手方法などについては「Insider's eye―マイクロソフト、史上最大の早期評価プログラム作戦」を参照。 |
そんな中、注目を集めるのは、やはりメジャー・バージョンアップとなるInternet Information Services 6.0(以下「IIS 6.0」と表記)だろう。基本機能や管理オペレーションなどの多くはIIS 5.0のそれを引き継ぎ、アプリケーション・サーバとしての互換性を高レベルに保ってはいるものの、基本的な構造が抜本的に見直された、大規模なバージョンアップとなっている。
![]() |
IIS 6.0のWeb管理画面 |
インターネットやイントラネットにおけるWebサーバだけでなく、.NETテクノロジを支えるプラットフォームとして、従来よりも大幅に信頼性やパフォーマンスを向上させたII 6.0。これはWindows Server 2003 RC2に含まれているWebベースのサーバ管理ツールの画面(ほかにMMCベースの管理ツール「IIS マネージャ」も用意されている)。基本機能や管理方法などは従来との高い互換性を有するものの、内部アーキテクチャは大幅に改良されている。 |
今度のIISは大丈夫か?
このIIS 6.0に対する読者の興味は、恐らく「今度は安心して使えるのか」に集中することだろう。Code RedやNimdaといったインターネット・ワーム事件以降、IISを危険視する風潮は弱まらず、いまだに尾を引いているのが現状だ。実際のところ、ワームが大きな騒ぎになる前からマイクロソフトはパッチを公開していたし、IISを踏み台にしてインターネットに被害を与えたワームがそう何匹もいたわけではない。ことさらマイクロソフトを擁護するつもりはないが、IISは繁殖力の高いワームの踏み台にされたおかげで、セキュリティホールに対する印象が強く残り、不名誉なレッテルを貼られるはめに至ったという一面はある。しかし、いまだにNimdaが動き回っているさまを見るにつけ、本来システム側で保護できる領域をユーザーのセキュリティ意識に頼ったことが事件を大きくしたのも事実であろう。
それでは、IIS 6.0には、どんなセキュリティ対策が施されたのだろうか。すでにIIS 5.xにも導入されているロックダウン・ツール*2が内蔵され、初期状態では静的なWebページの配信を行う以上の機能がほぼ封印されているほか、ごく限定的なユーザー権限で動作するようになったため、たとえセキュリティホールを突かれたとしても、以前ほど深刻な状況には陥りにくいようになった。そのほかの対策も含めて全体的に、正常に動作することを前提としていた従来のスタンスが全面的に改められ、異常事態は発生して当然と捉えての対策が行われている。
*2 IISロックダウン・ツール―IISにデフォルトで用意され、インストールされているさまざまな機能のうち、不要なものをウィザード形式で選択的に無効にするためのツール。従来までのIISでは、管理者の知らないうちに、さまざまな機能がインストールされ、それがセキュリティホールとなる場合も少なくなかった。このツールを使ってFTPやSMTPサービス、各種スクリプトやファイル・マッピングなど、使わないものを無効にしておくことにより、IISの安全性を高める。詳細については「IIS安全対策ガイド―6.IIS Lockdown ToolとURLScanの導入」を参照 |
汚名返上よりも重視されるもの
こうしてセキュリティ対策に余念のないIIS 6.0だが、実のところIIS 6.0に求められる最もプライオリティの高い使命は、恐らくセキュリティの向上ではない。もちろん、相変わらずセキュリティがおろそかになっているなどといっているのではない。それどころか、背水の陣でもって、セキュリティ対策が施されていることだろう。しかし、過去に度重なるワーム騒ぎが起こらず、IISに「穴だらけ」というレッテルが貼られることがなかったとしても、同じタイミングで、同等の規模で、再構築されたIIS 6.0が登場したはずだ。なぜなら、今後IIS 6.0は、.NETをコアとして、WebサービスやWebアプリケーションをより効率よく、より安全に、より安定的にホスティングする機能を備えなければならないからだ。IIS 6.0は汚名返上のために登場するわけではないのである。
IIS 6.0のアーキテクチャ
大規模な改修作業が行われたIIS 6.0の新機能は、主要なものを挙げるだけでも次に示すように非常に広範囲に及んでいる。
カテゴリ | 機能 |
信頼性 | 新しいリクエスト処理アーキテクチャ |
アプリケーション・アイソレーション環境 | |
ヘルス・モニタリング | |
スケーラビリティ | カーネル・モード・ドライバ(HTTP.SYS) |
Webガーデン(ワーカー・プロセス) | |
セキュリティ | ロックダウン・ツール |
パスポート認証 | |
管理 | XMLメタベース |
リモート管理 | |
コマンドライン・ツールの整備 | |
開発 | IISとASP.NETの統合 |
ASPの拡張 | |
![]() |
|
IIS 6.0の主要な新機能 |
IIS 6.0において、最も重要で、屋台骨となる新アーキテクチャが「ワーカー・プロセス分離モード」である。この新しいアーキテクチャの元で再設計されたIIS 6.0では、各アプリケーションを個別のプロセス空間で実行できるほか、クライアントからのリクエストとレスポンスを管理するマネージャ(HTTP.SYS)、それにIISを管理および監視するモジュール(WSA)がそれぞれ独立したプロセス空間で実行される。こうしてIISを独立性の高い3つのブロックに分割することによって、アプリケーション・コードがIIS全体に悪影響を及ぼすのを防ぎ、信頼性の向上に貢献しているのである。
![]() |
IIS 6.0のアーキテクチャ |
IIS 5.0のほぼモノリシックな(一体型の)構造が見直され、独立性の高いブロックの集合体として再設計されている。カーネル・モードとは、Windows Server 2003のOSカーネル内で動作するモードのことであり、一部の処理をカーネル・モードで処理することにより、パフォーマンスを向上させている。 |
![]() |
INDEX | ||
[特集]Windows Server 2003完全ガイド | ||
新世代アプリケーション・サーバ:IIS 6.0 | ||
![]() |
1.IIS 6.0の概要(1) | |
2.IIS 6.0の概要(2) | ||
![]() |
![]() |
Windows Server 2003完全ガイド |
- Azure Web Appsの中を「コンソール」や「シェル」でのぞいてみる (2017/7/27)
AzureのWeb Appsはどのような仕組みで動いているのか、オンプレミスのWindows OSと何が違うのか、などをちょっと探訪してみよう - Azure Storage ExplorerでStorageを手軽に操作する (2017/7/24)
エクスプローラのような感覚でAzure Storageにアクセスできる無償ツール「Azure Storage Explorer」。いざというときに使えるよう、事前にセットアップしておこう - Win 10でキーボード配列が誤認識された場合の対処 (2017/7/21)
キーボード配列が異なる言語に誤認識された場合の対処方法を紹介。英語キーボードが日本語配列として認識された場合などは、正しいキー配列に設定し直そう - Azure Web AppsでWordPressをインストールしてみる (2017/7/20)
これまでのIaaSに続き、Azureの大きな特徴といえるPaaSサービス、Azure App Serviceを試してみた! まずはWordPressをインストールしてみる
![]() |
|
|
|
![]() |