| 運用 |  | |
基盤となるWindows 2000 Server自身のセキュリティ設定を行ったら、次はIISの各部の設定を行う。このガイドラインについては、やはりマイクロソフトの「IIS5ベースライン・セキュリティ・チェックリスト」という文書が詳しいので、これに沿って各種の設定を行っていくことにする。
ここでは以下の項目について解説するが、後述する「IIS Lockdown Tool」でも行える設定については、解説を簡略化した部分もある。
- 適切なアクセス権を仮想ディレクトリに設定する
- IISのログ・ファイルにアクセス権を設定する
- ログ収集を有効にする
- すべてのサンプル・アプリケーションを無効に、または削除する
- IISADMPWD 仮想ディレクトリを削除する
- 未使用のスクリプト・マッピングを削除する
■適切なアクセス権を仮想ディレクトリに設定する 
         マイクロソフトではおおよその目安として、ファイルの種類ごとに以下のようなアクセス権設定を行うように推奨している。ここでいう「アクセス権設定」とは、ファイルやフォルダ自体に設定するアクセス権のことである。すでに述べたとおり、以下のようなアクセス権を設定するには、ファイル・システムとしてNTFSを使用している必要がある。
| ファイルの種類 | Everyone | Administrators | SYSTEM | 
| CGI(.exe、.dll、.cmd、.pl) | R/W | F/C | F/C | 
| ASPスクリプト(.asp) | R/O | F/C | F/C | 
| インクルード・ファイル(.inc、.shtm、.shtml) | R/O | F/C | F/C | 
| 静的コンテンツ(.txt、.gif、.jpg、.html) | R/O | F/C | F/C | 
|  | |||
| 仮想ディレクトリに対する推奨されるアクセス権 | |||
| コンテンツのファイルが書き換えられたりしないように、各ファイルにこのようなアクセス権を設定しておく。 | |||
| アクセス権の意味:R/O=「読み取り専用(Read Only)」、R/W=「変更(Read/Write)」、F/C=「フル・コントロール(Full Control)」 | |||
また、ファイルの種類ごとにフォルダを分けて仮想ディレクトリを設定し、フォルダ単位で上記のようにアクセス権を設定するという方法もある。
なお、FTPを使用する際にデフォルトの公開対象となる「C:\inetpub\ftproot」フォルダについては、初期値ではアクセス権が「Everyone:フルコントロール」に設定されているので、これらについてもアクセス権を強化し、必要なユーザーだけがアクセスできるように設定するよう推奨されている。
理由は、このフォルダに対しては、ユーザーからの書き込みが可能になる場合があるためで、マイクロソフトでは、ユーザーに書き込みを許可する場合はIISと別のドライブに設定するか、あるいはクォータを用いて書き込み可能な総サイズを制限するように推奨している。
■ISのログ・ファイルに適切なアクセス権を設定する
        ■ログ収集を有効にする 
         IISは、ログを記録する方法として、ODBCデータベースに格納する方法と、テキスト形式(W3C拡張ログ形式―W3Cによって決められた、ログ・ファイルの標準的なフォーマット)のログ・ファイルに記録する方法を選択できる。後者の場合、出力先のフォルダは「%systemroot%\system32\LogFiles」となっている。
このフォルダに対して以下のアクセス権を設定し、管理者以外のユーザーにはアクセス許可を与えないようにする。
- Administrators―フル・コントロール
- System―フル・コントロール
- これ以外のアクセス権は削除する
なお、ログの形式として[W3C拡張ログ形式]を選択すると、以下に示したような項目のログ収集が可能になる。これらのログを解析することで、サーバに対する攻撃の有無などを確認できるので、必ずログは残すようにしておきたい。さもないと、外部から攻撃を受けているかどうかも判断することができないからだ。
| 項目 | 意味 | 
| クライアントIPアドレス(C-IP) | アクセスしてきたクライアント・マシンのIPアドレス | 
| ユーザー名(cs-username) | アクセスしてきたユーザーの名前 | 
| メソッド(cs-method) | GETやPOST、HEAD、PUTなど | 
| URI Stem(cs-uri-stem) | アクセスされたURI(例:/index.htmlなど) | 
| URIクエリ(cs-uri-query) | 検索文字列(URI中の'?'以降の部分) | 
| プロトコルの状態(sc-status) | 200とか404といった、HTTPのステータス(正常終了とかページが見つからないなどのエラーを表わす) | 
| Win32 の状態(sc-win32-status) | Windows関数のステータス | 
| ユーザー・エージェント(cs(User-Agent)) | ブラウザ識別用文字列 | 
| サーバIPアドレス(s-ip) | WebサーバのIPアドレス | 
| サーバー・ポート(s-port) | Webサーバのポート番号 | 
|  | |
| 記録される項目の例 | |
ログの形式を選択するには、[コントロールパネル]−[管理ツール]−[インターネット サービス マネージャ]を起動する。ここで、ツリーを展開してから設定対象となる[既定のWebサイト]上で右クリックし、[プロパティ]を選択する。
表示されたダイアログで[Web サイト]タブに移動し、[ログ収集を有効にする]をチェックした上で、[アクティブ ログ形式]で[W3C拡張ログファイル形式]を選択すればよい。
|  | ||||||||||||
| ログの収集の設定 | ||||||||||||
| ログの種類は「W3C拡張ログファイル形式」を選択し、出力先のフォルダに適切なアクセス権を設定する。 | ||||||||||||
| 
 | 
さらに、[プロパティ]をクリックして[拡張プロパティ]タブに移動すると、ログに記録する項目を選択できる。
|  | ||||||
| ログのプロパティ設定 | ||||||
| ログ・ファイルに記録する内容は、ユーザーが選択、設定することができる。 | ||||||
| 
 | 
