如何防止用户篡改、停止或崩溃正在后台运行且可能需要一段时间才能完成的 Windows 服务?
收到停止请求后,服务应等到工作完成后再停止。
服务有 CanStop
标志,但我不确定如何响应 OnStop 消息。如果用户确实试图使服务崩溃,我该如何防止进一步的篡改?
编辑:从家长控制到任何后台进程的一般性问题。
最佳答案
用户必须拥有管理员权限才能停止服务。我不认为有一种万无一失的方法可以保护程序免受盒子上有管理员的人的侵害。如果您不想让“不受信任的用户”停止服务,请不要给“不受信任的用户”管理员权限。
在这一点上似乎有些误会,所以让我澄清一下。假设管理员决定她要卸载您的程序。这通常只需点击几下鼠标。你打算采取措施防止这种情况发生吗?
请仔细考虑您的答案。 根据定义,任何故意试图阻止管理员卸载的程序都是 malware .
我知道,自从 NT 面世以来,授予所有家庭 PC 用户管理员权限已成为相当标准的做法,这样他们就可以随心所欲地安装和玩游戏。然而,对于 Vista 和 Win7,这不再是真正必要的,人们应该改掉这个习惯。这是非常糟糕的安全做法,即使对于“受信任”的用户也是如此。
告诉您的用户他们必须实际遵循一些安全实践并不是一件坏事。他们会发现他们必须以这种方式从他们的机器上清除的恶意软件和病毒也少得多。
关于c# - 保护 Windows 服务免受不受信任的用户访问,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4266776/