为服务的随机访问控制列表编写者提供的最佳做法和指南

文章翻译 文章翻译
文章编号: 914392 - 查看本文应用于的产品
展开全部 | 关闭全部

本文内容

概要

服务随机访问控制列表 (DACL) 是工作站和服务器安全机制的重要组成部分。这篇 Microsoft 知识库文章介绍了如何解读服务的 DACL,还为服务 DACL 的编写者提供了在开发和评估其程序的安全性时可参考的最佳做法指南。

简介

您可以将这篇 Microsoft 知识库文章用作指南,来帮助评估服务的随机访问控制列表 (DACL) 的安全性。

更多信息

要显示某个服务的 DACL,请使用 sc 命令并附带使用 sdshow 参数(如下例所示),其中 service_name 是您要显示其 DACL 的服务的名称:
sc sdshow service_name
该命令会生成类似以下内容的结果:
(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;SY)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;AU)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;PU)(A;;CCDCLCSWLOCRRC;;;LS)
sc 命令的上述示例输出使用安全描述符定义语言 (SDDL) 语法显示了服务的安全描述。有关 SDDL 语法的信息,请访问下面的 Microsoft 网站:
http://msdn2.microsoft.com/en-us/library/aa379567.aspx
要判断服务的 DACL 是否易受攻击,有许多方面需要考虑。下表描述了如何阅读 sc 命令的结果,如何解读每个权限字符串,以及如何了解谁被授予了权限。

您可以按照以下解答来独立地评估括号内的各个字符串:
(允许/拒绝;;权限字符串;;;内置帐户或组的 SID 或缩写)
权限字符串中由两个字母组成的各个字母对分别对应于一种特定权利或权限:
收起该表格展开该表格
字母对权利或权限
CCQueryConf
DCChangeConf
LCQueryStat
SWEnumDeps
RP启动
WP停止
DT暂停
LO询问
CRUserDefined
GAGenericAll
GXGenericExecute
GWGenericWrite
GRGenericRead
SD删除
RCRCtl
WDWDac
WOWOwn

使用 ChangeConf (DC) 权限时要非常小心。要确定您的服务是否容易受权限提升类型的攻击,可查找 ChangeConf 权限。该权限使得被指派者能够更改服务的配置,使其包括在该服务启动时运行的二进制文件。另外,在使用 WDac (WD) 和 WOwn (WO) 权限时也要特别小心,因为这两种权限都可用来将权限提升到 LocalSystem。确保不要将这些权限授予具有较低权限的用户。下表列出了一些代码,这些代码可用于识别在 SDDL 语法中被授予访问权限的用户的类型。
收起该表格展开该表格
代码用户类型
DA域管理员
DG域来宾
DU域用户
ED企业域控制器
DD域控制器
DC域计算机
BA内置(本地)管理员
BG内置(本地)来宾
BU内置(本地)用户
LA本地管理员帐户
LG本地来宾帐户
AO帐户操作员
BO备份操作员
PO打印机操作员
SO服务器操作员
AU经身份验证的用户
PS本人
CO创建者所有者
CG创建者组
SY本地系统
PU高级用户
WD所有人(全球)
RE复制者
IU交互登录用户
NU网络登录用户
SU服务登录用户
RC受限代码
WR写受限代码
AN匿名登录
SA架构管理员
CA证书服务管理员
RS远程访问服务器组
EA企业管理员
PA组策略管理员
RU允许以前的 Windows 2000 的别名
LS本地服务帐户(对于服务)
NS网络服务帐户(对于服务)
RD远程桌面用户(对于终端服务)
NO网络配置操作员
MU性能监视器用户
LU性能日志用户
IS匿名 Internet 用户
CYCrypto 操作员
OW所有者权限 SID
RMRMS 服务

如何解读 SDDL 格式的 DACL 字符串

此信息介绍如何解读本文开头所列的示例 DACL 字符串。这段解释逐一列出了每个访问控制项 (ACE)。
  • (A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;SY)

    此访问控制项 (ACE) 向 LocalSystem (SY) 授予以下权限:
    • QueryConf
    • ChangeConf
    • QueryStat
    • EnumDeps
    • 启动
    • 停止
    • 暂停
    • 询问
    • UserDefined
    • 删除
    • RCtl
    • WDac
    • WOwn
    此访问控制项 (ACE) 仅限于 LocalSystem。这对保证安全性有好处,因为 LocalSystem 已经是工作站上最强大的安全上下文。因此,不存在提升风险。
  • (A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)

    此访问控制项 (ACE) 适用于内置本地管理员 (BA)。此访问控制项 (ACE) 授予所有本地管理员与前一个访问控制项 (ACE) 相同的权限。这也是工作站上一个非常强大的安全上下文。因此,它又一次避免了提升风险。
  • (A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;AU)

    此访问控制项 (ACE) 将前面的所有权限授予任何经过身份验证的用户 (AU)。