■すべてのサンプル アプリケーションを無効にするか削除する 
         IISをインストールしたときには、以下のようなサンプル・ファイルがインストールされる。これらは実際のサーバ運用には必要ないものであり、セキュリティ・ホールとなる可能性もあるので、削除する必要がある。なお、これらのファイルの削除は、次ページで紹介する「IIS 
        Lockdown Tool」でも行える。
- IISサンプル:C:\inetpub\iissamples
- IISドキュメント:C:\winnt\help\iishelp
- データ・アクセス:C:\program files\common files\system\msadc
■未使用のスクリプト マッピングを削除する 
         IISでは、Webサーバで使用されるファイルに付けられるいくつかの拡張子に対して「スクリプト・マッピング」が設定されている。これは、スクリプト・マッピングが登録されている拡張子を持つファイルに対するリクエストがあると、IISがDLLを使ってその要求を処理するというものである。例えば「.shtml」という拡張子を持つファイルを要求すると、それはSSI(Server 
        Side Include―サーバ側でファイルをインクルードする機能)として処理するために、SSINC.DLLというDLLファイルが呼び出される。だが、使用していないファイル形式の拡張子に対するスクリプト・マッピングが有効になっていた場合、攻撃手段として使われる可能性がある。
そこで、使用していないファイル形式については、拡張子をスクリプト・マッピングの登録から削除する。特に、パスワードのリセットに使われる「.htr」については、必ずマッピングを削除する必要がある。
| 削除できる機能 | 対応する拡張子 | 
| パスワードのリセット | .htr | 
| インターネット・データベース・コネクタ(IDC) | .idc | 
| SSI | .stm、.shtm、.shtml | 
| インターネット印刷 | .printer | 
| インデックス・サービス | .htw、.ida、.idq | 
|  | |
| 不要なら削除する必要があるスクリプト・マッピングの一覧 | |
| これらのスクリプト・マッピングはセキュリティ・ホールとなるため(これらを狙うウイルス・プログラムも多い)、必要でないマッピングは削除しておくこと。 | |
この作業は、次項で紹介する「IIS Lockdown Tool」でも行えるが、手作業で削除することもできる。
まず[コントロールパネル]の[管理ツール]−[インターネット サービス マネージャ]を起動する。ここで、ツリーを展開してから設定対象となる[既定のWebサイト]上で右クリックし、[プロパティ]を選択する。
|  | ||||||
| スクリプト・マッピングの削除(1) | ||||||
| 不要なスクリプト・マッピングを削除するには、[既定のWebサイト]の[プロパティ]を選択し、[ホーム ディレクトリ]タブに移動する。 | ||||||
| 
 | 
表示されたダイアログで[ホーム ディレクトリ]タブに移動し、[アプリケーションの設定]グループの中にある[構成]をクリックすると、スクリプト・マッピングの一覧が表示される。ここで、不要なものをクリックして選択してから[削除]をクリックすればよい。
|  | |||||||||
| スクリプト・マッピングの削除(2) | |||||||||
| IISで取り扱うファイルは静的な.htmlファイルだけではない。デフォルトではさまざまな拡張子に対して特別な処理を行う設定になっているが、これがセキュリティ・ホールとなることがある。そのため、不要なスクリプト・マッピングはすべて削除しておく。 | |||||||||
| 
 | 
■IISADMPWD 仮想ディレクトリを削除する 
         Windows NTでIIS4を使用していたマシンをWindows 2000に上書きアップグレードした場合、パスワードのリセットを可能にする「IISADMPWD」という仮想ディレクトリが残る。これはパスワード管理に危険を及ぼす可能性があるので、削除する。Windows 
        2000 Serverを新規にセットアップした場合は、この仮想ディレクトリは存在しない。
| 関連リンク | |
| Microsoftセキュリティ | |
| Microsoft TechNet セキュリティ情報一覧 | |
| マイクロソフト プロダクト・セキュリティ警告サービス | |
| セキュリティ・ツールとチェックリスト | |
| IIS Lockdown Tool | |
|  |  | 
| INDEX | ||
| [運用]IIS安全対策ガイド | ||
| 1.Windows 2000とIISのインストール | ||
| 2.最新のService PackとSRPの適用 | ||
| 3.必要な修正プログラムの確認と組み込み | ||
| 4.Windows 2000 Serverシステムの基本セキュリティ設定 | ||
|  | 5.IIS5の基本セキュリティ設定 | |
| 6.IIS Lockdown ToolとURLScanの導入 | ||
|  | ||
|  | 運用 | 
- Azure Web Appsの中を「コンソール」や「シェル」でのぞいてみる (2017/7/27)
 AzureのWeb Appsはどのような仕組みで動いているのか、オンプレミスのWindows OSと何が違うのか、などをちょっと探訪してみよう
- Azure Storage ExplorerでStorageを手軽に操作する (2017/7/24)
 エクスプローラのような感覚でAzure Storageにアクセスできる無償ツール「Azure Storage Explorer」。いざというときに使えるよう、事前にセットアップしておこう
- Win 10でキーボード配列が誤認識された場合の対処 (2017/7/21)
 キーボード配列が異なる言語に誤認識された場合の対処方法を紹介。英語キーボードが日本語配列として認識された場合などは、正しいキー配列に設定し直そう
- Azure Web AppsでWordPressをインストールしてみる (2017/7/20)
 これまでのIaaSに続き、Azureの大きな特徴といえるPaaSサービス、Azure App Serviceを試してみた! まずはWordPressをインストールしてみる
|  | |
| 
 | |
|  | 

 











