更改系统范围内的安全设置将影响未设置其进程范围安全性的所有 COM 服务器应用程序。 这可能会阻止此类应用程序正常工作。 如果要更改系统范围内的安全设置以影响特定 COM 应用程序的安全设置,则应改为更改该特定 COM 应用程序的进程范围安全设置。 有关设置进程范围安全性的详细信息,请参阅 “设置进程范围安全性”。
如果希望一台计算机上所有未提供自己的安全性的应用程序共享相同的默认安全设置,则可以在系统范围内设置安全性。 使用 Dcomcnfg.exe 可以轻松地在应用于计算机上的所有应用程序的注册表中设置默认值。
请务必了解,如果客户端或服务器显式调用 CoInitializeSecurity 以设置进程范围的安全性,则会忽略注册表中的默认设置,而 CoInitializeSecurity 的参数将用于进程的安全设置。 此外,如果使用 Dcomcnfg.exe 为特定进程指定安全设置,则进程设置将替代默认计算机设置。
启用系统范围安全性时,必须将身份验证级别设置为非 None 值,并且必须设置启动和访问权限。 可以选择设置默认模拟级别,还可以启用引用跟踪。 以下主题提供分步过程:
设置系统范围内的默认身份验证级别
身份验证级别用于告知 COM 希望对客户端进行身份验证的级别。 这些级别提供各种级别的保护,从不保护到完全加密。 若要为计算机启用安全性,需要选择非“无”的身份验证级别。 可以通过完成以下步骤,使用 Dcomcnfg.exe来选择此类设置。
在系统范围内设置身份验证级别
运行 Dcomcnfg.exe。
选择 “默认属性 ”选项卡。
在 “默认身份验证级别 ”列表框中,选择除 “无”以外的值。
如果要为计算机设置更多属性,请单击 “应用 ”按钮应用新的身份验证级别。 否则,请单击“ 确定 ”以应用更改并退出 Dcomcnfg.exe。
设置系统全局启动权限
使用 Dcomcnfg.exe 设置的启动权限确定一个用户列表,其中每个用户都明确授予或拒绝了启动任何不提供其启动权限设置的服务器的权限。 设置启动权限时,可以从此列表中添加或删除一个或多个用户或组。 对于添加的每个用户,必须指定是授予还是拒绝启动权限。
设置计算机的启动权限
在 Dcomcnfg.exe的默认安全属性页上,选择“默认启动权限”区域中的“编辑默认”按钮。
若要删除用户或组,请选择要删除的用户或组,然后选择“ 删除 ”按钮。 所选用户或组将不再显示在列表框中。 完成删除用户和组后,选择 “确定”。
如果要添加用户或组,请选择 “添加 ”按钮。
如果知道要添加的完全限定用户名,请在 “添加名称 ”文本框中键入它。 如果不知道用户名,请参阅 使用 DCOMCNFG 设置全进程安全性 来查找它。 找到用户名后,从“ 名称 ”列表框中选择用户或组,然后选择“ 添加 ”按钮。
在 “访问类型 ”列表框中,选择访问类型( 允许启动 或 拒绝启动)。 若要添加还将具有所选访问权限类型的其他用户,请重复步骤 4。 完成为所选访问类型添加用户后,请选择 “确定 ”按钮。
若要添加将具有不同类型的访问权限的用户,请重复步骤 4 和 5。 否则,请选择 “确定 ”以应用更改。
设置全局访问权限
Dcomcnfg.exe 允许你设置访问权限,以控制授予或拒绝访问那些不提供自己访问权限的服务器方法的用户列表。 可以将用户或组添加到列表中,指定是授予还是拒绝访问权限。 还可以从列表中删除用户。
设置访问权限时,必须确保系统包含在授予访问权限的用户列表中。 如果已向所有用户授予访问权限,则隐式包含 SYSTEM。
为计算机设置访问权限的过程类似于设置启动权限。 应执行以下步骤。
设置计算机的访问权限
在 Dcomcnfg.exe的“默认安全”属性页上,选择“默认访问权限”区域中的“编辑默认”按钮。
若要删除用户或组,请选择要删除的用户或组,然后选择“ 删除 ”按钮。 所选用户或组将不再显示在列表框中。 完成删除用户和组后,选择 “确定”。
如果要添加用户或组,请选择 “添加 ”按钮。
如果知道要添加的完全限定用户名,请在 “添加名称 ”文本框中键入它。 如果不知道用户名,请参阅 使用 DCOMCNFG 设置进程范围安全性 以查找它。 找到用户名后,从“ 名称 ”列表框中选择用户或组,然后选择“ 添加 ”按钮。
在 “访问类型 ”列表框中,选择访问类型( 允许访问 或 拒绝访问)。 若要添加将具有所选访问权限类型的其他用户,请重复步骤 4。 完成为所选访问类型添加用户后,请选择 “确定 ”按钮。
若要添加将具有不同类型的访问权限的用户,请重复步骤 4 和 5。 否则,请选择 “确定 ”以应用更改。
设置系统范围内的模拟级别
客户端设置的模拟级别确定提供给服务器的权限,供服务器代表客户端执行操作。 例如,当客户端将模拟级别设置为“委派”时,服务器可以以客户端身份访问本地和远程资源,并且如果设置了“伪装”功能,服务器可以跨越多个计算机边界进行伪装。 若要帮助确定应选择的模拟级别,请参阅 模拟级别 和 遮盖。
设置计算机的默认模拟级别会通知 COM,当计算机上的某个客户端没有通过编程使用 CoInitializeSecurity 或 CoSetProxyBlanket 指定模拟级别时,应该使用哪个模拟级别。
为计算机设置模拟身份级别
运行 Dcomcnfg.exe 后,选择“ 默认属性 ”选项卡。
从 “默认模拟级别 ”列表框中,选择所需的模拟级别。
如果要为计算机设置更多属性,请选择 “应用 ”按钮以应用新的模拟级别。 否则,请选择 “确定 ”以应用更改并退出 Dcomcnfg.exe。
设置系统范围引用跟踪
启用引用跟踪时,要求 COM 执行其他安全检查,并跟踪将阻止对象过早释放的信息。 请记住,这些额外的检查成本高昂。 有关引用跟踪的详细信息,请参阅 参考跟踪。 使用以下步骤启用或禁用引用跟踪。
设置计算机的引用跟踪
运行 Dcomcnfg.exe 后,选择“ 默认属性 ”选项卡。
若要启用或禁用引用跟踪,请选择(或清除)页面底部附近的 “为引用跟踪提供附加安全性 ”复选框。
如果要为计算机设置更多属性,请选择 “应用” 按钮以应用新设置。 否则,请选择 “确定 ”以应用更改并退出 Dcomcnfg.exe。
启用和禁用 DCOM
当计算机是网络的一部分时,DCOM 线路协议使该计算机上的 COM 对象能够与其他计算机上的 COM 对象通信。 可以为特定计算机禁用 DCOM,但这样做将禁用该计算机上的对象和其他计算机上的对象之间的所有通信。
在计算机上禁用 DCOM 不会影响本地 COM 对象。 COM 仍查找您已指定的启动权限。 如果未指定任何启动权限,则使用默认启动权限。 即使禁用 DCOM,如果用户对计算机具有物理访问权限,他们也可以在计算机上启动服务器,除非你设置启动权限不允许它。
注释
如果在远程计算机上禁用 DCOM,则之后将无法远程访问该计算机以重新启用 DCOM。 若要重新启用 DCOM,需要对该计算机进行物理访问。
为计算机手动启用或禁用 DCOM
运行 Dcomcnfg.exe。
选择 “默认属性 ”选项卡。
选中(或清除) 此计算机上的“启用分布式 COM ”复选框。
如果要为计算机设置更多属性,请单击 “应用 ”按钮以启用或禁用 DCOM。 否则,请单击“ 确定 ”以应用更改并退出 Dcomcnfg.exe。
相关主题