我开发了.NET Windows服务(在VS2010中),需要:
访问本地networking上的计算机上的共享文件夹(读/写)
写入registry的HKLM / SOFTWARE部分
在本地文件系统的所有部分写入文件并创build文件夹(例如C:的根目录:)
从网上下载文件(使用http)
从Windows XP SP3开始,我的服务必须适用于所有Windows(PC)操作系统。
问题:我应该为我的服务select哪个服务帐户?
通常,我会使用“ 本地服务 ”或“networking服务”,但这些授予都不需要自己的权限。
Shellcode和格式string漏洞?
XDebug主机 – 安全?
线程模拟的多级使用
.NET安全策略由标准用户更改?
HttpAddUrl权限
我应该使用“ LocalSystem ”帐户吗? 或者,我应该创build一个完整的独立帐户(仅在安装期间自动完成)吗?
现在我使用“ NetworkService ”帐户,并在安装过程中将其添加到adimistrators组,这很好。 但是我认为这种方法破坏了关于有限服务账户的整个想法,从而带来了安全风险 – 你不同意吗?
如何创build一个更低的完整性级别(IL)的新stream程?
把一个进程放在沙箱里,这样做可以把危害降到最小
Windows 7相当于OS X系统钥匙串
Windows程序文件夹中世界可写batch file的安全问题
.NET中安全身份的本地化
你不应该使用LOCALSYstem 。 这有太多的权力,所有的最佳实践告诉你不要使用它。
在我看来,您应该创建一个本地用户作为您的安装的一部分适当的权利。 这对于服务器/数据库产品来说是相当普遍的做法。
听起来你需要分开你的要求。
你提到需要访问其他计算机上的共享,但是你也提到这个服务将被安装的机器不一定是域的一部分。
让服务在授予您相应LOCAL权限的用户帐户下执行。 然后有一些类型的替代用户帐户,访问您的服务知道的适当的股份,并在需要的时候模仿。
现在,关于在ROOT中编写和创建文件,这将是有趣的 。 如果UAC处于打开状态,则您的服务将需要完整的管理权限才能在Windows 7框中执行此操作。 其中,假设在你不直接控制的机器上可能是安全的。 要么消除这个要求,要么你不得不忍受你的服务存在安全风险的想法。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。