jma*_*ias 374 windows security
我编写了一个Windows服务,它产生了一个单独的进程.此过程创建一个COM对象.如果服务在"本地系统"帐户下运行,一切正常,但如果服务在"网络服务"帐户下运行,则外部进程启动但无法创建COM对象.从COM对象创建返回的错误不是标准的COM错误(我认为它特定于正在创建的COM对象).
那么,我如何确定"本地系统"和"网络服务"这两个帐户的区别?这些内置帐户看起来非常神秘,似乎没有人知道它们.
Pet*_*ert 678
由于标准服务帐户的功能存在很多混淆,我会尝试快速运行.
首先是实际账户:
LocalService帐户(首选)
有限的服务帐户,与网络服务非常相似,用于运行标准的最低权限服务.但是,与网络服务不同,它无法访问网络,因为计算机以匿名用户身份访问网络.
NT AUTHORITY\LocalServiceHKEY_USERS\S-1-5-19)
用于运行标准特权服务的有限服务帐户.此帐户比本地系统(甚至管理员)更受限制,但仍有权作为计算机访问网络(请参阅上面的警告).
NT AUTHORITY\NetworkServiceMANGO$)提供给远程服务器HKEY_USERS\S-1-5-20)NETWORK SERVICE" 选择用户或组"对话框
LocalSystem帐户 (危险,请勿使用!)
完全信任的帐户,比管理员帐户更多.此帐户无法在单个框中执行任何操作,并且它有权作为计算机访问网络(这需要Active Directory并授予计算机帐户权限)
.\LocalSystem也可以使用LocalSystem或ComputerName\LocalSystem)HKCU代表默认用户)MANGO$)提供给远程服务器
在谈到访问网络时,这仅涉及SPNEGO(协商),NTLM和Kerberos,而不涉及任何其他身份验证机制.例如,正在运行的处理LocalService仍然可以访问互联网.
作为标准开箱即用帐户运行的一般问题是,如果您修改任何默认权限,那么您正在扩展所有以该帐户运行的所有内容.因此,如果您将DBO授予数据库,则作为本地服务或网络服务运行的服务不仅可以访问该数据库,还可以访问作为这些帐户运行的所有其他服务.如果每个开发人员都这样做,那么计算机将拥有一个服务帐户,该帐户具有执行任何操作的权限(更具体地说,是授予该帐户的所有不同附加权限的超集).
从安全角度来看,始终最好以您自己的服务帐户身份运行,该帐户具有您执行服务所需的权限,而不是其他任何权限.但是,此方法的成本是设置您的服务帐户和管理密码.这是每个应用程序需要管理的平衡行为.
在您的特定情况下,您可能看到的问题是DCOM或COM +激活仅限于给定的一组帐户.在Windows XP SP2,Windows Server 2003及更高版本中,激活权限受到严重限制.您应该使用组件服务MMC管理单元检查您的特定COM对象并查看激活权限.如果您不是作为计算机帐户访问网络上的任何内容,则应认真考虑使用本地服务(而非本地系统,基本上是操作系统).
在Windows Server 2003中,你无法运行计划任务为
NT_AUTHORITY\LocalService (也称为本地服务帐户),或 NT AUTHORITY\NetworkService (又名网络服务帐户). 该功能仅在Task Scheduler 2.0中添加,该程序仅存在于Windows Vista/Windows Server 2008及更高版本中.
运行的服务NetworkService在网络上显示计算机凭据.这意味着如果您的计算机被调用mango,它将显示为计算机帐户 MANGO$:

| 归档时间: |
|
| 查看次数: |
343079 次 |
| 最近记录: |