|
5.2 アプリケーションのセキュア化
|
||
| 前のページへ | ||
IIS 5.0ではWebコンテンツの格納用として、デフォルトで「C:\inetpub」フォルダが作成される。この状態でWebサービスを提供することは、外部からWebブラウザ越しでシステムドライブ(Cドライブ)の一部にアクセスを許可している状態である。この状態でWebの脆弱性が発生した場合、本来アクセスできない上位のディレクトリへのアクセスが可能になってしまう危険性がある。
参考資料
情報処理振興事業協会 セキュリティセンター(IPA/ISEC)
「IIS が不要な URL デコード処理を行っていることによってコマンドを実行されうる問題について」
http://www.ipa.go.jp/security/ciadr/vul/200105iisurldecode.html
参考資料で解説しているような不正アクセスによりURLチェックをパスしてしまった場合の被害を最小限にとどめるため、本モデルでは、Webコンテンツの格納フォルダを異なるドライブ(CドライブからDドライブへ)に設定する。Inetpubの設定は、ア)とイ)で実施する。
デフォルトのWebコンテンツルートであるCドライブ配下に存在する「inetpub」フォルダをDドライブの配下にコピーする。この状態で、「C:\inetpub」と「D:\inetpub」が存在し、どちらのディレクトリも同じ内容のコンテンツを含んでいることになる。
「管理ツール」より「インターネット サービス マネージャ」を起動し、左ペインのコンピュータ名(例ではtest)をダブルクリックし、「既定のWebサイト」を選択する(Fig. 5.30)。

Fig. 5.30 IIS設定ツール
「既定のWebサイト」のプロパティを開き、「ホームディレクトリ」タブを選択し、中段の「ローカルパス」を「C:\inetpub\wwwroot」から「D:\inetpub\wwwroot」に変更する(Fig. 5.31)。

Fig. 5.31 IISのホームディレクトリ設定
「既定のWebサイトのプロパティ」を「OK」ボタンをクリックして閉じる。この設定後、元のコンテンツルートのフォルダ(C:\inetpub)を削除する。本モデルでは、コンテンツルート(C:\inetpub)のフォルダをDドライブへコピーしたが、異なるドライブにコンテンツルートのフォルダを新規に作成し、設定してもよい。その場合も、元のコンテンツルートは削除する。
「ア) Inetpubの変更」の設定により、Scriptsのローカルパスも変更する必要がある。「インターネット サービス マネージャ」の左ペインから「Scripts」を選択する(Fig. 5.32)。

Fig. 5.32 「Scripts」の選択画面
「Scripts」のプロパティを開き、「inetpub」ディレクトリの設定と同様に、ドライブをCからDに変更する。ここでは、ダイアログボックスの「ローカルパス」を「D:\inetpub\scripts」に変更する(Fig. 5.33)。

Fig. 5.33 「Scripts」のローカルパス変更
IIS 5.0には仮想フォルダ機能があり、さまざまな場所に存在するフォルダを1つのWebルートディレクトリ下に存在するかのように設定することができる。デフォルト状態のIIS 5.0には複数の仮想フォルダが作成されているが、それらはサンプル用に作成されているもので、本モデルでは、システム運用上不要であるので削除する。
ここでは、仮想フォルダ「IISSamples」を削除する方法を解説する。「インターネット インフォメーション サービス」の左ペインから削除する仮想フォルダを選択し、「削除」を実行する(Fig. 5.34)。

