3.6.2 Microsoft Webサービスのセキュリティ設定

(1) Webサービスの準備

IISをインストール後、最新のセキュリティパッチの適応を、 絶対に忘れないようにしてください。 多発する不正なアクセスを使用したコンテンツ改竄のトラブルは、 IISが持っているセキュリティホールを狙ったものがほとんどです。
Windows 2000 インストール関連でも紹介しましたが、 マイクロソフト社が発信する下記のセキュリティ情報を、最低1日ごと、 できればそれ以上の短いサイクルで確認するようにしてください。
http://www.asia.microsoft.com/japan/technet/security/current.asp

(2) 不要な仮想ディレクトリの削除

IISをインストールした場合、デフォルト状態でいくつかのかの、 仮想ディレクトリが作成されています。
仮想ディレクトリとは、まったく別の場所にある物理ディレクトリを、 Webサイトのホームディレクトリのサブディレクトリとして割り当て、 あたかもそこに存在するように見せるものです。 これら仮想ディレクトリには、それぞれのアクセス権を指定できるので、 非常に便利な機能といえます。
インストール時に自動作成された仮想ディレクトリには、 「実行アクセス権」として「スクリプトおよび実行可能ファイル」の権限が、 与えられているものもあります。 (実行アクセス権の詳細については後述を参照してください。)
この仮想ディレクトリに不正なアクセスが行われた場合、 「スクリプトおよび実行可能ファイル」権限を悪用されることは十分考えられます。 特に、"実行可能ファイル"の実行アクセス権によって、 予想をはるかに越えるトラブルを起こすかもしれません。
そこで、特にデフォルトとして作成されているディレクトリで不要なものは、 削除することを強く勧めます。
以下に、不要とと思われるデフォルト時の仮想ディレクトリを、掲載します。

表3.6.2-1 不要な仮想ディレクトリ
仮想ディレクトリ名
IISHelp
IISSamples
MSADC
Printers

なお、上記以外に「IISAdmin」という仮想ディレクトリが作成されている場合があります。
Internet Explorerでこのディレクトリにアクセスすると、 IISをブラウザ上で管理することができます。 デフォルトでは、この機能はサーバ自身からアクセスした場合のみに使用可能ですが、 設定の変更により、インターネット上どこからでもIISを管理できるようになります。 この機能が必須な環境でければ、 この仮想ディレクトリも削除してください。

(3) 不要なアプリケーション マッピングの削除とオプションの変更

  1. 「インターネット サービス マネージャ」にて、 Webサイトのディレクトリ(仮想ディレクトリ)のプロパティ画面を開きます。
  2. 表示されたプロパティ画面から「ホームディレクトリ(仮想ディレクトリ)」 タブを選択し、 「アプリケーションの設定」欄の「構成」ボタンを押下します。
    図3.6.2-1 Webサイトのプロパティ
    Webサイトのプロパティ
  3. 表示された「アプリケーションの構成」の「アプリケーションのマッピング」 リストで、不必要な項目を選択し削除します。
    以下の表は、不要と思われる項目です。これ以外においても、 不要と判断されるものについては、削除するようにしてください。 これらを削除しておくことで、悪意のある攻撃方法が新たに発見された場合に、 サイトの危険を少しでも減らすことができます。
    表3.6.2-2 不要な拡張子
    不要と思われる項目(拡張子)
    .htw
    .ida
    .idq
    .cer
    .cdx
    .htr
    .idc
    .shtml
    .stm
  4. 必要な項目については、一覧より選択後、「編集」ボタンを押下します。
  5. 表示された「アプリケーションの拡張子マッピングの追加/編集」画面から、 「ファイルの存在を確認する」にチェックをつけ、OKボタンを押下します。
    図3.6.2-2 拡張子との関連付け
    マッピング
  6. 「アプリケーションの構成」画面に戻り、「アプリケーションのオプション」 タブをクリックします。
  7. 「親のパスを有効にする」のチェック外し、 OKボタンを押下して画面を閉じます。
    図3.6.2-3 親のパスを有効にし終了
    アプリケーションの構成

(4) Webディレクトリのアクセス権

各Webディレクトリごとに、アクセス権を指定できます。
設定画面は、以下の手順で表示します。

  1. 管理ツールより、「インターネット サービス マネージャ」を開きます。
  2. Webディレクトリのアクセス権を指定するフォルダの、 プロパティ画面を開きます。
  3. プロパティ画面上で、「ホームディレクトリ(仮想ディレクトリ)」 タブをクリックします。

次に、アクセス権を指定します。
以下に、アクセス権に関する項目とその内容を解説します。

