演练:创建安全区域(第 1 部分)
更新:2007 年 11 月
本演练以 演练:创建逻辑数据中心关系图 为基础。
在本演练中,将了解如何使用用户定义的约束和区域终结点约束为该区域内承载的逻辑服务器创建具体要求。还将了解如何创建可在工具箱中存储的、可重用区域原型。第一步是约束区域中允许的通信类型。在本演练中,将使用您在演练:创建逻辑数据中心关系图中创建的“PerimeterNetwork”安全区域。
只允许通过端口 443 上的 https 的入站区域通信量
右击“Internet”入站区域终结点,然后单击“设置和约束”以查看“设置和约束编辑器”。
在“区域通信约束”下,清除“DatabaseServerEndpoint”和“GenericServerEndpoint”复选框。
这将防止数据库或泛型服务器连接到入站区域终结点。
选中“WebSiteEndpoint”下的“用户定义”复选框。
展开“用户定义”并选择“用户定义”下的“WebSite”复选框。
这样便可以为与入站区域终结点通信(连接)的网站编写约束。
单击编辑器左窗格中的“网站”标题。在右窗格中,展开“身份验证”树并选择“SecureBindings”复选框。
在“运算符”下,选择“包含一个”。
单击“值”字段,再单击省略号(“…”)。
随即出现“ComplexSetting 集合编辑器”。
单击“添加”。
在“端口”下输入 443。
将“IPAddress”字段保留为空白。
单击“确定”。
现在已经对以下所有通信量进行了约束,这些通信量通过入站区域终结点传入,并且要通过处理 HTTPS 通信量的端口 443。下一步是限制该区域可以包含的逻辑服务器的类型。
限制区域可包含的内容
选择区域形状并查看“设置和约束”编辑器。
在“区域包容约束”下,清除“泛型服务器”、“WindowsClient”和“区域”复选框。
通过这样做,就对区域进行了约束,防止它包含泛型服务器(可以承载各种应用程序的服务器)、Windows 服务器(可以承载 Windows 客户端的服务器)或其他区域。如果尝试从工具箱或逻辑数据中心关系图上的其他位置删除该区域中的任何这些项,您将无法完成。
下一步是向区域中添加数据库服务器。
向区域中添加数据库服务器
将“DatabaseServer”从工具箱拖动到关系图中,并将其放在“PerimeterNetwork”区域内。
将此服务器命名为“SessionStore”。
此服务器将用于存储来自“HardenedIIS”Web 服务器的 SQL 会话状态信息。
选择“SessionStore”上的提供方终结点,按 Alt,然后将其连接到“HardenedIIS”。
下一步是编写防止 Web 服务器承载 Web 服务的区域约束。
约束 Web 服务器承载 Web 服务
单击该区域。
在“区域包容约束”下,展开“IISWebServer”,依次选择“用户定义”复选框、“InternetInformationServices”复选框和“WebSites”复选框。
单击“设置和约束编辑器”左窗格中的“WebSites”节点,在右窗格中展开“内容”节点。
选择“ScriptMaps”。
说明: 如果您在编辑器的左窗格中选择了“WebSite”而不是“WebSites”,则“ScriptMaps”部分不会显示在“内容”下。
在“运算符”下,从列表框中选择“全不包含”。
单击“值”字段,再单击省略号(“…”)。
随即出现“ComplexSetting 集合编辑器”。
单击“添加”。
在“FileExtension”下键入“.asmx”。
在“IncludedVerbs”下键入“GET,HEAD,POST,DEBUG”。
说明: 准确输入此字符串。如果添加了空格或更改了谓词的顺序,则此约束将不起作用。
将“脚本”设置为“True”。
在“ScriptProcessor”下,输入 aspnet_isapi.dll 的路径(“%WINDIR%\Microsoft.NET\Framework\v2.0.40420\aspnet_isapi.dll”)。
单击“确定”。
此约束可以防止周边网络中的 Web 服务器承载 Web 服务。这一点的实现方法是限制所有 Web 服务器,使其不得承载允许特定脚本映射运行的网站。由于此约束是在区域本身上创作的,所以将根据此约束对区域内的所有 Web 服务器进行评估,如同将对 Web 服务器承载的应用程序进行评估一样。
最后一步是创建此区域的可重用版本,可从工具箱访问该版本,也可以与组织中的其他人共享。
创建 PerimeterNetwork 区域的可重用原型
单击该区域。
从“关系图”菜单中选择“添加到工具箱”。
随即出现“添加到工具箱”对话框。
在“名称”下键入“PerimeterNetwork”,然后单击“确定”。
随即出现“保存文件”对话框。该文件将保存为 .lddprototype 文件,表示它是可在逻辑数据中心设计器中使用的原型。
单击“保存”。
打开工具箱并将“PerimeterNetwork”拖到关系图中。
通过创建此原型,您已创建“PerimeterNetwork”区域的自定义版本,此原型可在您创建或编辑的任何逻辑数据中心关系图上重用。每次创建新的分布式系统解决方案时,都会显示此原型。这是设计器的一项功能,而不是创建原型时已打开的解决方案的功能。
通过将 .lddprototype 文件的副本放置到默认原型文件夹(通常位于 %ProgramFiles%\Microsoft Visual Studio <版本号>\Common7\Tools\DesignerPrototypes\Prototypes)中,可与其他分布式系统设计器用户共享此原型。有关在逻辑数据中心设计器中创建可重用原型的更多信息,请参见 如何:根据已配置的区域和逻辑服务器创建自定义原型。有关将这些原型重新分发给其他用户的更多信息,请参见 如何:导入或安装新的自定义原型。
后续步骤
在本演练的第二部分中,您将了解如何进行以下操作:
为“HardenedIIS”上承载的应用程序设置策略。
将设置从现有的已配置 IIS 服务器导入“HardenedIIS”。
评估 Web 服务在“HardenedIIS”上的部署。