演练:创建安全区域(第 2 部分)

更新:2007 年 11 月

本演练以 演练:创建安全区域(第 1 部分) 为基础。在本演练中,您将了解如何完成以下任务:

  • 为“HardenedIIS”Web 服务器上承载的应用程序设置策略。

  • 将设置从现有的已配置 IIS 服务器导入“HardenedIIS”。

  • 评估 Web 服务在“HardenedIIS”上的部署。

为 Web 服务器上承载的应用程序设置策略

  1. 单击“HardenedIIS”Web 服务器,以查看“设置和约束编辑器”。

  2. 选择“应用程序约束”下的“ASP.NET 安全性”复选框。

  3. 选择该复选框旁边的“ASP.NET 安全性”标题。

    “ASP.NET 安全性”约束对话框出现在“设置和约束编辑器”的右窗格中。

  4. 在“允许的安全模式”下选择“Forms”。

    确保其为唯一选定的值。

  5. 选择“要求模拟”。

    说明:

    根据“设置和约束编辑器”的大小,可能需要使用编辑器右窗格中的滚动条来查看此选项。

  6. 在“设置和约束编辑器”的左窗格中,选中“ASP.NET 会话状态”复选框。

  7. 选择该复选框旁边的“ASP.NET 会话状态”标题。

  8. 在编辑器右窗格中的“会话状态模式”下,确保“SQLServer”为唯一选定的值。

这两个约束要求此服务器上承载的所有 Web 应用程序都使用具有模拟的 Forms 身份验证并使用 SQL 会话状态存储会话信息。这两个约束对话框是预定义约束的示例。以前为脚本映射和安全绑定创建的约束是用户定义约束的示例。有关可用的约束类型以及如何创作这些约束的更多信息,请参见 约束应用程序和应用程序宿主关系常见应用程序、系统和逻辑服务器配置任务

下一步是将设置从现有 IIS Web 服务器导出到 HardenedIIS 上。这一步是可选的。如果无可用的 IIS Web 服务器,请跳到下一个过程。

从现有 IIS Web 服务器导入设置

  1. 右击“HardenedIIS”,然后选择“导入设置”。

    出现“导入 IIS 设置向导”。使用 如何:从 IIS 服务器导入设置 中指定的过程从所选的 Web 服务器导入设置。如果设置导入失败,将出现错误消息说明原因。有关更多信息,请参见 IIS 和 ASP.NET 设置导入疑难解答

    如果从 Windows Server 2003 导入,则使用“IIS 导入向导”可以导入全局设置、所有网站或应用程序池;Windows XP 或 IIS 6.0 之前的版本不支持应用程序池。

  2. 导入设置后,在“设置和约束编辑器”中通过选择“HardenedIIS”并浏览“逻辑服务器设置”节点来查看这些设置。若要使查找设置更加容易,可以使用“搜索”功能。有关更多信息,请参见 如何:搜索设置

下一步是生成 Web 服务并评估其在此区域中的部署。

生成 Web 服务

  1. 在“解决方案资源管理器”中,右击解决方案节点,单击“添加”,再单击“新建分布式系统关系图”。

    随即出现“添加新项 - 解决方案项”对话框。

  2. 在“模板”下,单击“应用程序关系图”,再单击“添加”。

    新的应用程序关系图在应用程序设计器中打开。

  3. 从工具箱中将“ASP.NETWebService”拖动到关系图中,并将其命名为“MyWebService”。

    说明:

    创建应用程序关系图时将显示“Web 服务详细信息”窗口。有关如何使用此窗口查看和创作 Web 服务操作的更多信息,请参见 定义 ASP.NET Web 服务的操作

  4. 右击“MyWebService”,然后选择“定义部署”。

    出现“定义部署”对话框,其中选定了现有的逻辑数据中心关系图。

  5. 单击“确定”。

    部署关系图在部署设计器中打开。部署关系图是引用的逻辑数据中心关系图的精确副本,用于评估该数据中心内应用程序的部署。

  6. 从“系统视图”窗口中,将“MyWebService”拖动到“HardenedIIS”上。

    此操作指明“MyWebService”应部署在数据中心的“HardenedIIS”Web 服务器上。使用部署关系图,可以根据所了解的以下情况来评估此部署是否成功:数据中心内逻辑服务器和区域的类型和配置;计划要在其上承载的应用程序的类型和配置。

  7. 右击部署关系图并选择“验证关系图”。

    “错误列表”窗口中将显示以下验证警告:

    • “约束参数‘允许的安全模式’要求设置‘模式’设置为‘Forms’,但是当前却设置为‘Windows’。”

    • “约束参数‘要求模拟’要求设置‘模拟’设置为‘True’,但是当前却设置为‘False’。”

    • “约束参数‘会话状态模式’要求设置‘模式’设置为‘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 会话状态”约束时设置的。

下一步是修复这些警告。

修复验证警告

  1. 右击“错误列表”窗口中的第一个警告,指向“转到”,然后选择“MyWebService 上的模式设置(应用程序关系图)”[Mode Setting on MyWebService (Application Diagram)]。

    此操作将在“设置和约束编辑器”中选择“MyWebService”上的“模式”设置。

  2. 将设置从“Windows”更改为“Forms”。

  3. 在解决方案资源管理器中右击“DefaultSystem1.dd”文件,然后选择“打开”以显示部署关系图。

  4. 用相同方法修复第二个和第三个警告。

    第四个警告指示数据中心中有通信约束,该约束要求在端口 443 上进行通信。作为逻辑数据中心关系图的创作者,您应知道此约束出现的原因。作为逻辑数据中心关系图的使用者,您可以使用解决其他警告时所用的过程来确定出现此警告的原因。

    最后一个错误是由 .asmx 文件上的脚本映射约束导致的。此约束禁止在“PerimeterNetwork”区域中承载 Web 服务,无论该区域内的 Web 服务器是否允许承载 Web 服务。

  5. 重新验证部署关系图。

  6. 修复所有剩余警告。

请参见

其他资源

设计和配置逻辑数据中心演练