Fig. 5.34 「IISSamples」仮想フォルダの削除
「削除」を実行後、削除を確認するダイアログが表示されるので、「はい」を選択する。
Table 5.9に示した仮想フォルダは、システム運用上、不要なため削除する。削除方法は、「ア) 仮想フォルダの削除方法」を参照する。
Table 5.9 削除する仮想フォルダ一覧
| 削除する仮想フォルダ |
| IISHelp |
| IISSamples |
| MSADC |
| Printers |
IIS 5.0にはISAPIエクステンションがインストールされている。これは、ユーザからのURLリクエストをダイナミックリンクライブラリに入力し、処理された結果をユーザに返す、という一連の動作を提供し、Webサーバーの機能拡張を実現している。また、IISでは、入力の種類によって処理をするDLLがデフォルトで設定されており、この設定をマッピングという。
このIIS 5.0のISAPIエクステンションはWebサーバーにさまざまな機能を持たせることができる反面、処理をするDLLに脆弱性が存在した場合、不正なURLリクエストによってWebサーバー上で任意の操作が行えるなどの危険性がある。この種の危険性からWebサーバーを守るために、本モデルではマッピングを全て削除する。マッピングの削除方法をア)に示す。
Webサーバーに潜む脆弱性(IIS 5.0 Index Service ISAPI バッファオーバーフロー)2001年6月頃、IISがサポートするISAPI(Internet Server Application Programming Interface)エクステンションの1つである、「idq.dll」にバッファオーバーフローの脆弱性が存在することが報告された。この脆弱性を抱えたWebサーバーは、リモートから任意のコードを実行されてしまう危険性がある。 Webサーバー上で、Index Serviceを提供していなくても、「.idq」または「.ida」ファイルへのスクリプトマッピングの設定が有効である場合に問題が発生してしまう。また、デフォルトインストール状態だと、これらのマッピングは有効に設定されているので、そのような状態のWebサーバーは注意が必要である。 ベンダーからリリースされているパッチを導入するかマッピングを削除することで、この脆弱性への対策が可能である。ベンダーのパッチ入手先と情報を下記に記す。 CERT Advisory CA-2001-13 Microsoft Security Bulletin MS01-033 情報処理振興事業協会 セキュリティセンター(IPA/ISEC)
|
「管理ツール」より「インターネット サービス マネージャ」を起動し、「既定のWebサイト」のプロパティを開く。「既定のWebサイトのプロパティ」ダイアログボックスの「ホームディレクトリ」タブを選択する(Fig. 5.35)。

Fig. 5.35 既定のWebサイトの「ホームディレクトリ」設定
下段の「構成」ボタンをクリックし、Fig. 5.36の「アプリケーションの構成」ダイアログの「アプリケーションのマッピング」一覧から全てのマッピングを選択して削除する(注1)。

Fig. 5.36 アプリケーションのマッピング一覧
| (注1) | アプリケーションのマッピングを削除するには、注意が必要である。システム運用上、アプリケーションのマッピングを利用している場合は、マッピングの削除によりWebサーバーで提供している拡張機能が無効化されてしまう。 |
Windows 2000 Serverのセキュア化と同様にWebコンテンツの格納ディレクトリにも適切なACLを適用する必要がある。ここではデフォルトWebコンテンツルート(inetpub)のACLを設定する。InetpubのACL設定をア)とイ)で実施する。
「5.1.2 セキュア化のための設定」の「ア) ユーザーの追加」でのアクセス許可設定と同じように、Webコンテンツのルートディレクトリのアクセス権限を設定する。設定方法は、エクスプローラもしくはマイコンピュータからデフォルトWebコンテンツルート(Inetpub)(例ではD:\inetpub)のプロパティを開き、「セキュリティ」タブを選択する(Fig. 5.37)。

Fig. 5.37 Inetpubのアクセス権限設定
ダイアログボックス上段の「追加」ボタンをクリックし、「Authenticated User」を追加する。各ユーザのアクセス権が、Table 5.10のようになっていることを確認する。Table 5.10の値と異なる場合は、Webルートディレクトリが存在するドライブのユーザ権限設定を確認する。設定に関しては、「5.1.2 セキュア化のための設定」を参照する(注2)。
Table 5.10 ユーザのアクセス権限
| ユーザ | アクセス権 |
| Administrators | フルコントロール |
| Authenticated User | 読み取りと実行 |
| SYSTEM | フルコントロール |
| (注2) |
Webサーバーに関連するアクセス制御には、IIS(Webサーバー)のアクセス制御とNTFSのアクセス制御の2種類があり、それぞれ異なる意味を持っている。IISのアクセス制御は、Fig. 5.35のダイアログ(「スクリプトソースアクセス」や「読み取り」などのチェックボックス)にて設定可能で、Webサーバーの場合、Webサーバーへアクセスしてくるすべてのユーザに、設定したアクセス権が一律に適用される。NTFSのアクセス制御の場合、ディレクトリまたはファイルにアクセスできる操作を、厳密に定義できる。また、ディレクトリやファイルごとに、2つのアクセス制御の権限が異なる場合は、厳しい方の設定が適用される。 |
デフォルト状態のIIS 5.0では、親パスオプションが有効であり、MapPath関数(入力された相対パスや仮想パスを、サーバー上の対応する物理ディレクトリにマップする関数)などの呼び出しに「..」を使うことができる。この場合、「..」を利用した不正アクセス時に、本来非公開のフォルダやファイルにアクセスが可能になる危険性があるので、この設定を無効化する。デフォルト状態のIIS 5.0ではこのオプションが有効になっているため、これを無効にする。
「管理ツール」より「インターネット サービス マネージャ」を起動し、「既定のWebサイト」のプロパティを開く。「既定のWebサイトのプロパティ」ダイアログボックスの「ホームディレクトリ」タブを選択する(Fig. 5.38)。

