程序包含一个Windows Service Assembly,该Service以域中的某个管理员权限运行。因为运行该服务的账号权限很高,所以需要防止该服务程序被替换。若恶意软件替换了该Service程序,就可以在不知道管理员的用户名和密码的情况下对域中的重要服务进行任意操作。有什么办法防止该Service Assembly被恶意替换?

解决方案 »

  1.   

    或者你实时的检测Service的特殊标识
      

  2.   

    换个角度看问题。以域中的某个管理员权限运行以Service不太好。
    很少有需要用域用户运行的服务,我知道的只有Cluster Service需要域用户帐号。
      

  3.   


    调用SharePoint SSP的Web Service, Windows NTLM身份验证。
      

  4.   

    从安全角度讲,用域用户来运行服务还好,可以把域用户的权限限制到比本地管理员还小。它的缺点就是密码总要被SCM存在某个地方,增加了被攻击的点。
    用域管理员身份来运行服务,尤其在没有特殊保护的机器上,则是很不好的主意。
      

  5.   

    看来是我没有说清楚。运行服务的用户是SharePoint中的SSP的管理员,在域中该用户只是一个普通用户。我的Service需要调用SharePoint的Web Service从一个SSP中导出用户的profile,然后复制到另外一个SSP中。看来似乎没有什么完美的解决办法了。谢谢gomoku。