歴史 最初のマイクロソフトのウェブサーバーは、スコットランドのエジンバラ大学の一部である欧州マイクロソフト Windows NT アカデミックセンター (EMWAC) の研究プロジェクトであり、 フリーウェア として配布されました。[ 4 ] しかし、EMWAC サーバーはMicrosoft.com へのトラフィック量を処理できなかったため、マイクロソフトは独自のウェブサーバー IIS を開発せざるを得ませんでした。[ 5 ]
IISのほぼすべてのバージョンは、Microsoft Windowsのバージョンと同時に、またはWindowsのバージョンと並行してリリースされました。
クライアントオペレーティングシステム上で動作するIIS 7.0より前のすべてのバージョンは、同時接続数が10個、Webサイトが1つしかサポートしていませんでした。
Microsoft は、 O'Reilly & Associates やNetscape などの他の Web サーバー ソフトウェアのベンダーから、Windows NT の初期バージョンのライセンスについて批判されました。OS の「Workstation」エディションでは同時 TCP/IP 接続が 10 個に制限されていましたが、より高価な「Server」エディションでは、追加機能はほとんどなかったものの、無制限の接続が許可され、 IIS がバンドルされていました。これは、消費者が安価なエディションで代替の Web サーバー パッケージを実行することを阻止することを意図していたと示唆されました。[ 17 ] Netscape は、この製品ライセンスの区別について米国司法省 反トラスト局に公開書簡 を送り、技術的なメリットはないと主張しました。[ 18 ] O'Reilly は、レジストリ キーを 2 つ変更し、その他の些細な構成ファイルを調整することで、NT 4.0 Workstation を Web サーバーとして機能させないようにするための強制的な制限をユーザーが解除できることを示しました。
特徴 IIS 6.0以降では、以下の認証 メカニズムがサポートされています。[ 19 ]
IIS 7.0 はモジュール式のアーキテクチャを採用しています。モジュール(拡張機能とも呼ばれます)は個別に追加または削除できるため、特定の機能に必要なモジュールのみをインストールすれば済みます。IIS 7 には、ネイティブ モジュールが完全なインストールの一部として含まれています。これらのモジュールは、サーバーがリクエストを処理するために使用する個々の機能です。[ 21 ]
IIS 7.5 には、次の追加または強化されたセキュリティ機能が含まれています。[ 22 ]
クライアント証明書のマッピング IPセキュリティ リクエストフィルタリング URL認証 IIS 6.0 と IIS 7 の間で認証が若干変更されました。最も顕著な変更点は、匿名ユーザー「IUSR_{machinename}」が Vista 以降のオペレーティングシステムでは組み込みアカウント「IUSR」になったことです。特に、IIS 7 では各認証メカニズムが独自のモジュールに分離されており、インストールまたはアンインストールできます。[ 20 ]
IIS 8.0では、パフォーマンス向上と管理の簡素化を目的とした新機能が提供されています。新機能は以下のとおりです。
アプリケーション初期化:管理者が特定のアプリケーションをサーバー起動時に自動的に起動するように構成できる機能。これにより、サーバー再起動後に初めてサイトにアクセスするユーザーの待ち時間が短縮されます。[ 23 ] アプリケーション初期化時のスプラッシュページ:管理者は、アプリケーションの初期化中にサイト訪問者に表示するスプラッシュページを設定できます。[ 23 ] ASP.NET 4.5 のサポート: IIS 8.0 では、ASP.NET 4.5 がデフォルトで含まれており、IIS は ASP.NET 3.5 と並行して実行するためのいくつかの構成オプションも提供しています。[ 24 ] 集中型SSL証明書サポート:管理者がファイル共有上に証明書を保存およびアクセスできるようにすることで、証明書の管理を容易にする機能。[ 25 ] NUMA ハードウェアでのマルチコア スケーリング: IIS 8.0 は、1 つのアプリケーション プールで複数のワーカー プロセスを実行したり、ソフト アフィニティまたはハード アフィニティを使用したりして、NUMA を実行するシステムでのパフォーマンスを最適化するいくつかの構成オプションを提供します。[ 26 ] WebSocketプロトコルのサポート[ 27 ] サーバー名表示(SNI):SNIはトランスポート層セキュリティの拡張機能であり、異なるホスト名を持つ複数のWebサイトを1つのIPアドレスにバインドすることを可能にします(非SSLサイトでホストヘッダーが使用される方法と同様です)。[ 28 ] 動的IPアドレス制限:管理者がサーバーに大量のリクエストを送信するIPアドレスまたはIPアドレス範囲を動的にブロックできる機能[ 29 ] CPU スロットリング: サーバー管理者がマルチテナント環境でのパフォーマンスを最適化するために、各アプリケーション プールの CPU 使用率を制御できるようにする一連の制御[ 30 ] IIS 8.5 では、商用ホスティングプロバイダーやマイクロソフト独自のクラウドサービスなど、大規模なシナリオにおけるパフォーマンスに関する改善がいくつか行われています。また、ログ記録とトラブルシューティングに関する機能もいくつか追加されています。新機能は以下のとおりです。
アイドルワーカープロセスページアウト:アイドルサイトを一時停止して、アイドルサイトのメモリフットプリント を削減する機能[ 31 ] 動的サイトアクティベーション:リクエストを受信したサイトにのみリスニングキューを登録する機能[ 32 ] 拡張ログ記録: IIS ログにサーバー変数、リクエスト ヘッダー、レスポンス ヘッダーを収集できるようにする機能[ 33 ] ETWロギング:さまざまなイベントトレースツールを使用してリアルタイムログを収集できるETWプロバイダー[ 34 ] 自動証明書再バインド:サイト証明書が更新されたことを検出し、サイトを自動的にその証明書に再バインドする機能[ 35 ]
急行 IIS Express は 、IIS の軽量版 (4.5~6.6 MB) で、スタンドアロンのフリーウェア サーバーとして利用でき、Service Pack 3 が適用された Windows XP 以降のバージョンの Microsoft Windows にインストールできます。 IIS 7.5 Express は HTTP および HTTPS プロトコルのみをサポートしています。移植性があり、構成はユーザーごとに保存され、管理者権限は不要で、同じマシン上の既存の Web サーバーとの競合を回避するように動作します。[ 36 ] IIS Express は個別にダウンロードすることも[ 37 ] 、 WebMatrix [ 38 ] または Visual Studio 2012 以降の一部としてダウンロードすることもできます。 [ 39 ] (Visual Studio 2010 以前では、ASP.NET アプリケーションを開発する Web 開発者は、コードネーム「Cassini」と呼ばれる ASP.NET Development Server を使用していました。) [ 40 ] デフォルトでは、IIS Express はローカル トラフィックのみを処理します。[ 41 ] [ 39 ]
拡張機能 IIS は、メジャーバージョンリリースの間に新機能モジュールをリリースし、新機能を追加します。IIS 7.5 では、以下の拡張機能が利用可能です。
FTP公開サービス:Webコンテンツ作成者がSSLベースの認証とデータ転送を使用してIIS 7 Webサーバーにコンテンツを安全に公開できるようにします。[ 42 ] 管理パック: ASP.NET 認証、カスタム エラー、FastCGI 構成、要求フィルタリングなど、IIS 7 の管理機能に対する管理 UI サポートを追加します。[ 43 ] アプリケーションリクエストルーティング :HTTPヘッダー、サーバー変数、および負荷分散アルゴリズムに基づいてHTTPリクエストをコンテンツサーバーに転送するプロキシベースのルーティングモジュールを提供します。[ 44 ] データベースマネージャ:IISマネージャ内からローカルおよびリモートのデータベースを簡単に管理できます。[ 45 ] メディアサービス: IIS とメディア配信プラットフォームを統合し、リッチメディアやその他の Web コンテンツの配信を管理および運用します。[ 46 ] URL書き換えモジュール:Webサーバーによって処理される前にリクエストURLを変更するためのルールベースの書き換えメカニズムを提供します。[ 47 ] WebDAV: Web作成者はIIS 7 Webサーバーにコンテンツを安全に公開でき、Web管理者やホスティング事業者はIIS 7の管理ツールや構成ツールを使用してWebDAV設定を管理できます。 [ 48 ] Web デプロイメント ツール: IIS 6.0 サーバーと IIS 7 サーバーを同期し、IIS 6.0 サーバーを IIS 7 に移行し、Web アプリケーションを IIS 7 サーバーにデプロイします。[ 49 ]
安全 IIS 4 と IIS 5 は、悪名高いCode Red 攻撃につながったCA-2001-13セキュリティ脆弱性の影響を受けていました。 [ 53 ] [ 54 ] しかし、バージョン 6.0 と 7.0 の両方で、この特定の脆弱性に関する問題は報告されていません。[ 55 ] IIS 6.0 では、Microsoft は、 4.0 と 5.0 の脆弱性の原因となっていた多くのプリインストールISAPI ハンドラーの動作を変更することにしたため、 IIS の攻撃対象領域が縮小されました。 [ 56 ] [ 54 ] さらに、IIS 6.0 では、「Web サービス拡張機能」と呼ばれる機能が追加され、管理者の明示的な許可なしに IIS がプログラムを起動できないようになっています。
デフォルトでは、IIS 5.1 以前では、Web サイトはシステム アカウント[ 57 ] のコンテキストで実行される単一のプロセスで実行されます。システム アカウントは、管理者権限を持つ Windows アカウントです。 6.0 未満では、すべてのリクエスト処理プロセスは、権限が大幅に少ないネットワーク サービス アカウントのコンテキストで実行されるため、機能やカスタム コードに脆弱性があっても、これらのワーカー プロセスが実行されるサンドボックス環境のため、システム全体が危険にさらされることはありません。 [ 58 ] IIS 6.0 には、静的コンテンツと動的コンテンツの両方に対して、より厳格な HTTP リクエスト パーサーとレスポンス キャッシュを備えた新しいカーネル HTTP スタック ( http.sys) も含まれています。[ 59 ]
セキュニア によると、2011年 6月現在 IIS 7 には合計 6 つの解決済みの脆弱性がありましたが、[ 55 ] IIS 6 には合計 11 の脆弱性があり、そのうち 1 つはまだパッチが適用されていませんでした。パッチが適用されていないセキュリティ アドバイザリの深刻度は 5 段階中 2 です。[ 55 ]
2007 年 6 月、 Google が 8,000 万ドメインを対象に行った調査では、当時 IIS の市場シェアは 23% であったものの、世界のマルウェアの 49% が IIS サーバーでホストされており、市場シェアが 66% のApache サーバー と同じであることが判明しました。この調査では、これらのマルウェアが蔓延しているサーバーの地理的な位置も調査し、その原因は Microsoft からセキュリティ アップデートを入手できないライセンスのない Windows のコピーの使用にある可能性があると示唆しました。[ 60 ] 2009 年 4 月 28 日のブログ記事で、Microsoft は、セキュリティ アップデートは正規の検証なしにすべての人に提供していると述べています。[ 61 ] [ 62 ]
2013年の大規模監視の暴露 により、IISは特にInternet Explorerと組み合わせて使用した場合、完全前方秘匿性(PFS)のサポートが著しく劣ることが広く知られるようになった。HTTPS セッション を確立するために使用される長期非対称秘密鍵のいずれかを所有しているからといって、後日であっても、短期セッション鍵を導出して会話を復号することが容易になるべきではない。 2013年時点で、この特性を持つことが知られているのは、 Diffie–Hellman鍵交換 (DHE)と楕円曲線Diffie–Hellman 鍵交換(ECDHE)のみである。Firefox、Opera、Chromium Browserのセッションのわずか30%しかこれを使用しておらず、AppleのSafariとMicrosoft Internet Explorerのセッションではほぼ0%である。[ 63 ]
参考文献 ↑ {{cite web}}: CS1メンテナンス: アーカイブサービスは非推奨になりました (リンク)↑ 「 IIS 6.1 を アプリケーション サーバー (IIS 6.0) として実行する」 。TechNet。Microsoft。2013 年 9 月 21 日時点の オリジナル からアーカイブ済み。2012 年 12 月 14 日 取得 。 ↑ 「SEOツールキットの利用開始」 。Microsoft Learn。Microsoft 。 2024 年4月11日。 2024年 4月14日 取得 。 ↑ 「Windows NT インターネット サーバー」 。 マイクロソフト 。2002 年 7 月 10 日。2008年 9 月 19 日の オリジナル からアーカイブ済み。2008 年 5 月 26 日 取得 。 ↑ クレイマー、デイブ (1999 年 12 月 24 日)。 「ウェブ上のマイクロソフトの簡単な歴史」 。 マイクロソフト 。2008年 5 月 14 日の オリジナル からアーカイブ済み。2008 年 5 月 26 日 取得 。 ↑ 「Microsoft Web開発ロードマップの次のステップはMicrosoft ASP.NET 2.0」 。 ↑ 「第1章 - インターネット情報サービスの概要 5.0」 。2009年12月9日。 2010年 10月25日 取得 。 ↑ 「第2章 - 移行プロセスの管理」 。2009年12月9日。 2012年 6月27日 取得 。 ↑ 「IIS 6.0 の新機能とは?」 。 2013 年 5 月 14 日の オリジナルからアーカイブ済み。2010 年 11 月 25 日 取得 。 ↑ arkaytee. "IISアーキテクチャの概要" . docs.microsoft.com . 2019年 8月29日 取得 . ↑ 「IIS 7.0: Windows Vista以降向けのWebサーバーを探る」 。 2010年 11月25日 取得。 ↑ 「Windows 2008 R2 の Web サーバー (IIS) ロールの新機能」 。2010 年 11 月 25 日 取得 。 ↑ マイク・ビショップ、デビッド・ソー(2015年9月11日)。 「IIS 上の HTTP/2」 。マイクロソフト。 {{cite web}}: CS1 maint: 複数の名前: 著者リスト (リンク)↑ スーラブ・シルハッティ(2022年6月14日)。 「IIS 10.0 で導入された新機能」 。マイクロソフト。 ↑ Sourabh Shirhatti; Richard Lang (2022年5月19日)。 「IIS 10.0 バージョン 1709 で導入された新機能」 。Microsoft。 {{cite web}}: CS1 maint: 複数の名前: 著者リスト (リンク)↑ スーラブ・シルハッティ。 「IIS 10.0 バージョン 1809 で導入された新機能」 。マイクロソフト。 ↑ 「ネットスケープ、刑務所行き、200ドルは回収せず」 。InfoWorld。 2008年12月23日の オリジナルからアーカイブ 。 2014年 4月12日 閲覧。 ↑ 「NTサーバーとワークステーションの違いは最小限です」 。O'Reilly Media。 2016年3月16日の オリジナルからアーカイブ済み 。 2018年 7月7日 取得。 ↑ 「IIS 6.0 でサポートされている認証方法 (IIS 6.0)」 。 IIS 6.0 ドキュメント 。Microsoft。2012 年 11 月 2 日の オリジナル からアーカイブ済み。2011 年 7 月 13 日 に取得 。 1 2 「IIS 6.0 と IIS 7 のセキュリティの変更点」 . iis.net . Microsoft . 2010 年 2 月 7 日. 2011 年 7 月 13 日 取得 . ↑テンプリン、レーガン (2010 年 8 月 11 日)。 「IIS 7 アーキテクチャ の概要」 。iis.net。Microsoft。IIS 7 モジュール 。2011 年 7 月 16 日 に取得。 ↑ 「IIS 7.5 で利用可能な Web サーバー (IIS) ロール サービス」 。Microsoft TechNet。Microsoft。2010 年 1 月 27 日 。2011 年 7 月 13 日 に取得 。 1 2 Eagan, Shaun (2012年2月29日). "IIS 8.0 アプリケーションの初期化" . IIS Blog . Microsoft . 2013年 9月19日 取得 . ↑ ユ・ウォン (2012年2月29日)。 「IIS 8.0 ASP.NET 構成管理」 。IIS ブログ 。 マイクロソフト。 2013年 9月19日 取得 。 ↑ イーガン、ショーン (2012 年 2 月 29 日)。 「IIS 8.0 の集中型 SSL 証明書のサポート」 。IIS ブログ 。 マイクロソフト 。2013 年 9 月 19 日 に取得。 ↑ McMurray, Robert (2012年2月29日). "IIS 8.0 NUMAハードウェアでのマルチコアスケーリング" . IISブログ . Microsoft . 2013年 9月19日 取得 . ↑ 「IIS 8.0 WebSocket プロトコルのサポート」 。IIS ブログ 。 マイクロソフト 。2012 年 11 月 28 日。2013 年 9 月 19 日 に取得 。 ↑ Eagan, Shaun (2012年2月29日). "IIS 8.0 サーバー名表示" . IISブログ . Microsoft . 2013年 9月19日 取得 . ↑ McMurray, Robert (2012年2月29日). "IIS 8.0 動的IPアドレスの制限" . IISブログ . Microsoft . 2013年 9月19日 取得 . ↑ イーガン、ショーン (2012 年 2 月 29 日)。 「IIS 8.0 CPU スロットリング」 。IIS ブログ 。 マイクロソフト 。2013 年 9 月 19 日 に取得。 ↑ ベナリ、エレズ (2013 年 6 月 26 日)。 「アイドル状態のワーカー プロセスがページ アウトする」 。IIS ブログ 。 マイクロソフト。2013 年 9 月 18 日 取得 。 ↑ ベナリ、エレズ (2013 年 7 月 3 日)。 「動的サイト アクティベーション」 。IIS ブログ 。 マイクロソフト 。2013 年 9 月 18 日 に取得。 ↑ ベナリ、エレズ (2013 年 7 月 10 日)。 「拡張ログ記録」 。IIS ブログ 。 マイクロソフト。2013 年 9 月 18 日 取得 。 ↑ ベナリ、エレズ (2013 年 7 月 15 日)。 「ETW ロギング」 。IIS ブログ 。 マイクロソフト。2013 年 9 月 18 日 取得 。 ↑ ベナリ、エレズ (2013 年 9 月 3 日)。 「証明書の自動再バインド」 。IIS ブログ 。 マイクロソフト。2013 年 9 月 18 日 取得 。 ↑ 「IIS Express FAQ」 。iis.net。Microsoft 。 2011年1 月 14日。 2011年 1月27日 取得 。 ↑ 「インターネット インフォメーション サービス (IIS) 7.5 Express」 。 ダウンロード センター 。 マイクロソフト 。2011 年 1 月 10 日。2011 年 1 月 27 日 取得 。 ↑ 「IIS Express の概要」 。iis.net。Microsoft。2011 年1 月 14 日 。2011 年 1 月 27 日 取得 。 1 2 ハンセルマン、スコット; コンドロン、グレン (2015 年 9 月 15 日)。 「3 モデル ビュー コントローラー (MVC) の紹介」 。ASP.NET 入門 。 マイクロソフト 。0:14:02。 ↑ Guthrie, Scott (2010年6月29日). "IIS Expressの紹介" . ScottGuのブログ . Microsoft . ↑ Gopalakrishnan, Vaidy (2011年1月12日). "IIS ExpressでのURLバインディングエラーの処理" . iis.net . Microsoft . ↑ 「 FTP 公開サービス」 。iis.net。Microsoft。2011 年 7 月 17 日 取得 。 ↑ 「管理パック」 。iis.net。Microsoft 。 2011年 7 月 17日 取得 。 ↑ 「アプリケーション要求ルーティング」 . iis.net . Microsoft . 2011年 7月17日 取得 。 ↑ 「データベース マネージャー」 . iis.net . Microsoft . 2011年 7月17日 取得 。 ↑ 「IIS Media Services」 . iis.net . Microsoft . 2011年 7月30日 取得 。 ↑ 「URL書き換え」 。iis.net。Microsoft 。 2011年 7 月 17日 取得 。 ↑ 「WebDAV拡張機能」 。iis.net。Microsoft 。 2011 年7 月 17日 取得 。 ↑ 「Web Deploy 2.0」 。iis.net。Microsoft 。 2011 年7 月 17日 取得 。 ↑ 「2014年2月のWebサーバー調査」 . news.netcraft.com . Netcraft . 2014年2月3日。 ↑ 「ウェブサイト向けMicrosoft-IIS の 使用統計と市場シェア」 。w3techs。Q -Success。 ↑ 「2017年2月のWebサーバー調査」 . news.netcraft.com . Netcraft . 2017年2月27日。 ↑ "CA-2001-13 IIS インデックス サービス DLL のバッファ オーバーフロー" . CERT® アドバイザリ . コンピュータ緊急対応チーム . 2002 年 1 月 17 日. 2011 年 7 月 1 日 取得 . 1 2 ハディ、ナハリ(2011)。 Web コマースのセキュリティ: 設計と開発 。クルツ、ロナルド・L・インディアナポリス:Wiley Pub. p. 157.ISBN 9781118098899 . OCLC 757394142 . 1 2 3 「脆弱性レポート: Microsoft Internet Information Services (IIS) 6」 . Secunia . Secunia ApS . 2011年 7月1日 取得 . ↑ 「IIS がロックダウン モードでインストールされる (IIS 6.0)」 。 Microsoft Developer Network (MSDN) 。Microsoft。2011 年 4 月 30 日の オリジナル からアーカイブ済み。2011 年 7 月 1 日 取得 。 ↑ 「方法: IIS でシステム アカウントのコンテキスト以外でアプリケーションを実行する (リビジョン 5.1) Microsoft Corporation」 。2008 年 7 月 7 日。2007 年 7 月 20 日 に取得 。 ↑ ヘンリクソン、ヘテ;ホフマン、スコット R. (2003). 「第 15 章: ASP.NET Web サービス」 . IIS 6: 完全リファレンス . ニューヨーク市: マグロウヒル プロフェッショナル. p. 482. ISBN 978-0-07-222495-5 2011年7月12日 に取得 。↑ ヘンリクソン、ヘテ;ホフマン、スコット R. (2003). 「第 1 章: IIS の基礎」 . IIS 6: 完全リファレンス . ニューヨーク市: マグロウヒル プロフェッショナル. p. 17. ISBN 978-0-07-222495-5 2011年7月12日 に取得 。↑ 「Webサーバーソフトウェアとマルウェア」 。Google オンラインセキュリティブログ 。 ↑ 「Windows海賊版ユーザーに セキュリティアップデートのインストールを推奨」 USA Today テクノロジーライブ 2010年2月 2011年 7月18日 閲覧 ↑ クック、ポール (2009 年 4 月 27 日)。 「Windows セキュリティ アップデートは誰が受け取るのか?」 。 Windows セキュリティ ブログ 。 マイクロソフト。2011 年 7 月 18 日 取得 。 ↑ SSL: 今日傍受され、明日復号化される、Netcraft、2013年6月25日。
外部リンク 公式サイト