在最后一个访问控制项 (ACE) 中,具有较低权限的组中的用户(如经过身份验证的任何用户)可以更改服务的配置。此配置包括在服务启动时运行的二进制文件以及服务在哪个帐户下运行。

以下示例 DACL 不会将 ChangeConf 权限授予经身份验证的用户:
(A;;CCLCSWLOCRRC;;;AU)(A;;CCLCSWRPLOCRRC;;;PU)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;SO)(A;;CCLCSWRPWPDTLOCRRC;;;SY)(A;;DT;;;LS)(A;;DT;;;NS)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;NO)

在此 DACL 中,经身份验证的用户 (AU) 仅被授予以下权限:
  • QueryConf
  • QueryStat
  • EnumDeps
  • 询问
  • UserDefined
  • RCtl
不存在通过向 Authenticated Users 组授予这些权限而导致权限提升的潜在风险。Power Users (PU) 组可能已提升到 LocalSystem,因此不应视为提升风险。在本例中,Power Users 组具有与 Authenticated Users 组相同的所有权限,只是 Power Users 组还可以启动服务 (RP)。接下来是本地管理员 (BA) 组。该组以及下一个组(服务器操作员 (SO) 组)都具有 ChangeConf、WDac 和 WOwn 权限。这可以接受,因为只有最可信的用户才应位于本地管理员组或服务器操作员组中。

LocalSystem (SY) 组除了被授予与 Power Users 组相同的权限外,还被授予“停止”和“暂停”权限。这似乎很合适。随后两个短访问控制项 (ACE) 为本地服务帐户和网络服务帐户授予暂停服务的权限。这似乎也很合适,因为本地服务和网络服务都是强大的本地帐户。

但是,网络配置操作员 (NO) 组被授予 ChangeConf 权限。在 Windows XP 中添加网络配置操作员组的目的是让受信任的用户无需具有完全的管理员权限就能更改网络设置。网络配置操作员组默认为空。有时,该组用于为特定用户授予网络配置权限。例如,便携式计算机的所有者可能被授予该权限。网络配置操作员组中的用户通常具有对计算机的物理控制权。但是,该组的目的不是为了对这些用户授予完全的管理员权限。因此,该服务的 DACL 不应将 ChangeConf 权限授予网络配置操作员组。

最佳做法

限制服务的 DACL,使之仅包括那些需要特定访问类型的用户。使用以下权限时尤其要小心。如果这些权限被授予具有较低权限的用户或组,则可能被用来将权限提升到计算机上的 LocalSystem:
  • ChangeConf (DC)
  • WDac (WD)
  • WOwn (WO)
有关访问权和权限的更多信息,请访问下面的 Microsoft 网站:
http://msdn2.microsoft.com/en-us/library/ms685981.aspx

属性

文章编号: 914392 - 最后修改: 2007年2月15日 - 修订: 1.4
这篇文章中的信息适用于:
  • Microsoft Windows Server 2003 Web Edition
  • Microsoft Windows Server 2003 Standard Edition
  • Microsoft Windows Server 2003 Enterprise Edition
  • Microsoft Windows Server 2003 Datacenter Edition
  • Microsoft Windows Server 2003, Standard x64 Edition
  • Microsoft Windows Server 2003, Enterprise x64 Edition
  • Microsoft Windows Server 2003, Enterprise Edition for Itanium-based Systems
  • Microsoft Windows Server 2003 Service Pack 1
  • Microsoft Windows XP Home Edition
  • Microsoft Windows XP Professional Edition
  • Microsoft Windows XP Media Center Edition
  • Microsoft Windows XP Tablet PC Edition
  • Microsoft Windows XP Service Pack 1
  • Microsoft Windows XP Service Pack 1a
  • Microsoft Windows XP Service Pack 2
  • Microsoft Windows 2000 Professional Edition
  • Microsoft Windows 2000 Server
  • Microsoft Windows 2000 Advanced Server
  • Microsoft Windows 2000 Datacenter Server
关键字:?
kbinfo KB914392
Microsoft和/或其各供应商对于为任何目的而在本服务器上发布的文件及有关图形所含信息的适用性,不作任何声明。 所有该等文件及有关图形均"依样"提供,而不带任何性质的保证。Microsoft和/或其各供应商特此声明,对所有与该等信息有关的保证和条件不负任何责任,该等保证和条件包括关于适销性、符合特定用途、所有权和非侵权的所有默示保证和条件。在任何情况下,在由于使用或运行本服务器上的信息所引起的或与该等使用或运行有关的诉讼中,Microsoft和/或其各供应商就因丧失使用、数据或利润所导致的任何特别的、间接的、衍生性的损害或任何因使用而丧失所导致的之损害、数据或利润不负任何责任。

提供反馈

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com