逐步解說:建立安全性區域 (第 2 部分)
更新:2007 年 11 月
此逐步解說會建置在逐步解說:建立安全性區域 (第 1 部分) 上。在此逐步解說中,您將了解如何完成下列工作:
設定裝載於 HardenedIIS Web 伺服器之應用程式的原則。
將現有之已設定 IIS 伺服器的設定匯入至 HardenedIIS。
評估 Web 服務至 HardenedIIS 的部署。
若要設定裝載於 Web 伺服器之應用程式的原則
按一下 HardenedIIS Web 伺服器檢視 [設定和條件約束編輯器]。
在 [應用程式條件約束] 中,選取 [ASP.NET 安全性] 核取方塊。
選取相鄰核取方塊的 [ASP.NET 安全性] 標題。
[ASP.NET 安全性] 條件約束對話方塊會出現在 [設定和條件約束編輯器] 的右窗格中。
在 [允許的安全性模式] 中,選取 [Forms]。
請確定只選取了該值。
選取 [需要模擬]。
注意事項:
依據 [設定和條件約束編輯器] 的大小,您可能必須在編輯器的右窗格中使用捲軸,才能檢視此選項。
在 [設定和條件約束編輯器] 的左窗格中,選取 [ASP.NET 工作階段狀態] 核取方塊。
選取相鄰核取方塊的 [ASP.NET 工作階段狀態] 標題。
請確定在編輯器之右窗格中的 [工作階段狀態模式] 下,只選取了 [SQLServer] 值。
這兩個條件約束會要求:裝載於此伺服器上的 Web 應用程式以模擬方式使用表單驗證,並使用 SQL 工作階段狀態儲存工作階段資訊。這兩個條件約束對話方塊為預先定義條件約束的範例。您之前針對指令碼對應和安全性繫結所建立的條件約束,為使用者定義條件約束的範例。如需可用條件約束之型別及如何撰寫的詳細資訊,請參閱以條件約束應用程式和裝載關係和一般性的應用程式、系統和邏輯伺服器組態工作。
下一個步驟是要將設定從現有的 IIS Web 伺服器匯入到 HardenedIIS。此步驟是具選擇性的。如果您沒有可用的 IIS Web 伺服器,請跳到下一個程序。
若要從現有的 IIS Web 伺服器匯入設定
以滑鼠右鍵按一下 [HardenedIIS],然後選擇 [匯入設定]。
[匯入 IIS 設定精靈] 隨即出現。使用在 HOW TO:從 IIS 伺服器匯入設定中指定的程序,從您選擇的 Web 伺服器中匯入設定。如果設定匯入失敗,則會出現錯誤並指出原因。如需詳細資訊,請參閱 IIS 和 ASP.NET 設定匯入的疑難排解。
如果您是從 Windows Server 2003 匯入,可以使用「IIS 匯入精靈」匯入全域設定、所有網站或應用程式集區,但是 Windows XP 或 IIS 6.0 之前的版本並不支援應用程式集區。
在匯入設定後,請選取 [Hardened IIS],然後瀏覽 [邏輯伺服器設定] 節點,以便在 [設定和條件約束編輯器] 中檢視這些設定。若要更容易尋找設定,請使用 [搜尋] 功能。如需詳細資訊,請參閱 HOW TO:搜尋設定。
下一個步驟是要建置 Web 服務,並且評估到此區域的部署。
若要建置 Web 服務
在 [方案總管] 中,以滑鼠右鍵按一下方案節點,按一下 [加入],然後按一下 [新增分散式系統圖表]。
[加入新項目 - 方案項目] 對話方塊隨即出現。
在 [範本] 下按一下 [應用程式圖表],然後按一下 [加入]。
新的應用程式圖表會在 [應用程式設計工具] 中開啟。
將 [ ASP.NETWebService] 從 [工具箱] 拖曳到圖表,並將其命名為 MyWebService。
注意事項:
當您建立應用程式圖表時,[Web 服務細節] 視窗隨即出現。如需使用此視窗檢視和撰寫 Web 服務作業的詳細資訊,請參閱定義 ASP.NET Web 服務的作業。
以滑鼠右鍵按一下 [MyWebService],然後選擇 [定義部署]。
選取現有的邏輯 DataCenter 圖表後,[定義部署] 對話方塊隨即出現。
按一下 [確定]。
部署圖表會在 [部署設計工具] 中開啟。部署圖表為參考邏輯 DataCenter 圖表的相同複本,並用於評估將應用程式部署到 DataCenter。
將 [MyWebService] 從 [系統檢視] 視窗拖曳到 [HardenedIIS]。
此動作指出應該在 DataCenter 中,將 [MyWebService] 部署到 HardenedIIS Web 伺服器。您可以使用部署圖表,根據 DataCenter 中邏輯伺服器和區域的型別和組態,以及建議在此處裝載之應用程式的型別和組態,評估此部署的成功與否。
以滑鼠右鍵按一下部署圖表,並選擇 [驗證圖表]。
下列驗證警告會出現在 [錯誤清單] 視窗中:
條件約束參數「允許的安全性模式」會要求將設定 'Mode' 設為 'Forms',但是目前設為 'Windows'。
條件約束參數「需要模擬」會要求將設定 'Impersonate' 設為 'True',但是目前設為 'False'。
條件約束參數「工作階段狀態模式」會要求將設定 'Mode' 設為 'SQLServer',但是目前設為 'InProc'。
設定必須至少有下列其中一個值集:'{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 的模式設定 (Application Diagram)]。
此動作會在 [設定和條件約束編輯器] 中,選取 [MyWebService 的模式設定]。
將設定從 "Windows" 變更為 "Forms"。
在 [方案總管] 中,以滑鼠右鍵按一下 [DefaultSystem1.dd] 檔案,然後選擇 [開啟] 以顯示部署圖表。
使用相同的方法,修正第二個和第三個警告。
第四個警告表示在 DataCenter 中,有通訊條件約束要求透過通訊埠 443 進行傳輸。身為邏輯 DataCenter 圖表的作者,您最了解此條件約束發生的原因。身為邏輯 DataCenter 圖表的消費者,您可以利用用於解決其他警告的相同程序,判斷此警告發生的原因。
最後一個錯誤是由於 .asmx 檔案違反指令碼對應的條件約束而引發的。無論區域內的 Web 伺服器是否允許裝載 Web 服務,此條件約束都會避免將 Web 服務裝載於 [PerimeterNetwor] 區域內。
重新驗證部署圖表。
修正所有剩餘的警告。