Web コンテンツの改ざんに対する防御策についての説明
Internet Information Server をご利用いただいているお客様へ
最終更新日: 2001年9月12日
更新履歴
トピック
はじめに
以下の公的機関にて公開されているように、日本で稼動している Web サーバーへのコンテンツの書換え (改ざん) 攻撃が多発しております。
http://www.ipa.go.jp/security/ciadr/webjack_a.html
http://www.npa.go.jp/cyber/
弊社製 Web サーバーである Internet Information Server および Internet Information Services (以下 IIS) をご使用のお客様からもコンテンツの改ざんの被害を受けたとのご連絡を受けております。
このような問題は、弊社製品のセキュリティ上の脆弱性や、管理者アカウントに対するパスワードの設定、書き込みアクセス権や、不要な機能を無効にしていないなどの設定不備が起因となっています。
マイクロソフトでは以前より、既に確認されているセキュリティ上の脆弱性の詳細とその対策をお客様にご理解いただくために、セキュリティ情報および修正プログラムを提供しております。また、このような被害に遭わないためのチェックリストも公開しております。
本文書では、IIS を悪意のあるユーザーによる攻撃から守るための防御策について、必要最低限の設定を改めて説明しておりますので、是非ご一読いただきセキュアなサイト運営のためにご活用ください。
注意 : 本文書は、IIS のコンテンツ改ざんに対する防御策についてのみ説明いたしております。サーバーへの過剰なリクエストを行う DoS (Denial of Service) 攻撃や、不正なパケットを送出しサーバーを停止させるサービス不能攻撃などに関しましては、次のセキュリティ情報ページをご確認ください。
http://www.microsoft.com/japan/technet/security/
セキュリティ上の脆弱性に関連する情報と関連する修正プログラムの入手先情報の一覧は、次のページをご確認ください。
http://www.microsoft.com/japan/technet/security/current.aspx
また、上記のセキュリティ関連技術情報の最新情報を電子メールでお知らせする「マイクロソフト プロダクト セキュリティ 警告サービス 日本語版」をぜひご活用ください。詳細は次のページをご確認ください。
http://www.microsoft.com/japan/technet/security/bulletin/notify.mspx
Windows 2000 Server/Windows 2000 Advanced Server (IIS 5.0) の場合
Step 1. サービスパックの適用
オペレーティングシステムに対して Windows 2000 Service Pack 1 以降を適用してください。
Windows 2000 Service Pack 1 の適用が行われているかを確認するためには、以下の手順で行ってください。
1. | スタートボタン上で右クリックし、エクスプローラを起動します。 |
2. | [ヘルプ] メニューの [バージョン情報] を表示します。 |
メモ : Windows 2000 Service Pack 2 には、MS00-086 のセキュリティホールに対する修正が含まれています。Windows 2000 Service Pack 2 を適用される場合は、「Step 2. セキュリティパッチの適用」の手順にあります MS00-086 の適用は必要ありません。
Windows 2000 Service Pack 2 の入手方法に関しては下記をご参照ください。
http://www.microsoft.com//windows2000/downloads/servicepacks/sp2/sp2ja.mspx
Step 2. セキュリティパッチの適用
オペレーティングシステムに応じた上記 Service Pack を適用した後に下記のセキュリティパッチを適用してください。このページには MS00-086 のセキュリティホールの詳細説明に加えてパッチモジュールの入手方法も記されています。
MS00-086:「Web サーバーによるファイル要求の解析」の脆弱性に対する対策
このパッチモジュールを適用することで、以下のファイルが更新されます。インストールプログラムの実行後、修正モジュールの適用状況の確認にご使用ください。
日付 時刻 バージョン サイズ ファイル名
------------------------------------------------------
%systemroot%\system32 以下に格納されるファイル
12/01/2000 10:48a 5.0.2195.2785 122,640 Iisrtl.dll
%systemroot%\system32\inetsrv 以下に格納されるファイル
12/01/2000 10:48a 5.0.2195.2784 357,136 W3svc.dll
MS01-044 では、現在 (2001 年 8 月) までリリースされた IIS 5.0 用の全てのセキュリティに関する修正プログラムが含まれています。MS01-044 を適用済みの場合、MS00-086 を再適用いただく必要はありません。
MS01-044: 2001 年 8 月 15 日 IIS 用の累積的な修正プログラム
このパッチモジュールを適用することで、マシンに次のレジストリ キーが作成されます。
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Updates\Windows 2000\SP3\Q301625.
また、各ファイルを確認するためには、次のレジストリ キーで、日付、時間そしてバージョン情報を参照して下さい。
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Updates\Windows 2000\SP3\Q301625\Filelist.
Step 3. MDAC の RDS 機能の抑止
Windows 2000 には、MDAC 2.5 が含まれており、インストールを行う時点で RDS のセーフモードに対応した製品が利用可能です。しかしながら、RDS の機能を利用していないお客様の環境では、以下の内容に従って RDS を無効に構成することをお勧めいたします。
1. | /msadc 仮想ディレクトリをデフォルトの Web サイトから削除する。 |
2. | 次のレジストリ キーを、IIS をホストしているサーバーから削除する。
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W3SVC
\Parameters\ADCLaunch\RDSServer.DataFactory
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W3SVC
\Parameters\ADCLaunch\AdvancedDataFactory
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W3SVC
\Parameters\ADCLaunch\VbBusObj.VbBusObjCls
|
Step 4. Windows 2000 の設定
| • | Administrator アカウント名を変更する。 Administrator のアカウント名を変更することで、ハッカーに対してアカウントの特定をさせないという意味合いからも効果的です。 |
| • | 全てのユーザーアカウントのパスワードを再設定する。 9 文字以上に設定してください。Windows 2000 のパスワードのハッシュ作成方法の特性から、8 文字以下の場合よりもパスワードの解析が大幅に困難になります。また、先頭の 7 文字の中には英字以外の記号を使用してください。この作業はサーバーのファイルシステムに書き込み権限があるユーザー全てに対して行ってください。 |
| • | 付属の Hisecweb.inf セキュリティ テンプレートを確認、更新、および配備する。 Hisecweb.inf という名前のセキュリティ テンプレートが、ほとんどの安全な Web サイトに使用できるベースラインとして添付されています。このテンプレートは、Windows 2000 システム全体の基本的なポリシーを構成します。 Hisecweb.inf は、次のサイトからダウンロードできます。 http://download.microsoft.com/download/win2000srv/SCM/1.0/NT5/EN-US/hisecweb.exe このテンプレートを使用するには、次の手順を実行します。 1. | テンプレートを %windir%\security\templates ディレクトリにコピーします。 "%windir%" ディレクトリは、Windows 2000 のシステムが含まれるディレクトリを指しています。(デフォルト: WINNT) | 2. | セキュリティ テンプレート ツールを開き、設定に目を通します。 1. | "セキュリティ テンプレート" を既存のコンソールに追加するのか、新規コンソールを作成するのかを決めます。 | • | 新規コンソールを作成するには、[スタート] ボタンをクリックし、[ファイル名を指定して実行] をクリックします。次に、「mmc」と入力し、[OK] をクリックします。 | | • | "セキュリティ テンプレート" を既存のコンソールに追加するには、次の手順に進みます。 |
| 2. | [コンソール] メニューの [スナップインの追加と削除] をクリックし、[追加] をクリックします。 | 3. | [セキュリティ テンプレート] を選択し、[追加] をクリックします。次に、[閉じる] をクリックし、[OK] をクリックします。 | 4. | [コンソール] メニューの [名前を付けて保存] をクリックします。 | 5. | このコンソールに割り当てる名前を入力し、[保存] をクリックします。 |
注 : コンソールは [スタート] メニューの [管理ツール] に追加されます。 | 3. | セキュリティの構成と分析ツールを開きます。 1. | "セキュリティの構成と分析" を既存のコンソールに追加するのか、新規コンソールを作成するのかを決めます。 | • | 新規コンソールを作成するには、[スタート] ボタンをクリックし、[ファイル名を指定して実行] をクリックします。次に、「mmc」と入力し、[OK] をクリックします。 | | • | "セキュリティの構成と分析" を既存のコンソールに追加するには、次の手順に進みます。 |
| 2. | [コンソール] メニューの [スナップインの追加と削除] をクリックし、[追加] をクリックします。 | 3. | [セキュリティの構成と分析] を選択し、[追加] をクリックします。次に、[閉じる] をクリックし、[OK] をクリックします。 | 4. | [コンソール] メニューの [名前を付けて保存] をクリックします。 | 5. | このコンソールに割り当てる名前を入力し、[保存] をクリックします。 |
注 : コンソールは [スタート] メニューの [管理ツール] に追加されます。 | 4. | "セキュリティの構成と分析" で右クリックし、[データベースを開く] コンテキストメニューを選び、新規のデータベースを任意のディレクトリに作成します。 この時、テンプレートファイルを要求されますので、"Hisecweb.inf" を選択します。 | 5. | セキュリティの構成と分析ツールで右クリックし、コンテキスト メニューから [コンピュータの分析] を選択します。 | 6. | 処理が完了するまで待ちます。 | 7. | 分析結果を調べ、必要に応じてテンプレートを更新します。 | 8. | テンプレートに問題がないようであれば、セキュリティの構成と分析ツールで右クリックし、コンテキスト メニューから [コンピュータの構成] を選択します。 |
|
| • | Telnet サーバーを保護する。 Windows 2000 に搭載されている Telnet サーバーを使用する場合は、サービスにアクセスできるユーザーを限定する必要があります。そのためには、次の手順を実行します。 1. | ローカル ユーザーとグループ ツールを開きます。 | 2. | [グループ] ノードを右クリックし、コンテキスト メニューから [新しいグループ] を選択します。 | 3. | [グループ名] ボックスに TelnetClients と入力します。 | 4. | [追加] をクリックし、コンピュータへの Telnet アクセスを与えるユーザーを追加します。 | 5. | [作成] をクリックし、[閉じる] をクリックします。 |
TelnetClients グループが存在する場合、Telnet サービスはこのグループに定義されたユーザーにのみサーバーへのアクセスを許可します。 |
| • | IPSec ポリシーを構成する。 各 Web サーバーに Internet Protocol Security (IPSec) パケット フィルタリング ポリシーを設定することを真剣に考える必要があります。このポリシーは、ファイヤウォールが破られたときのための特別レベルのセキュリティを提供します。複数レベルのセキュリティ技術を組み合わせることでよりセキュアなサイトを構築できると考えられています。 一般に、特にサポートすることを考えていない TCP/IP プロトコルや、開くことを考えていないポートは、すべてブロックする必要があります。IPSec ポリシーは、IPSec 管理ツールまたはリソースキットに付属する IPSecPol コマンド ライン ツールを使って配備できます。 |
Step 5. IIS の設定
| • | 仮想ディレクトリに適切な ACL (Access Control List) を設定する。 この手順は若干アプリケーションに依存するところもありますが、だいたい以下の表に示されたとおりに適用できます。 CGI (.exe, .dll, .cmd, .pl) | Everyone (読み取りと実行)
Administrators (フル コントロール)
System (フル コントロール) | スクリプト ファイル (.asp) | Everyone (読み取りと実行)
Administrators (フル コントロール)
System (フル コントロール) | インクルード ファイル (.inc, .shtm, .shtml) | Everyone (読み取りと実行)
Administrators (フル コントロール)
System (フル コントロール) | 静的なコンテンツ (.txt, .gif, .jpg, .html) | Everyone (読み取り)
Administrators (フル コントロール)
System (フル コントロール) |
|
| • | ログの記録を有効にする。 サーバーが攻撃されているかどうかを確認するときに最も重要なのは、ログの記録です。次の手順に従って、W3C Extended ログ形式を使用する必要があります。 1. | インターネット サービス マネージャをロードします。 | 2. | 問題のサイトを右クリックし、コンテキスト メニューから [プロパティ] を選択します。 | 3. | [Web サイト] タブをクリックします。 | 4. | [ログを収集する] チェック ボックスをオンにします。 | 5. | [アクティブ ログ形式] ドロップダウン リストから [W3C 拡張ログ ファイル形式] を選択します。 | 6. | [プロパティ] をクリックします。 | 7. | [拡張プロパティ] タブをクリックし、次のプロパティを設定します。 | • | クライアント IP アドレス | | • | ユーザー名 | | • | メソッド | | • | URI Stem | | • | プロトコルの状態 | | • | Win32 の状態 | | • | ユーザー エージェント | | • | サーバー IP アドレス | | • | サーバー ポート |
|
最後の 2 つのプロパティは、1 つのコンピュータで複数の Web サーバーをホストする場合に役に立ちます。Win32 の状態プロパティは、デバッグに役立ちます。ログを調べるときは、エラー 5 に注意してください。これは、アクセス拒否を意味します。ほかの Win32 エラーの意味については、コマンド ラインに net helpmsg err (err はエラーの番号) と入力すれば調べることができます。 注 : W3C Extended ログは、ログの取得時間が 9 時間前の時刻として記録されます。これは、アクセス時間をグリニッジ標準時として記録するためであり、正しい動作です。 |
| • | すべてのサンプル アプリケーションを無効または削除する。 サンプルはあくまでもサンプルで、デフォルトではインストールされません。製品サーバーには絶対にインストールしないでください。http://localhost または 127.0.0.1 からのみアクセスできるようにインストールされるサンプルもありますが、これらも削除する必要があります。 以下の表は、一部のサンプルについて、デフォルトで配置される場所を示しています。 IIS 5.0 に含まれているサンプル ファイル IIS サンプル | \IISSamples | c:\inetpub\iissamples | IIS マニュアル | \IISHelp | c:\winnt\help\iishelp | Data Access | \MSADC | c:\program files\common files\system\msadc |
|
| • | IISADMPWD 仮想ディレクトリを削除する。 このディレクトリは、Windows NT と Windows 2000 のパスワードのリセットを可能にします。これは、本来、イントラネットのために設計されたもので、IIS 5 の一部としてはインストールされていませんが、IIS 4 サーバーを IIS 5 にアップグレードしても削除されません。イントラネットを使用しない場合、または Web にサーバーを接続する場合は、これを削除する必要があります。この機能についての詳細は、Microsoft サポート技術情報の記事 184619 を参照してください。 |
| • | 未使用のスクリプト マッピングを削除する 。 IIS は、.asp ファイルや .shtm ファイルのような、一般的なファイル名拡張子をサポートするように構成されています。IIS でこれらのファイル タイプに対する要求を受信すると、その呼び出しは DLL によって処理されます。これらの拡張子や機能を使用しないのであれば、次の手順に従って、このマッピングを削除する必要があります。 1. | インターネット サービス マネージャ を開きます。 | 2. | Web サーバーを右クリックし、コンテキスト メニューから [プロパティ] を選択します。 | 3. | [マスタ プロパティ] 内にドロップダウン リストがあります。 | 4. | WWW サービスを選択し、[編集] をクリックします。[ホーム ディレクトリ] タブをクリックして [構成] をクリックします。 |
次の参照を削除します。 IIS 5.0 から削除する拡張子 Web ベースのパスワード リセット | .htr | Internet Database Connector
(すべての IIS 5 Web サイトは ADO または同様の技術を使用する必要があります) | .idc | サーバー サイド インクルード | .stm, .shtm および .shtml | インターネット印刷 | .printer | Index Server | .htw, .ida および .idq |
重要 : .htr 機能を使用するミッション クリティカルな理由がない限り、.htr 拡張子は削除してください。 |
Windows NT 4.0 Server/Windows NT Server, Enterprise Edition 4.0/Small Business Server 4.5 (IIS 4.0) の場合
Step 1. サービスパックの適用
オペレーティングシステムに対して Windows NT 4.0 Service Pack 5 もしくは Windows NT 4.0 Service Pack 6a を適用してください。 Windows NT 4.0 Service Pack 5 の入手方法に関しては下記をご参照ください。
http://www.microsoft.com/japan/products/ntserver/sp5/default.htm
Windows NT 4.0 Service Pack 6aの入手方法に関しては下記をご参照ください。
http://www.microsoft.com/japan/products/ntserver/sp6/default.htm
なお、既に最新のサービスパック (Windows NT 4.0 Service Pack 6a) を適用している場合には、Windows NT 4.0 Service Pack 5 を適用する必要はありません。
Windows NT 4.0 にどのバージョンの Service Pack が適用されているかを確認するためには、以下の手順で行ってください。
1. | スタートボタン上で右クリックし、エクスプローラを起動します。 |
2. | ヘルプ] メニューの [バージョン情報] を表示します。 |
Step 2. セキュリティパッチの適用
オペレーティングシステムに応じた上記 Service Pack を適用した後に下記のセキュリティパッチを適用してください。このページには MS00-086 のセキュリティホールの詳細説明に加えてパッチモジュールの入手方法も記されています。
MS00-086:「Web サーバーによるファイル要求の解析」の脆弱性に対する対策
このパッチモジュールを適用することで、以下のファイルが更新されます。インストールプログラムの実行後、修正モジュールの適用状況の確認にご使用ください。
日付 時刻 バージョン サイズ ファイル名
----------------------------------------------------
%systemroot%\system32 以下に格納されるファイル
11/08/2000 03:29p 4.2.753.1 214,544 adsiis.dll
%systemroot%\system32\inetsrv 以下に格納されるファイル
11/09/2000 07:25p 4.2.753.1 330,672 asp.dll
11/09/2000 07:25p 4.2.753.1 55,904 httpodbc.dll
11/08/2000 03:29p 4.2.753.1 98,912 iischema.dll
11/09/2000 07:25p 4.2.753.1 185,792 infocomm.dll
11/09/2000 07:25p 4.2.753.1 38,768 ssinc.dll
11/08/2000 03:28p 4.2.753.1 25,360 sspifilt.dll
11/09/2000 07:25p 4.2.753.1 229,008 w3svc.dll
注意 : Step 1 のサービスパックの適用を行わない状態で 本修正モジュールを適用した場合、正しく IIS が起動できない状態となります。そのため、サービスパックの適用は確実に行ってください。
Windows NT 4.0 に対して MS00-086 を適用した後に、イベントログにイベント ID: 5 のエラーが書き込まれることがありました。この問題を解決するため、MS00-086 のパッチモジュールを再リリースいたしました。このパッチモジュールを適用することで、以下のファイルが更新されます。(イベント ID: 5 のエラーはパッチのインストーラーの問題によるもので、このエラーによる機能的な問題は一切ありません。)
日付 時刻 バージョン サイズ ファイル名
----------------------------------------------------
%systemroot%\system32 以下に格納されるファイル
02/16/2001 09:30a 4.02.0760 214,544 adsiis.dll
%systemroot%\system32\inetsrv 以下に格納されるファイル
02/16/2001 11:55a 4.02.0760 330,672 asp.dll
02/16/2001 11:55a 4.02.0760 55,904 httpodbc.dll
02/16/2001 09:30a 4.02.0760 98,912 iischema.dll
02/16/2001 11:55a 4.02.0760 63,472 iislog.dll
02/16/2001 11:55a 4.02.0760 185,792 infocomm.dll
02/16/2001 11:55a 4.02.0760 29,520 iscomlog.dll
02/16/2001 11:55a 4.02.0760 38,768 ssinc.dll
02/16/2001 09:30a 4.02.0760 25,360 sspifilt.dll
02/16/2001 11:55a 4.02.0760 229,024 w3svc.dll
02/16/2001 11:55a 4.02.0760 88,032 wam.dll
MS01-044 では、Windows NT 4.0 Service Pack 5 以降から現在 (2001 年 8 月) までにリリースされた IIS 4.0 用の全てのセキュリティに関する修正プログラムが含まれています。MS01-044 を適用済みの場合、MS00-086 を再適用いただく必要はありません。
MS01-044: 2001 年 8 月 15 日 IIS 用の累積的な修正プログラム
このパッチモジュールの適用することで、マシンに以下のレジストリが作成されます。
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Hotfix\Q301625.
また、各ファイルを確認するためには、サポート技術情報 301625 のファイル欄を参照して下さい。
Step 3. MDAC の RDS 機能の抑止
下記ページの手順に従って Microsoft Data Access Components (MDAC) の Remote Data Service(RDS) の機能を抑止してください。RDS 機能が必要な場合には、MDAC をアップグレードしてセーフモード構成に切り替えてください。
RDS の機能を IIS から利用不可能な構成を作るには、以下の方法があります。
1. | /msadc 仮想ディレクトリをデフォルトの Web サイトから削除する。 |
2. | 次のレジストリ キーを、IIS をホストしているサーバーから削除する。
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W3SVC
\Parameters\ADCLaunch\RDSServer.DataFactory
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W3SVC
\Parameters\ADCLaunch\AdvancedDataFactory
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W3SVC
\Parameters\ADCLaunch\VbBusObj.VbBusObjCls
|
弊社では、RDS を利用していないお客様には、出来る限り上記の手順にて RDS を無効にすることをお勧めいたします。
また、MDAC 2.1 以降が適用されている場合には、以下のレジストリ値の設定により RDS をセーフモードとして構成することが可能です。
ハイブ | HKEY_LOCAL_MACHINE \SOFTWARE |
キー | Microsoft\DataFactory\HandlerInfo\ |
名前 | HandlerRequired |
型 | DWORD |
値 | 0="アンセーフモード"
1="セーフモード" |
尚、Windows NT 4.0 Option Pack をインストールした後に MDAC 2.1 以降をインストールいたしましても、既定の状態ではセーフモードに構成されませんので上記の作業を行う必要があります。
これらの情報の詳細は以下のサポート技術情報でも確認することができます。
414004 [IIS]Microsoft Security Bulletin MS99-025 の FAQ
Step 4. Windows NT 4.0 の設定
| • | ハード ディスクを NTFS 形式でフォーマットする。 NTFS はアクセス制御リストをサポートしているので、分散したアプリケーションではなく Windows NT にセキュリティの原則を設定できます。FAT を使用している場合は、CONVERT.EXE ツールを使って NTFS に変換できます。 |
| • | すべての Net Share を削除する。 コマンドラインから Net Share を実行し、Net Share /d を使用してすべての共有資源(フォルダやプリンタ) を確実に削除してください。また、レジストリで次のように設定することで、すべての管理用共有資源 (C$, D$, ADMIN$) の共有を解除します。
ハイブ: HKEY_LOCAL_MACHINE\SYSTEM
キー: CurrentControlSet\Services\LanmanServer\Parameters
名前: AutoShareServer
型: REG_DWORD
値: 0
|
| • | パスワード長を設定する。 9 文字以上に設定してください。Windows NT のパスワードのハッシュ作成方法の特性から、8 文字以下の場合よりもパスワードの解析が大幅に困難になります。また、先頭の 7 文字の中には英字以外の記号を使用してください。 |
| • | ユーザー アカウント、グループ メンバーシップ、および権限を確認する。 サーバー上のユーザー数とグループ数を最小限にして、グループ メンバーシップを小さく保つようにします。Administrators グループと Domain Admins グループにリストされる最も信頼されたアカウントのみを配置するようにします。また、デフォルト以外のユーザーとグループに権限を付与する場合は細心の注意を払ってください。ユーザー マネージャの [原則] メニューの [ユーザーの権利] をクリックすることで、権限情報にアクセスできます。 |
| • | Administrator アカウント名を変更する。 これは、"あいまいさによるセキュリティ" の例であると同時に、ハッカーにとっては admin アカウントを決定するためにしなければならない作業が増えることになります。"偽の" 管理者を追加することで、アカウント攻撃の検出に役立てることを考慮してください。 |
| • | Admin アカウントに推測困難なパスワードを設定する。 admin アカウントに非常に難解なパスワードを設定し、それを頻繁に変更するようにします。詳細については、ここをクリックしてください。 |
| • | 匿名のネットワーク アクセスを制限する。 Windows NT では、認証されていないユーザーが Windows NT ドメインのユーザーを列挙できる機能が備わっています。この機能を無効にするには、レジストリで次のように設定します。
ハイブ: HKEY_LOCAL_MACHINE\SYSTEM
キー: CurrentControlSet\Control\LSA
名前: RestrictAnonymous
型: REG_DWORD
値: 1
|
| • | [ネットワーク経由でコンピュータへアクセス] を [Everyone] から [Authenticated Users] に変更する。 これにより、ドメインまたはそのマシンでアカウントを持つユーザーのみが、サーバー上の共有資源にアクセスできるようになります。これを行うには、ユーザー マネージャの [原則] メニューの [ユーザーの権利] をクリックし、[権利] ボックスから [ネットワーク経由でコンピュータへアクセス] を選択して、[この権利を与えられたアカウント] ボックスの一覧から [Everyone] を削除し、[Authenticated Users] を追加します。 |
| • | TCP/IP から NetBIOS をアンバインドする。 TCP/IP から NetBIOS をアンバインドすると、ユーザーが NBTSTAT のようなツールを使ってマシン情報にアクセスすることができなくなります。 |
| • | 成功/失敗したログオン/ログオフを監査する。 ユーザー マネージャの [原則] メニューの [監査] をクリックし、[監査するイベント] をクリックします。"ログオンとログオフ" の成功と失敗をチェックし、"成功/失敗したログオン/ログオフを監査する" を有効にします。 |
| • | 監査ログの上書き間隔を設定する。 イベント ビューアの [ログ] メニューの [ログの設定] をクリックし、3 つすべてのログについて、最大サイズと [イベントを上書きする] を設定します。数日間隔でログが上書きされ、ログの最大サイズが小さい場合は、かなり頻繁にログをチェックする必要があります。 |
| • | TCP/IP フィルタリングを構成する。 各ネットワーク カードでどのポートを許可するかを指定することで、TCP/IP フィルタリングを構成します。コントロール パネルの [ネットワーク] アイコンをダブルクリックし、[プロトコル] タブの [ネットワーク プロトコル] ボックスから [TCP/IP] を選択します。次に、[プロパティ] ボタンをクリックして [IP アドレス] タブの [詳細] をクリックし、[セキュリティ処理を行う] チェック ボックスをオンにして [構成] をクリックます。ここで次のオプションを設定します。 TCP ポート 80 と 443 のみを許可する。 (SSL を設定している場合)
UDP ポートは許可しない 。
IP プロトコル 6 (TCP) のみを許可する。 |
Step 5. IIS の設定
| • | 仮想ディレクトリに適切な ACL (Access Control List) を設定する。 この手順は若干アプリケーションに依存するところもありますが、だいたい以下の表に示されたとおりに適用できます。 CGI (.exe, .dll, .cmd, .pl) | Everyone (読み取り(RX))
Administrators (フル コントロール)
System (フル コントロール) | スクリプト ファイル (.asp) | Everyone (読み取り(RX))
Administrators (フル コントロール)
System (フル コントロール) | インクルード ファイル (.inc, .shtm, .shtml) | Everyone (読み取り(RX))
Administrators (フル コントロール)
System (フル コントロール) | 静的なコンテンツ (.txt, .gif, .jpg, .html) | Everyone (特殊なアクセス権(R))
Administrators (フル コントロール)
System (フル コントロール) |
|
| • | 必要最低限のインターネット サービスをインストールする。 一般に、サーバーへのエントリ ポイントを減らすことは、良い方法であると思われます。Windows NT の場合、これはサービス数が減少することを意味します。 最低限必要なサービスは、以下になります。 | • | Event Log サービス | | • | IIS Admin サービス | | • | License Logging サービス | | • | MSDTC | | • | Protected Storage | | • | Remote Procedure Call (RPC) サービス | | • | Server サービス | | • | Windows NTLM Security Support Provider | | • | Workstation サービス | | • | World Wide Web Publishing サービス |
もし必要であれば、以下のサービスをインストールします。 | • | Certificate Authority サービス | | • | Content Index サービス | | • | FTP Publishing Service サービス | | • | NNTP Service サービス | | • | Plug and Play サービス | | • | Remote Access Services サービス | | • | RPC Locator サービス | | • | Server Service サービス | | • | SMTP Service サービス | | • | Telephony Service サービス | | • | Uninterruptible Power Supply (UPS) サービス | | • | Workstation サービス |
上記以外のサービスは必要ないと考えられますが、必要に応じて追加してください。 詳細については、サポート技術情報 189271 を参照してください。 注 : 上記 サポート技術情報 189271 にしたがい、NetBIOS Interface を無効にしますと、イベント ID 105 が発生します。このエラーは悪性のものではなく、Web サービスや FTP サービスが影響をうけることはありません。詳細については、サポート技術情報 240779 を参照してください。 |
| • | 適切な認証メソッドを設定する。 これらはアプリケーション固有ですが、アプリケーションにとって "十分強力な" 認証を使用する必要があります。信頼を高めるために IIS4 でサポートされる認証スキーマは次のとおりです。 | • | 匿名 | | • | 基本 | | • | Windows NT チャレンジ/レスポンス | | • | クライアント証明 |
通常、インターネット上の Web サーバーでユーザー認証を行う場合に、基本認証が利用されます。基本認証ではパスワードをエンコードしただけの安全とはいえない状態で送出されます。そのため、認証を必要とされるサイトの場合には、SSL の利用をお勧めします。 |
| • | 適切な仮想 IIS ログ ファイル ACL を設定する。 IIS で生成されたログ ファイル (%systemroot%\system32\LogFiles) の ACL は、次のように設定されていることを確認してください。 LOG など
.LOG | Administrators (フル コントロール)
System (フル コントロール) |
これにより、悪意のあるユーザーが痕跡を隠そうとするのを防止できます。 |
| • | ログの記録を有効にする。 サーバーが攻撃されているかどうかを確認するときに最も重要なのは、ログの記録です。次の手順に従って、W3C Extended ログ形式を使用する必要があります。 1. | インターネット サービス マネージャをロードします。 | 2. | 問題のサイトを右クリックし、コンテキスト メニューから [プロパティ] を選択します。 | 3. | [Web サイト] タブをクリックします。 | 4. | [ログを収集する] チェック ボックスをオンにします。 | 5. | [アクティブ ログ形式] ドロップダウン リストから [W3C 拡張ログ ファイル形式] を選択します。 | 6. | [プロパティ] をクリックします。 | 7. | [Extendedプロパティ] タブをクリックし、次のプロパティを設定します。 | • | クライアント IP アドレス | | • | ユーザー名 | | • | メソッド | | • | URI Stem | | • | プロトコルの状態 | | • | Win32 の状態 | | • | ユーザー エージェント | | • | サーバー IP アドレス | | • | サーバー ポート |
|
最後の 2 つのプロパティは、1 つのコンピュータで複数の Web サーバーをホストする場合に役に立ちます。Win32 の状態プロパティは、デバッグに役立ちます。ログを調べるときは、エラー 5 に注意してください。これは、アクセス拒否を意味します。ほかの Win32 エラーの意味については、コマンド ラインに net helpmsg err (err はエラーの番号) と入力すれば調べることができます。 注 : W3C Extended ログは、ログの取得時間が 9 時間前の時刻として記録されます。これは、アクセス時間をグリニッジ標準時として記録するためであり、正しい動作です。 また、World Wide Web Publishing Service サービスを開始してから、49 日間一度も再起動を行わなかった場合、IIS のログの日付、時間が更新されずに、同じ時間のログが記録される場合があります。詳細については、223137 をご確認ください。 |
| • | すべてのサンプル アプリケーションを無効にする、または削除する。 サンプルはサンプルでしかありません。サンプル アプリケーションは特に指定しない限りインストールされず、本番用サーバーにインストールされるべきではありません。これには、ドキュメンテーション (サンプル コードを含む SDK ドキュメンテーション)、Exploration Air サンプル サイトなどが含まれます。サンプル アプリケーションの既定ディレクトリは次のとおりです。 IIS | c:\inetpub\iissamples | IIS SDK | c:\inetpub\iissamples\sdk | Admin スクリプト | c:\inetpub\AdminScripts | データ アクセス | c:\Program Files\Common Files\System\msadc\Samples |
|
| • | IISADMPWD 仮想ディレクトリを削除する。 このディレクトリでは、Windows NT パスワードをリセットできます。主にイントラネットでの使用を想定して設計されています。この機能が必要ではない場合、またはサーバーが Web 上に存在する場合は、削除する必要があります。この機能の詳細については、184619 [IIS]IIS 4.0を使用した Windows NT アカウントのパスワード変更方法を参照してください。 |
| • | 使われていないスクリプト マッピングを削除する。 IIS はあらかじめ .ASP や .SHTM などの普通のファイル名拡張子をサポートするようにために構成されています。IIS はこれらのタイプのファイルに対するリクエストを受信すると、そのファイルの呼出しが DLL によって処理されます。これらの拡張子や機能のうちで使用しないものがある場合、次の方法でマッピングを削除する必要があります。インターネット サービス マネージャを開き、Web サーバーを右クリックして [プロパティ] をクリックし、[マスタ プロパティ] ボックスの [WWW サービス] を選択して [編集] ボタンをクリックします。次に、[ホーム ディレクトリ] タブの [構成] ボタンをクリックして次の参照を削除します。 Web ベースのパスワード リセット | .htr | インターネット データベース コネクタ (新しい Web サイトではこれを使用せず、Active Server Pages から ADO を使用する) | .idc | サーバーサイドの組み込み | .shtm, .stm, .shtml |
|
Windows NT 4.0 Server/Windows NT Server, Enterprise Edition 4.0 (IIS 2.0, 3.0)
Internet Information Server 2.0 及び 3.0 につきましては、修正モジュールの開発を予定しておりません。そのため、インターネット上で IIS をご利用いただく場合には、IIS 4.0 もしくは IIS 5.0 をご利用いただくようお願いいたします。
参考資料
冒頭の説明にもありますように、本説明はこのたび問題になっているコンテンツの改ざんに対する防御策に注力した説明になります。より安全なサイトの運営のためには以下のチェック リストをご確認ください。
本件に関する一般ユーザー様向け問い合わせ窓口
本告知に合わせて開設いたしました「マイクロソフト IIS セキュリティ情報センター」は、お客様からのお問い合わせ件数の減少に伴い、2000 年 3 月 30 日をもちまして電話による受付を終了させていただきました。今後は、通常の製品サポートサービスを通してご対応させていただきますことをご了承ください。
なお、お客様からの実際のお問い合わせ内容に基づく FAQ を公開しておりますのでぜひご覧いただきますようお願い申し上げます。