服务发布的安全问题

系统会限制创建、修改或删除连接点对象的能力。 在发布服务时,请注意并处理这些限制。

客户端必须能够信任目录中连接点对象发布的数据。 因此,创建连接点对象的权限通常仅限于特权用户,如域管理员。 这样可以防止未经授权的用户通过为已知服务创建无效的连接点来欺骗客户端。

服务不得以域管理员权限运行。 这意味着服务通常无法创建自己的连接点。 相反,需要提供一个服务安装或配置应用程序来创建连接点。 此安装程序必须由具有必要权限的用户运行。

虽然服务通常无法创建自己的连接点,但它必须能够在运行时更新连接点属性。 连接点属性包含客户端用于连接服务的绑定数据。 如果绑定数据发生变化,服务就必须更新连接点;否则,客户将无法使用服务。 这意味着安装程序还必须修改连接点对象上的安全描述符,以便让服务能够在运行时读写适当的属性。 有关详细信息和代码示例,请参阅启用服务帐户以访问 SCP 属性

在 LocalSystem 帐户下运行的服务可以在目录中自己的计算机对象下创建一个连接点作为子对象。 此类服务是服务不创建自己的连接点这一规则的例外情况。 LocalSystem 服务还有权修改自己计算机对象下连接点对象的属性。 请注意,只有在绝对必要的情况下,服务才应在 LocalSystem 帐户下运行。 有关详细信息,请参阅选择服务登录帐户的指南

创建连接点对象或任何对象的应用程序必须具有在创建对象的容器中创建对象类的创建子类权限才能进行创建。 要删除对象,执行该操作的进程必须在容纳该对象的容器上拥有要删除的对象类的删除子权限,或者拥有该对象本身的删除权限。 要更新连接点,执行该操作的进程必须拥有对对象上要更新的属性的写入权限。