更新 : 2007 年 11 月
このチュートリアルは「チュートリアル : セキュリティ ゾーンの作成 (第 1 部)」に基づいています。このチュートリアルでは、次のタスクを完了する方法を学びます。
HardenedIIS Web サーバーがホストするアプリケーションのポリシーを設定する。
既存の設定済み IIS サーバーの設定を HardenedIIS にインポートする。
Web サービスの HardenedIIS への配置を評価する。
Web サーバーがホストするアプリケーションにポリシーを設定するには
HardenedIIS Web サーバーをクリックして、設定および制約エディタを開きます。
[アプリケーションの制約] の下にある [ASP.NET セキュリティ] チェック ボックスをオンにします。
チェック ボックスの横にある [ASP.NET セキュリティ] の見出しを選択します。
設定および制約エディタの右ペインに [ASP.NET セキュリティ] 制約ダイアログ ボックスが表示されます。
[許可されたセキュリティ モード] の [フォーム] をクリックします。
この値だけを選択したことを確認します。
[偽装が必要] を選択します。
メモ :
設定および制約エディタのサイズによっては、このオプションが表示されないことがあります。その場合は、エディタの右ペインにあるスクロール バーを使用して、オプションを表示してください。
設定および制約エディタの左ペインで [ASP.NET セッション状態] チェック ボックスをオンにします。
チェック ボックスの横にある [ASP.NET セッション状態] の見出しを選択します。
エディタの右ペインにある [セッション状態モード] で [SQLServer] だけを選択したことを確認します。
この 2 つの制約により、このサーバーがホストする Web アプリケーションが偽装の防止対策としてフォーム認証を使用すること、および SQL セッション状態を使用してセッション情報を格納することを要求されます。2 つの制約ダイアログ ボックスは定義済み制約の例です。スクリプト マップとセキュア バインドに作成した制約は、ユーザー定義制約の例です。使用可能な制約の種類と作成方法の詳細については、「アプリケーションとアプリケーション ホスト関係に対する制約」と「アプリケーション、システム、および論理サーバーの一般的な構成タスク」を参照してください。
次の処理では、IIS Web サーバーの既存の設定を HardenedIIS にインポートします。この手順は省略できます。IIS Web サーバーが使用できない場合は、次の処理にスキップしてください。
既存の IIS Web サーバーの設定をインポートするには
[HardenedIIS] を右クリックし、[設定のインポート] をクリックします。
IIS 設定のインポート ウィザード が表示されます。「方法 : IIS サーバーから設定をインポートする」に記載されている処理手順に従って、選択した Web サーバーの設定をインポートします。インポートに失敗すると、エラー メッセージとエラーの原因が表示されます。詳細については、「IIS 設定および ASP.NET 設定のインポートのトラブルシューティング」を参照してください。
IIS 設定のインポート ウィザードを使用して Windows Server 2003 の設定をインポートすると、すべての Web サイトを対象とするグローバル設定かアプリケーション プールをインポートできます。アプリケーション プールは、Windows XP やバージョン 6 以前の IIS ではサポートされていません。
設定のインポートが完了したら、[Hardened IIS] を選択して設定および制約エディタに設定を表示します。次に、[論理サーバーの設定] ノードを検索します。検索機能を使用すると、設定を簡単に見つけられます。詳細については、「方法 : 設定を検索する」を参照してください。
次の処理では、Web サービスを構築し、ゾーンへの配置を評価します。
Web サービスを構築するには
ソリューション エクスプローラでソリューション ノードを右クリックし、[追加] をクリックして、[新しい分散システム ダイアグラム] をクリックします。
[新しい項目の追加 - ソリューション項目] ダイアログ ボックスが表示されます。
[テンプレート] の [アプリケーション ダイアグラム] をクリックし、[追加] をクリックします。
アプリケーション デザイナに新しいアプリケーション ダイアグラムが表示されます。
ツールボックスから ASP.NETWebService をダイアグラムにドラッグし、MyWebService という名前を付けます。
メモ :
アプリケーション ダイアグラムを作成すると、[Web サービスの詳細情報] ウィンドウが表示されます。このウィンドウで Web サービスを表示して作成する方法の詳細については、「ASP.NET Web サービスの操作の定義」を参照してください。
[MyWebService] を右クリックし、[配置の定義] をクリックします。
[配置の定義] ダイアログ ボックスが表示されます。既存の論理データセンター ダイアグラムが選択されています。
[OK] をクリックします。
配置ダイアグラムが配置デザイナに開きます。配置ダイアグラムは、参照先の論理データセンターを正確に表現したレプリカです。このレプリカは、アプリケーションのデータセンターへの配置を評価するために使用します。
[システム ビュー] ウィンドウから MyWebService を HardenedIIS にドラッグします。
この操作により、MyWebService がデータセンターの HardenedIIS Web サーバーに配置されます。配置ダイアグラムでは、データセンターに配置した論理サーバーとゾーンの構成と種類、およびデータセンターでホストされるアプリケーションの構成と種類に関する情報に基づいて、配置を評価します。
配置ダイアグラムを右クリックし、[ダイアグラムの検証] をクリックします。
次の検証警告が [エラー一覧] ウィンドウに表示されます。
"制約パラメータ 'Allowed Security Modes' では、'Mode' を 'Forms' に設定する必要がありますが、現在 'Windows' に設定されています。
"制約パラメータ 'Requires Impersonation' では、'Impersonate' を 'True' に設定する必要がありますが、現在 'False' に設定されています。
"制約パラメータ 'Session State Mode' では、'Mode' を 'SQLServer' に設定する必要がありますが、現在 'InProc' に設定されています。
設定は、次のように設定された値で少なくとも 1 つを指定しなければなりません: '{IPAddress="", Port="443")' 現在の値は '<null>' です。
設定は、次のように設定された値では指定できません: '{FileExtension=".asmx", ScriptProcessor="%WINDIR%\Microsoft.NET\Framework\v2.0.40420\aspnet_isapi.dll"....
これらの警告は、HardenedIIS または PerimeterNetwork ゾーンでホストされるアプリケーションの設定要件がホストされるアプリケーション MyWebService の実際の設定と矛盾していることに起因します。それらの設定要件は、設定および制約エディタを使用して、HardenedIIS に対して [ASP.NET セキュリティ] 制約と [ASP.NET セッション状態] 制約を設定するときに指定したものです。
次の処理で、これらの警告を修正します。
検証警告を修正するには
[エラー一覧] ウィンドウで最初の警告を右クリックし、[移動] をポイントして、[MyWebService (アプリケーション ダイアグラム) 上のモード設定] をクリックします。
この操作によって、設定および制約エディタで MyWebService 上の [モード設定] が選択されます。
設定を [Windows] から [フォーム] に変更します。
ソリューション エクスプローラで DefaultSystem1.dd ファイルを右クリックし、[開く] をクリックして、配置ダイアグラムを表示します。
同じ操作を繰り返して、2 番目と 3 番目の警告を修正してください。
4 番目の警告は、データセンターの 443 番ポートには通信制約があることを示しています。この警告の意味は、論理データセンター ダイアグラムを実際に作成すると理解できます。また、論理データセンター ダイアグラムのコンシューマであれば、他の警告を解決したときと同じ処理手順に従って、この警告が発生した理由を確認できます。
最後のエラーは、.asmx ファイルに対するスクリプト マップ制約に起因します。この制約は、PerimeterNetwork ゾーン内の Web サーバーで Web サービスのホストが許可されている場合でも、このゾーン内での Web サービスのホストを禁止するものです。
配置ダイアグラムをさらに検証します。
残りの警告を修正します。