Fig. 5.38 既定のWebサイトの「ホームディレクトリ」設定
下段の「構成」ボタンをクリックし、「アプリケーションの構成」ダイアログボックスの「アプリケーションのオプション」タブの「親のパスを有効にする」のチェックボックスのチェックを外す(Fig. 5.39)。

Fig. 5.39 親パスの無効化
外部からのアクセスを受け入れているWebサーバーは、常に不正アクセスの危険にさらされている。不正アクセス対策を実施する方法はいくつかあるが、その1つとして、Webサーバーのアクセスログを解析し、アクセスの頻度、アクセス内容などから不正アクセスの兆候をとらえる方法がある。
IIS 5.0は詳細なログを記録できるW3C拡張ログ形式に対応しており、記録する内容をカスタマイズすることができる。本モデルでは、IIS 5.0のログ記録にW3C拡張ログ形式でログ出力を行う(注3)。また、ログの運用に関しては「8.2.1 ログの運用」を参照する。
| (注3) | W3C 拡張ログ形式の仕様の詳細については、W3C のサイトを参照する。 http://www.w3.org/ |
「管理ツール」より「インターネット サービス マネージャ」を起動し、「既定のWebサイト」のプロパティを開く。「既定のWebサイトのプロパティ」ダイアログボックスの「Webサイト」タブを選択する(Fig. 5.40)。

Fig. 5.40 既定のWebサイトのログ設定
Fig. 5.40のダイアログボックスで、以下のような設定を実施する。
IIS 5.0では、「アクティブログ形式」の「プロパティ」をクリックし、「拡張プロパティ」タブでログに記録する内容を選択できる(Fig. 5.41)。どのような内容をログに記録するかは運用環境によって異なるが、本モデルでは、Table 5.11に記したプロパティ値を有効にする。
Table 5.11 W3C拡張ログのフィールド
| フィールド名 | 内容 |
| 日付 | アクセスのあった日付 |
| 時間 | アクセスのあった時刻 |
| メソッド | HTTPの場合、GET/POSTなどのHTTPコマンド |
| URI Stem | HTTPの場合、リクエストのあったリソース名(index.htmlなど) |
| URI クエリ | HTTPの場合、CGI等を呼び出しだ際のクエリ部分 |
| プロトコルの状態 | HTTPの場合、応答コード等HTTP関連の処理の状態 |
| プロトコルバージョン | クライアントが使用したプロトコルのバージョン |
| ユーザーエージェント | クライアントが使用したブラウザの情報 |
| クライアント IP アドレス | サーバーにアクセスしたクライアントの IP アドレス |
| ユーザー名 | サーバーにアクセスした、認証されているユーザー名。匿名ユーザーは含まれない |
| Win32の状態 | IISが稼動しているWindows 2000の処理の状態 |
| サーバーIPアドレス | ログ エントリが生成されたサーバーの IP アドレス |
| サーバーポート | クライアントが接続したポート番号 |

Fig. 5.41 拡張ログオプションのダイアログボックス
記録したログが改ざん、あるいは消去されるのを防ぐため、IIS 5.0が生成するログのアクセス権限をTable 5.12のように設定する。また、ログ保管場所は、任意に設定することが可能であるが、本モデルでは、デフォルトで設定される保管場所でログファイルを扱う。
ログの場所:%SYSTEMROOT%\SYSTEM32\LogFiles
(例 C:\WINNT\SYSTEM32\LogFiles)
Table 5.12 ユーザのアクセス権限
| ユーザ | アクセス権 |
| Administrators | フルコントロール |
| SYSTEM | フルコントロール |
IIS Lockdown Wizard ツールMicrosoft社から、IISで構築したWebサーバーのセキュア化を簡単に行なうためのツール「IIS Lockdown Wizard」がリリースされている。このツールは、サーバーの使用用途や製品に対応しており、ウィザード形式で自身のIISサーバーをセキュア化することができる。 IIS Lockdown ツール入手先: また、このようなMicrosoft社のツール以外にも、インターネット上には、IISセキュア化の資料や、Webサイトにアクセスすることで自身のWebサーバーのセキュア化の度合を計測するようなサービスなども提供されている。これらの情報やツールを有効利用することで、IISのセキュア化を実施することも可能である。
|
| IIS インストール |
第5章の目次
|
第6章目次
|
Copyright © 2002 Information-technology Promotion Agency, Japan. All rights reserved.