在 COM+ 中使用软件限制策略

正确使用软件限制策略可以促使企业更加敏捷,因为会提供一个主动框架来防止出现问题,而不是一个反应性框架,该框架依赖于在出现问题后还原系统的代价高昂的替代方法。 Microsoft Windows XP 的发布引入了软件限制策略,可帮助保护系统免受未知和可能危险的代码的侵害。 限制策略提供了一种机制,其中仅向受信任的代码授予对用户特权的无限制访问权限。 允许未知代码(可能包含与当前安装的程序冲突的病毒或代码)仅在受约束的环境(通常称为沙盒)中运行,不允许访问任何安全敏感用户特权。

软件限制策略取决于将信任级别分配给可在系统上运行的代码。 目前存在两个信任级别:不受限制和不允许。 为具有不受限制信任级别的代码授予对用户特权的无限制访问权限,因此只能将此信任级别应用于完全信任的代码。 不允许具有不允许信任级别的代码访问任何安全敏感用户特权,并且只能在沙盒中运行,这有助于防止不受限制的代码将不允许的代码加载到其地址空间中。

为系统配置软件限制策略可通过本地安全策略管理工具完成,而单个 COM+ 应用程序的限制策略配置可通过以编程方式或通过组件服务管理工具来完成。 如果未为 COM+ 应用程序指定限制策略信任级别,则使用系统范围的设置确定应用程序的信任级别。 必须将 COM+ 限制策略设置与系统范围的设置进行仔细协调,因为具有不受限制信任级别的 COM+ 应用程序只能加载具有不受限制信任级别的组件;不允许的 COM+ 应用程序可以使用任何信任级别加载组件,但无法访问用户的所有特权。

除了单个 COM+ 应用程序的软件限制策略信任级别外,另外两个属性还确定如何将限制策略用于所有 COM+ 应用程序。 如果启用了 SRPRunningObjectChecks,则检查连接到正在运行的对象的尝试,以获得适当的信任级别。 正在运行的对象的信任级别严格程度不能低于客户端对象。 例如,如果客户端对象具有不受限制的信任级别,则正在运行的对象不能具有不允许的信任级别。

第二个属性确定软件限制策略如何处理激活即激活器连接。 如果启用了 SRPActivateAsActivatorChecks,则会将为服务器对象配置的信任级别与客户端对象的信任级别进行比较,并且将使用更严格的信任级别运行服务器对象。 如果未启用 SRPActivateAsActivatorChecks,则无论配置了哪个信任级别,服务器对象都将使用客户端对象的信任级别运行。 默认情况下,已启用 SRPRunningObjectChecks 和 SRPActivateAsActivatorChecks。

客户端身份验证

客户端模拟和委托

配置软件限制策略

库应用程序安全性

多层应用程序安全性

编程组件安全性

基于角色的安全管理