導入
IIS は Internet Information Server の略で、主に Microsoft が推進している WEB サーバーです。現在ユーザーが一般的に使用しているバージョンは、Windows 2003 に含まれる IIS 6 またはそれ以前の IIS 5 です。IIS は Windows NT Server と完全に統合されています。 Windows NT Server および NTFS (NT File System、NT ファイル システム) の組み込みセキュリティ機能を使用して、強力で柔軟かつ安全なインターネット サイトとイントラネット サイトを構築できます。 IIS は、サーバー機能を拡張するために使用できる ISAPI をサポートし、HTTP、FTP、および SMTP をサポートする統合されたサーバー サービスを確立するように設計されており、既存の製品に高速で統合されたスケーラブルなインターネット サーバーを提供できます。
新しい IIS7 では、Windows Server 2008 にさらに多くのセキュリティ設計が追加され、ユーザーは Microsoft のセキュリティ設計を使用できるようになりました。 NET 言語を使用してサーバー側アプリケーションを実行します。さらに、IIS7 の新機能を使用してモジュールを作成すると、システム内で実行されるコードの数が減り、ハッカー スクリプトによる攻撃の可能性が最小限に抑えられます。セキュリティの観点から見ると、これは IIS が関与する新しい分野です。 非常に多くの新機能があるため、Windows Server 2008 の IIS7 が待ち遠しくなります。IIS の最も重要な 5 つの拡張機能を見てみましょう。
完全にモジュール化された IIS
人気の Apache Web サーバー ソフトウェアに精通している場合は、その最大の利点がそのカスタマイズにあることがわかります。静的な HTML のみを表示するように構成したり、さまざまなモジュールを動的にロードしてさまざまなタイプのサービス コンテンツを許可したりできます。 。しかし、現在使用されている IIS はこの機能をうまく実装できず、そのため 2 つの問題が発生しています。1 つ目は、ユーザーが使用しない機能がコードに多すぎる影響があるため、パフォーマンスがユーザーを満足させることができない場合があります。デフォルトのインターフェイスが多すぎるとセキュリティ上のリスクが発生します。
新しい IIS7 は、この問題を完全に解決します。IIS7 はコア層から、さまざまな機能を備えた 40 以上のモジュールに分割されています。検証、キャッシュ、静的ページ処理、ディレクトリ一覧などの機能はすべてモジュール化されています。これは、Web サーバーが運用ニーズに応じて対応する機能モジュールをインストールできることを意味します。セキュリティリスクがある可能性があり不要なモジュールはメモリにロードされなくなり、プログラムの攻撃対象領域が減少し、パフォーマンスも向上します。
IIS7はテキストファイル経由で設定されています
IIS7 のもう 1 つの大きな特徴は、管理ツールが新しい分散型 web.config 構成システムを使用することです。 IIS7 には単一のメタベース構成ストレージはありませんが、ASP.NET でサポートされているのと同じ web.config ファイル モデルを使用するため、サイトの数に関係なく、ユーザーは Web アプリケーションのコンテンツとともに構成を保存および展開できます。 web.config ファイルを使用して直接設定できるため、企業が多数の Web サイトに接続する必要がある場合、管理者は接続するサイトの web.config ファイルをコピーするだけで済むため、短時間で完了する可能性があります。事前に準備しておき、設定を行うとWebアプリケーションとともにリモートサーバーに転送されます。構成をカスタマイズするための管理スクリプトを記述する必要はありません。
同時に、管理ツールは「委任管理」をサポートしており、ユーザーは特定の web.config ファイルを社内の他の従業員に委任できます。もちろん、この場合、管理ツールに表示されるのは顧客の設定です。マシン全体の設定ではなく、自分の Web サイトを管理できるため、IIS 管理者はサイトのあらゆる小さな変更を気にする必要がなく、ユーザーは組織内のテキスト ファイルの異なるバージョンを維持するだけで済みます。必要に応じてそれらを使用し、必要なときに復元するだけです。
Microsoft 製品は常にユーザーフレンドリーなインターフェイスを誇りにしていますが、IT プロフェッショナル向けに設計された IIS7 サーバーとして、IIS 4 から IIS 6 までを振り返ると、ユーザーに提供される管理コンソールはそれほど簡単ではないようです。操作は便利ですが、技術的な制限やその他の理由により、ユーザーがすべての管理作業を統一インターフェイスで実行することは困難です。
MMC グラフィカル モード管理ツール
[カットページ]新しい IIS 7 では、この問題は大幅に改善され、ユーザーは管理ツールを使用して Windows クライアント マシン上で任意の数の Web サイトを作成および管理できるようになりました。同時に、IIS の以前のバージョンと比較して、IIS 7 の管理インターフェイスはより使いやすく、強力になりました。また、IIS 7 の管理ツールは .NET および Windows フォームで作成されています。拡張することができます。これは、ユーザーが独自の UI モジュールを管理ツールに追加して、独自の HTTP ランタイム モジュールと構成設定の管理サポートを提供できることを意味します。
IIS 7のセキュリティ強化
Microsoft が攻撃された場合、常にセキュリティの問題が最優先事項となります。実際、Microsoft がセキュリティに無関心であるわけではありません。幸いなことに、Microsoft はあらゆる機密が失われるのは避けられません。あらゆるセキュリティに関する意見に提案を加えます。 IIS のセキュリティ問題は、主に .NET プログラムの効果的な管理と権限管理に焦点を当てています。 IIS 7 では、IIS サーバーで発生したセキュリティ問題に対応して、対応する機能強化が行われています。
新しいバージョンでは、IIS と ASP.NET の管理設定が 1 つの管理ツールに統合されています。これにより、ユーザーは複数の異なるダイアログ ボックスを経由するのではなく、1 か所で認証と認可のルールを表示および設定できるようになります。これにより、管理者は、より一貫性があり明確なユーザー インターフェイスと、Web プラットフォーム上での統一された管理エクスペリエンスを提供できます。
IIS7 では、.NET アプリケーションは Internet Server API 拡張機能に送信されるのではなく、IIS コードを通じて直接実行されます。これにより、発生する可能性のあるリスクが軽減され、パフォーマンスが向上します。同時に、管理ツールには ASP.NET 3.0 メンバーとパフォーマンスのサポートが組み込まれています。役割管理システムは、管理インターフェイスのサポートを提供します。これは、ユーザーが管理ツールでロールとユーザーを作成および管理できるだけでなく、ユーザーにロールを割り当てることができることを意味します。以下は、IIS 7 の完全なコンポーネントの内訳図です。
IIS 7 の完全なコンポーネント分布図
IIS 7 用の Windows PowerShell 管理環境
スクリプト プログラミングに注目している友人、または Exchange Server 2007 に精通している友人は、Windows PowerShell についてよく知っていると思います。Windows PowerShell は、システム管理者向けに特別に設計された Windows コマンド ライン シェルです。このシェルには、単独または組み合わせて使用できる対話型プロンプトとスクリプト環境が含まれています。スクリプト管理を愛する IT プロフェッショナルにとって、Windows PowerShell は間違いなく気に入るはずです。 IIS サーバーの場合、Windows PowerShell は包括的な管理機能も提供します。
[カットページ]ただし、PowerShell は Windows Server 2003 上で実行されている IIS6 も管理できますが、IIS7 は特に PowerShell コマンド ラインを通じて管理されます。新しい APPCMD 機能が含まれており、このようなコマンド ライン ツールのアプリケーション シナリオは、ユーザーの環境で非常に一般的に使用されます。大きな利点。
IS 7.0 は Windows Vista クライアントに含まれており、ホーム バージョンのオペレーティング システムにも IIS 7.0 が含まれています (XP Professional でのみ利用できる IIS 5.1 とは異なります)。このサーバーの IIS 7.0 バージョンは、今年後半に Windows Server 2008 サーバーとともにリリースされる予定で、より豊富なホスト サポート、安全な FTP サポート、組み込みの Web ファーム展開サポートなど、多数の展開機能が追加されます。
Web ファームのサポートは、サーバーの実行に必要なすべてのコーディング、構成、コンテンツ、キーを含むファイル共有に Web アプリケーションを展開できるため、特に優れています。その後、ステートレスで構成不要の Web サーバーを Web ファームに追加できます。Web サーバーにそのファイル共有を指定するだけで、構成設定 (バインディング、仮想ディレクトリ、アプリケーション プール設定など) とアプリケーション コンテンツを動的にロードできます。これにより、複数のマシンにまたがるアプリケーションのスケーリングが簡単になり、構成やアプリケーションの展開のためのレプリケーション方法が不要になります (ファイルをファイル共有にコピーするだけで、Web ファーム内のすべてのマシンが変更内容をただちにロードします)。
Windows Server 2008 の Beta 3 リリースは Go-Live ライセンスをサポートしているため、この機能を間もなく利用できるようになります。私たちはすでに IIS 7.0 クラスター上で Windows Server 2008 を実行しているので、あなたは一人ではありません。
Windows PowerShell 管理図
IIS7.0への移行
IIS7.0 での Web サイトの移行は、Apache Web サーバーの最大の利点がカスタマイズされた管理であるため、IIS6.0 よりも便利です。そのため、サイトの構成ファイルを別の IIS7.0 にコピーできます。詳細については、上記の「テキスト ファイルによる IIS7 の構成」および「IIS 7 の Windows PowerShell 管理環境」を参照してください。
[カットページ]ASP.NET と IIS 7.0 の統合
IIS の以前のバージョンでは、開発者はサーバーの機能を拡張するために ISAPI 拡張機能/フィルターを作成する必要がありました。 ISAPI は記述するのが面倒であるだけでなく、サーバーへの接続方法も非常に制限されており、開発者はそれをカスタマイズできます。たとえば、ISAPI 拡張機能に URL 書き換えコードを実装することはできません (注: ASP.NET は ISAPI 拡張機能として実装されます)。 ISAPI フィルターとして実行時間の長いコードを作成すると、Web サーバーの I/O スレッドが拘束されることになります (これが、リクエストのフィルター実行フェーズ中にマネージド コードを実行させない理由です)。
IIS7 のコア IIS 処理エンジンに加えた主要なアーキテクチャ レベルの変更の 1 つは、新しいモジュール式要求パイプライン アーキテクチャを通じて非常に優れたスケーラビリティを実現することです。 HTTP 拡張モジュールを Web サーバーに登録することで、HTTP リクエストのライフサイクルのどこでもコードを記述できるようになりました。これらの拡張モジュールは、ネイティブ C++ コードまたは .NET マネージ コードを使用して作成できます (これを実現するには、既存の ASP.NET System.Web.IHttpModule インターフェイスを使用できます)。
すべての「組み込み」IIS7 機能 (認証、承認、静的ファイルの提供、ディレクトリ一覧のサポート、クラシック ASP、ロギングなど) は、このパブリック モジュラー パイプライン API を使用して実装されるようになりました。これは、これらの IIS7 の「組み込み」機能を削除して、独自の実装に置き換えたり拡張したりできることを意味します。
[カットページ]IIS 7.0 上の ASP.NET 自体も、ISAPI 実装から IIS7 パイプラインに直接接続されたモジュールに変更されました。
IIS6.0とIIS7.0の比較表
これにより、次のような多くの利点がもたらされます。
1) サーバーへのすべてのリクエスト (例: .htm、.php、.jsp ファイル) に対して、ASP.NET フォーム認証、メンバー/ロール、およびその他の機能を使用できるようになりました。
2) Web リクエストの URL を簡単に書き換えたり、あらゆる種類の興味深い方法でリクエストを変更したりできるようになりました。
3) VB または C# を使用して既存の IIS 機能を置き換えたり拡張したりできます (たとえば、組み込みのディレクトリ一覧モジュールを削除して、独自のモジュールをプラグインできます)。
これにより、.NET 開発者にとって無限の拡張性の機会が開かれます。
IIS 7.0 の 6 つの新機能:
1) モジュラーネットワークコアにより、ユーザーは特定の機能を追加および削除できます。サービス統計コンポーネントを使用する場合は、少数のモジュール (ISAPI を除く) のみが必要です。
2) ローカル管理アプリケーションに対応する、統一された標準 HTTP パイプライン。ユーザーは、従来の ASP Web ページにフォームベースの認証システムを使用できます。
3) ユーザーは独自の IHttpModule および IHttpHandler を作成し、それらを統合パイプラインに挿入できます。
4) ASP.NET 設定システムを利用した新しい分散 XML 設定システム。
5) 新しい実行時ステータスと追跡機能を含む、診断および問題解決メカニズムの改善。
6) 新しい拡張可能なタスク指向の管理者ユーザー インターフェイス。
全体として、IIS 7 は、Web 管理者や Web 愛好家に、より豊富で使いやすい管理ツールを提供します。新しい IIS7 では、ユーザー グループの観点から、管理とセキュリティの両方の側面が完全に再設計されています。IIS7 を使用すると、個人ユーザーは独自のサイトをより迅速かつ簡単に構築でき、企業ユーザーは独自の WEB 環境を維持および管理できます。より包括的かつ安全に。 Windows Server 2008 が近づくにつれて、IIS7 管理に関する導入がますます増えてくると思います。新しいバージョンが大幅な変更をもたらすのか、それとも単なる IIS サーバー機能の強化なのかを見てみましょう。
[カットページ]新しい IIS 7 では、この問題は大幅に改善され、ユーザーは管理ツールを使用して Windows クライアント マシン上で任意の数の Web サイトを作成および管理できるようになりました。同時に、IIS の以前のバージョンと比較して、IIS 7 の管理インターフェイスはより使いやすく、強力になりました。また、IIS 7 の管理ツールは .NET および Windows フォームで作成されています。拡張することができます。これは、ユーザーが独自の UI モジュールを管理ツールに追加して、独自の HTTP ランタイム モジュールと構成設定の管理サポートを提供できることを意味します。
IIS 7のセキュリティ強化
Microsoft が攻撃された場合、常にセキュリティの問題が最優先事項となります。実際、Microsoft がセキュリティに無関心であるわけではありません。幸いなことに、Microsoft はあらゆる機密が失われるのは避けられません。あらゆるセキュリティに関する意見に提案を加えます。 IIS のセキュリティ問題は、主に .NET プログラムの効果的な管理と権限管理に焦点を当てています。 IIS 7 では、IIS サーバーで発生したセキュリティ問題に対応して、対応する機能強化が行われています。
新しいバージョンでは、IIS と ASP.NET の管理設定が 1 つの管理ツールに統合されています。これにより、ユーザーは複数の異なるダイアログ ボックスを経由するのではなく、1 か所で認証と認可のルールを表示および設定できるようになります。これにより、管理者は、より一貫性があり明確なユーザー インターフェイスと、Web プラットフォーム上での統一された管理エクスペリエンスを提供できます。
IIS7 では、.NET アプリケーションは Internet Server API 拡張機能に送信されるのではなく、IIS コードを通じて直接実行されます。これにより、発生する可能性のあるリスクが軽減され、パフォーマンスが向上します。同時に、管理ツールには ASP.NET 3.0 メンバーとパフォーマンスのサポートが組み込まれています。役割管理システムは、管理インターフェイスのサポートを提供します。これは、ユーザーが管理ツールでロールとユーザーを作成および管理できるだけでなく、ユーザーにロールを割り当てることができることを意味します。以下は、IIS 7 の完全なコンポーネントの内訳図です。
IIS 7 の完全なコンポーネント分布図
IIS 7 用の Windows PowerShell 管理環境
スクリプト プログラミングに注目している友人、または Exchange Server 2007 に精通している友人は、Windows PowerShell についてよく知っていると思います。Windows PowerShell は、システム管理者向けに特別に設計された Windows コマンド ライン シェルです。このシェルには、単独または組み合わせて使用できる対話型プロンプトとスクリプト環境が含まれています。スクリプト管理を愛する IT プロフェッショナルにとって、Windows PowerShell は間違いなく気に入るはずです。 IIS サーバーの場合、Windows PowerShell は包括的な管理機能も提供します。