IIS安全対策ガイド・インターネット編インターネット・サービス向けIIS設定ガイド(6/9 ページ)

» 2002年06月29日 00時00分 公開
[井上孝司,]

Webコンテンツ・ファイルに対するアクセス権を強化する

 Webコンテンツを構成するファイルとしては、HTML文書やGIF画像、JPEG画像のように静的な内容のものと、ASPやCGI実行ファイルのように、プログラム実行操作を伴うものがある。当然、後者の方が不正利用された場合の危険性が大きいという点に留意する必要がある。

 そのため、より安全性を高めるという観点からは、静的なコンテンツと実行操作を伴うコンテンツで保管先のフォルダを分け、NTFSのアクセス権設定機能を使って、個別に最適なアクセス権を設定するのが望ましい。また、インターネットサービスマネージャに表示される[既定のWebサイト]のプロパティ画面でも、[ホームディレクトリ]タブで、スクリプトや実行形式ファイルの実行許可を設定できる。

 なお、フォルダに対してアクセス権を設定するには、フォルダのプロパティ画面で[セキュリティ]タブに移動し、まず上位オブジェクトからの継承を切っておく必要がある。

フォルダのプロパティ設定画面
ここでは「C:\Inetpub\wwwroot」フォルダに対してアクセス権の設定を行っているが、ファイルの種類別にフォルダを分ける場合は、この下にサブフォルダを作成し、それに対してアクセス権を設定することになる。
 (1)アクセス権設定の対象となるユーザー/グループのリスト。クリックして選択されたユーザー/グループに対するアクセス権が(2)に表示される。
 (2)(1)で選択されたユーザー/グループに対するアクセス権の設定。チェックがオンになっているものが許可された権限で、個別に許可する設定だけでなく、明示的に権限の行使を拒否する設定もできる。許可と拒否が競合した場合、拒否が優先される。
 (3)このチェック・ボックスはデフォルトではオンになっていて、親(この場合は「C:\inetpub」フォルダ)のアクセス権を継承している。最初に、このチェック・ボックスをオフにして継承を切らなければ、このフォルダに固有のアクセス権設定はできない。
 (4)アクセス権設定対象となるユーザー/グループを一覧に追加するには、ここをクリックする。
 (5)アクセス権設定対象となるユーザー/グループを一覧から削除するには、削除対象となるユーザー/グループを一覧でクリックしてから、ここをクリックする。

 このアクセス権設定はNTFSファイル・システムそのものに対する設定であるが、これとは別にIIS側でもアクセス権を設定することができる。

[既定のWebサイト]のプロパティ・ダイアログにある[ホームディレクトリ]タブ
ここでは、IISのWebサーバ機能が公開するコンテンツの配置されたフォルダの指定や、そのフォルダに対するスクリプトや実行形式ファイルの実行許可、アクセス権を設定する。
 (1)ここで指定されたフォルダが、コンテンツが配置される最上位フォルダとなる。
 (2)ここでアクセス権の種類を設定する。ただしここで設定されるアクセス権は、あくまでWebサーバとしてのIISを介した場合に有効になるもので、ローカルファイルとしてのアクセスに対しては無関係である点に注意。
 (3)ここで、スクリプトと実行形式ファイルに対する実行権限を指定する。デフォルトは[スクリプトのみ]。

 次に、コンテンツの分類ごとにフォルダに設定するアクセス権と、実際の設定画面例を示す。

■HTML、GIF、JPEGなどの静的コンテンツ:

  • IISのアクセス権設定を[読み取り]のみに設定
  • ファイル/フォルダのアクセス権を次のように設定
ユーザー・グループ アクセス権
Administrators フルコントロール
SYSTEM フルコントロール
Web Anonymous Users 読み取りを許可、書き込みを拒否

■ASPファイル:

  • IISの実行アクセス権設定を[スクリプト]のみに設定
  • ファイル/フォルダのアクセス権を次のように設定
ユーザー・グループ アクセス権
Administrators フルコントロール
SYSTEM フルコントロール
Web Anonymous Users 読み取りを許可、書き込みを拒否

■*.exe、*.cmd、*.pl、*.shtml、*.shtmファイル:

  • IISの実行アクセス権設定を、必要に応じて[スクリプト]あるいは[スクリプトおよび実行可能ファイル]に設定
  • ファイル/フォルダのアクセス権を次のように設定
ユーザー・グループ アクセス権
Administrators フルコントロール
SYSTEM フルコントロール
Web Anonymous Users 読み取りを許可、書き込みを拒否

 このように設定することで、一歩間違うとセキュリティ問題を生む原因になる、Webサーバ上でのスクリプトや実行形式ファイルの動作を厳格に制限し、不慮の事故の発生を予防する。

