前回は、IIS(Internet Information Service)のうち、ASP(Active Server Pages)やASP.NETやPHPを使わない、静的なコンテンツだけを使用するWebサーバの構成手順について取り上げた。前回は役割と機能のインストール、それとWebサイトの追加について説明したが、今回はその続きで、匿名認証の設定と既定のドキュメントの設定について取り上げる。

匿名認証の構成

匿名認証とは、いちいちユーザー名やパスワードを入力しなくてもアクセスできるようにするという意味である。特に利用制限を課すことなく、誰でもアクセスできるWebサーバを運用する場合には、匿名認証を使用する。

といっても実際には、匿名認証は既定の匿名ユーザーアカウント(IUSR_××)を使用している。既定の匿名ユーザーアカウントに代えて、任意のユーザーアカウントを匿名認証用に割り当てることもできる。こうすることで、既定の匿名ユーザーアカウントを悪用する攻撃を回避しやすくなると考えられるが、代わりに使用するユーザーアカウントのアクセス権設定には注意が必要だ。たとえば、匿名アクセス用のアカウントが共有フォルダにアクセスできるようになっていたらおおごとである。

匿名認証について設定する際の手順は以下の通りである。

  1. [サーバー マネージャー]で、[ツール]メニューから[インターネット インフォメーション サービス(IIS)マネージャー]管理ツールを実行する。

  2. [インターネット インフォメーション サービス(IIS)マネージャー]管理ツールの[機能ビュー]で、[認証]をダブルクリックする。

  3. [機能ビュー]で、[認証]をダブルクリック

  4. 続いて表示する[認証]画面で[匿名認証]を選択して、[操作]画面の[編集]、あるいは右クリックメニューの[編集]をクリックする。
  5. [認証]画面で[匿名認証]を選択して、右クリックメニューの[編集]をクリック

  6. 匿名ユーザーがWebサイトに接続する際の資格情報(セキュリティプリンシパル)は、[操作]画面で[編集]をクリックすると表示する[匿名認証資格情報の編集]ダイアログで設定できる。「IUSR_××」を使用せずに、別のユーザーアカウントを使用する場合、[特定のユーザー]を選択する。[設定]をクリックすると表示する[資格情報の設定]ダイアログで、ユーザー名とパスワードを入力して[OK]をクリックすることで変更可能だ。
  7. 「IUSR」を使用するのが既定値だが、別のユーザーアカウントに変更することもできる

  8. 最後に、[OK]をクリックしてダイアログを閉じる。

この設定変更が必要になるのは、セキュリティ対策強化のために、既定の状態で必ず使われていることが分かっている「IUSR」の利用を避ける場面だろう。

既定のドキュメントの指定

既定のドキュメントとは、URLでファイル名まで指定せず、「http://hogehoge/」というようにURLをディレクトリ名で止めた場合に使用する、HTML文書などのことである。

IISの既定値は「Default.htn」だが、インターネットで一般的に用いられる「index.html」にしたい、あるいはASPやASP.NETなどのファイルを使いたいということもあるだろう。そういった場面で必要になる設定変更である。

既定のドキュメントに関する設定を変更する際の手順は以下の通りである。

  1. [サーバー マネージャー]で、[ツール]メニューから[インターネット インフォメーション サービス(IIS)マネージャー]管理ツールを実行する。

  2. [インターネット インフォメーション サービス(IIS)マネージャー]管理ツールの[機能ビュー]で、[既定のドキュメント]をダブルクリックする。

  3. [機能ビュー]で、[既定のドキュメント]をダブルクリック

  4. 既定のドキュメントの一覧が現れる。そこで、[操作]画面で[追加]をクリックするか、一覧で右クリックして[追加]をクリックする。
  5. 右クリックメニューで[追加]をクリック

  6. [名前]に、既定のドキュメント一覧に追加するファイル名を入力して、[OK]をクリックする。追加したファイル名は、一覧の先頭に加わるので、最優先ということになる。
  7. 既定のドキュメントにしたいファイル名を入力する

  8. この一覧に複数のファイル名がある場合、上から順に並んだファイル名のうち、当該ディレクトリで最初に存在したファイルを使用することになる。ファイル名の並びは、移動したいファイル名を一覧で選択してから、[操作]画面で[上に移動]または[下に移動]をクリックすることで変更できる。

  9. また、一覧でファイル名を選択してから[操作]画面で[削除]をクリックすると、そのファイル名を一覧から削除できる。たとえば「Default.htmは使わない」ということであれば、それを一覧から削除できる。

既定のドキュメント一覧では、優先順の変更や削除が可能

静的コンテンツの圧縮設定

最後に、圧縮設定について簡単に触れる。もともと圧縮がかかっているGIF画像やJPEG画像では効果が薄いだろうが、テキストベースのHTMLファイルであれば、圧縮をかけることでトラフィックを抑制する効果を期待できる。

  1. [サーバー マネージャー]で、[ツール]メニューから[インターネット インフォメーション サービス(IIS)マネージャー]管理ツールを実行する。

  2. [インターネット インフォメーション サービス(IIS)マネージャー]管理ツールの[機能ビュー]で、[圧縮]をダブルクリックする。

  3. 続いて表示する画面で[静的なコンテンツの圧縮を有効にする]を選択する。

  4. 同じ画面の[静的な圧縮]では、以下の設定が可能である。

  5. ・[次の値より大きいファイルのみ圧縮する(バイト)] : 一定の値より大きいサイズのファイルだけを圧縮対象にする。既定値は256バイト
    ・[キャッシュ ディレクトリ] : 圧縮したファイルを一時保存(キャッシュ)するフォルダのパスを指定する。いったん圧縮したファイルは、有効期限が切れるか内容の変更があるまでキャッシュして、圧縮作業の負荷を減らすようにしている。ここで指定するフォルダは、NTFSでフォーマットしたローカルドライブで、かつNTFSの圧縮設定はオフ、フォルダ共有設定は行わないようにしなければならない。

    圧縮機能の設定画面。対象やサイズの指定が可能だ

  6. 最後に、[操作]画面で[適用]をクリックする。

ASP.NETを使用する場合、[アプリケーション プール単位のディスク容量の制限(MB)]をオンにして、静的コンテンツの圧縮に使用するディスク領域の上限をMB単位で指定することもできる。単位がアプリケーションプールなので、アプリケーションプールが複数あれば、そこで指定した容量とアプリケーションプールの数を乗じた値が、実際に使用する最大ディスク領域となる(既定値は、アプリケーションプールひとつにつき100MB)。