表3.6.2-2 アクセス権一覧
項目名 内容 推奨の設定
スクリプトソースアクセス ASP等のスクリプトソースを、ブラウザー上から参照できるようにします。 チェックを外します。ソースが公開されることは大変危険です。
ログアクセス ディレクトリへのアクセスを、ログファイルに記録します。 チェックを付けます。
読み取り ディレクトリへのアクセスとして、読み取りを可能にします。 チェックを付けます
このリソースに索引を付ける Microsoft Indexing Serviceを使用しているときの、Webサイトのフルテキストインデックスボックスに入れます。 チェックを外します。Indexing Serviceを使用している場合も、予期せぬ情報漏洩を防ぐために、外すことをおすすめします。
書き込み サーバへの書き込み機能をサポートするブラウザにおいて、ファイルなどの書き込みができるようにします。 チェックを外します。データの改竄の原因になります。
ディレクトリの参照 ディレクトリ内の、ファイル一覧をブラウザ上で表示できるようにします。 チェックを外します。通常は表示されないはずのページにアクセスされる可能性があり、情報漏洩の危険があります。
実行アクセス権 なし HTMLや画像ファイルなど、静的なファイルのみにアクセスを許可します。 必要に応じて設定を行います。Webアプリケーションを使用しない場合は、「なし」を選択します。
「スクリプトおよび実行可能ファイル」を選択しておけば、サービス性は高くなりますがセキュリティ・レベルは低くなります。
スクリプトのみ ASP等のスクリプトのみの実行を許可します。
スクリプト
および
実行可能ファイル
全てのファイルアクセスと、アプリケーションの実行を許可します。
アプリケーション保護
(IIS プロセス)
Webサーバサービスと同じプロセスで実行させます。 必要に応じて設定を行います。「高(分離プロセス)」を選択すれば、1つアプリケーションがクラッシュなどの問題を起こしても、Webサービスや他のアプリケーションに影響を避けることができ、DoS攻撃対策になります。

(プール)
既に実行されている、他のWebアプリケーションと同じプロセスで実行させます。

(分離プロセス)
他のプロセスから分離された、独立プロセスで実行させます。

(5) 認証済みアクセス

普段のブラウザによるWebサーバへのアクセスは、 匿名アクセスとして扱われます。
匿名アクセスでは、これに割り当てられたWindowsユーザアカウントを使用し、 サーバ内のフォルダにアクセスが行われます。
よって、全ての人にWebコンテンツを参照してもらうには、 それを公開するフォルダに匿名アクセス用ユーザ アカウントに読み取り許可のアクセス権が必要です。 なお、ここでいうアクセス権限とは、NTFSアクセス制御のことであり、 エクスプローラなどでファイルやフォルダを選択し、 これらのプロパティ画面から設定するセキュリティのことです。
アプリケーションの構成
対して、匿名アクセス用の読み取り許可が与えられていないフォルダにWebブラウザからアクセスすると、 ブラウザー上には、ユーザ名とパスワードの入力を要求するダイアログが表示されます。
この場合、フォルダへのアクセス許可があるWindows ユーザ アカウントの名とパスワードを入力することで、アクセスが可能になるのですが、デフォルトの設定では Internet Explorer からのみ可能となります。
これを、ブラウザに関係なく行うためのの手順を、以下に説明します。

  1. Webサイトのプロパティを開きます。
  2. 「ディレクトリ セキュリティ」タグをクリックし、 「匿名および認証コントロール」の欄の「編集」ボタンを押下します。
  3. 表示された「認証方法」画面にて、「認証済みアクセス」の欄にある、 「基本認証」のチェックボックスにチェックを付けます。

以上で、ほとんどのブラウザでの認証済みアクセスが可能になります。
ただし、ユーザ名とパスワードが暗号化されずに通信されるため、 セキュリティレベルが低くなります
この問題を解決し、ブラウザの種類に関係なく、 ユーザ名とパスワードを暗号化によって通信するためには、 SSLを使用してください。

(6) コンテンツ公開用のフォルダを変更する

既定のディレクトリを、そのままコンテンツ公開用とするのではなく、 別ドライブにフォルダを作成し、それを公開用として割り当てます。
これは、システムディレクトリから切り離すことにより、 攻撃によるダメージを少しでも軽減することを目的とします。
これから解説する例では、「D:」ドライブにコンテンツ公開用フォルダ「WebFolder」 を作成し、「インターネット サービス マネージャ」にて、 このフォルダをWebサーバのルートディレクトリとして割り当てるものです。

コンテンツ公開用フォルダを作成

  1. エクスプローラなどで、「D:\」ドライブに「WebFolder」という名前の、 フォルダを作成します。
  2. 作成された「WebFoler」で、以下のセキュリティ設定を行います。
    表3.6.2-3 公開用フォルダのアクセス権
    名前 アクセス許可
    (チェックされた許可項目)
    備考
    Administrators
    • フルコントロール
    公開用フォルダの管理と、コンテンツそのものの更新を行います。コンテンツの変更者とフォルダの管理者が異なる場合など、必要に応じてユーザを追加し、それぞれ設定してください。
    SYSTEM
    • フルコントロール
    Windowsがアクセスするために必要です。
    Authenticated Users
    • 読み取りと実行
    • フォルダの内容の一覧表示
    • 読み取り
    「Authenticated Users」は、「Everyone」グループとほぼ同等です。よって、匿名アクセス用のWindows ユーザ アカウント以外も含まれます。より厳しいセキュリティ設定としては、匿名アクセス用のアカウントのみを設定します。

    なお、「継承可能なアクセス許可を親からこのオブジェクトに継承できるようにする」のチェックを、外すことを忘れずに行ってください。
    図3.6.2-4 公開用フォルダのアクセス権
    アプリケーションの構成

以上で、公開用のフォルダの準備は完了しました。
次に、「インターネット サービス マネージャ」にて、公開用のフォルダを、 Webサービスのホームディレクトリとして割り当てます。

  1. 「インターネット サービス マネージャ」を開き、 ホームディレクトリ(既定のWebサイト)のプロパティ画面を開き、 「ホームディレクトリ」タグをクリックします。
  2. 「ローカル パス」の欄に、新しく作成した公開用フォルダのパスを入力します。 なお、「参照」ボタンを押下しフォルダの参照画面にて設定できます。

以上で、コンテンツ公開用のフォルダのの変更が完了しました。


    Copyright(C)  2001 Information-technology Promotion Agency, Japan.  All rights reserved.