スクリプトなどが使用するデータの配置場所に注意
 
スクリプトや実行形式ファイルが何らかのデータの入出力を伴う場合、それらが取り扱うデータが同じWebサーバ上に置かれる場合がある。理想的な方法は、専用のDBMS(データベース管理システム)が動作するサーバを別に設置することだが、それが難しい場合は、データ・ファイルが配置されるフォルダを「C:\Inetpub」のサブフォルダではなく、それとは別の場所に配置するようにしたい。

 例えば、ASPとADOを使用してAccessデータベースを操作するようなWebコンテンツを作成した場合、Accessのデータベース・ファイル(*.MDBファイル)を配置する必要があるが、そのファイルを「C:\inetpub\wwwroot」の下ではなく、それとは別のフォルダに配置する(こうした配慮を怠り、CGI用のパスにデータ・ファイルを同居させた結果として、個人情報の漏洩事件が多発しているのはご存じの通りだ)。

 こうすることで、万一、WebサーバやFTPサーバのセキュリティ・ホールを突かれてWebサーバの公開用フォルダ「C:\inetpub\wwwroot」に不正侵入されても、Webサーバの運用に必要とされる重要なデータが外部へ漏えいする危険性を、多少なりとも低減させることができる。もしもC:\Inetpubの下に置かれていると、パスを直接指定するなどして、(アクセス権を付け忘れていると)そのデータ・ファイルを読み取られてしまうかもしれないからだ。


コンピュータ名をFQDNに変更する

 Windows 2000 Serverをセットアップした際に指定したコンピュータ名は、NetBIOS名を指定するためのものである。そのため、「SERVER01」「SERVER02」というように、単純な命名がなされている。しかし、インターネットに接続されるホストは所属を明示するため、ドメイン名を含んだ、いわゆるFQDN(Fully Qualified Domain Name : 完全修飾ドメイン名)を設定する必要がある。

 Active Directoryドメインに参加しているWindows 2000マシンは、コンピュータ名として、ドメイン名が付加されたFQDNが自動的に設定されるが、一般的にスタンドアロン・サーバとして運用するインターネット向けのWebサーバでは、これがNetBIOS名のままになってしまう。

 実際には、DNSサーバが正しく設定されていれば接続することは可能だが、できればFQDNを設定して、DNSのAレコード(名前とそのIPアドレスを定義するレコード)との整合性を取っておく方が好ましい。

 コンピュータ名をFQDNで設定するには、次のようにする。デスクトップ上にある[マイコンピュータ]を右クリックし、[プロパティ]を選択する。そして[ネットワークID]タブに移動する。[フルコンピュータ名]に表示されている名前は、Windows 2000 Serverのセットアップ時に指定されたNetBIOS名になっているはずだ。

[ネットワークID]タブの表示例
ここでは動作中のコンピュータに設定されているNetBIOSコンピュータ名、あるいはFQDNの情報を確認できる。初期状態では、ドメイン名のサフィックスを含まない、NetBIOSコンピュータ名になっている。
 (1)「ARTEMIS」という名前が表示されているが、これはドメイン名を含まないNetBIOS名である。
 (2)ここをクリックすると、FQDNに変更できる。

 次にこのダイアログで[プロパティ]をクリックし、[識別の変更]ダイアログで[詳細]をクリックすると次のダイアログが表示される。

[DNSサフィックスとNetBIOSコンピュータ名]ダイアログ
ここでは「artemis.d-advantage.jp」というFQDNを設定しようとしている。
 (1)これはNetBIOS名で表現したコンピュータ名。ここでは「artemis」になっている。
 (2)ここで指定した文字列がNetBIOS名の後ろに付加するドメイン名になる。もし、サブドメイン名を含んだFQDNを設定する場合は、プライマリDNSサフィックスとして、サブドメイン名を含んだドメイン名を指定する。この例では「d-advantage.jp」と記述しているので、最終的なFQDNは「artemis.d-advantage.jp」となる。

 以上の設定を済ませて[OK]をクリックし、メッセージに従ってコンピュータを再起動すると、設定したFQDNが有効になる。再起動後に、もう一度[マイコンピュータ]のプロパティ画面で[ネットワークID]タブに移動して、設定結果を確認しておこう。また、コマンド・プロンプト上で「ipconfig /all」コマンドを実行しても、確認することができる(Primary DNS Suffixフィールドに表示される)。

Copyright© Digital Advantage Corp. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。