Prácticas recomendadas y guía para los redactores de las listas de control de acceso discrecionales del servicio

Seleccione idioma Seleccione idioma
Id. de artículo: 914392 - Ver los productos a los que se aplica este artículo
Expandir todo | Contraer todo

En esta página

Resumen

Las listas de control de acceso discrecionales (DACLs) son componentes importantes de la seguridad de la estación de trabajo y el servidor. Este artículo de Microsoft Knowledge Base describe cómo interpretar las DACLs de los servicios. También proporciona el artículo una guía de las prácticas recomendadas a los redactores de las DACLs del servicio cuando desarrollan y valoran la seguridad de sus programas.

INTRODUCCIÓN

Puede usar este artículo de Microsoft Knowledge Base como guía para ayudar a evaluar la seguridad de las listas de control de acceso discrecionales del servicio (DACLs).

Más información

Para mostrar las DACLs de un servicio, use el comando sc junto con el argumento sdshow tal como se muestra en el ejemplo siguiente, donde nombre_servicio es el nombre del servicio cuyas DACLs desea mostrar:
sc sdshow nombre_servicio
El comando genera resultados similares a los siguientes:
(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;SY)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;AU)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;PU)(A;;CCDCLCSWLOCRRC;;;LS)
Este resultado de ejemplo del comando sc muestra una descripción del servicio de seguridad con la sintaxis sintaxis de Lenguaje de definición de descriptores de seguridad (SDDL, Security Descriptor Definition Language). Para obtener información acerca de la sintaxis SDDL, visite el siguiente sitio Web de Microsoft:
http://msdn2.microsoft.com/en-us/library/aa379567.aspx
Debe examinar varias cosas para determinar si un servicio DACL es vulnerable. Las tablas siguientes describen cómo leer los resultados del comando sc, cómo interpretar cada cadena de permiso y a quién se concede el permiso.

Puede evaluar independientemente cada cadena de caracteres encerrados en paréntesis utilizando la clave siguiente:
(Allow/Deny;;String of permissions;;;SID or acronym for built-in account or group)
Cada pareja de dos letras de la cadena de permisos corresponde a un derecho o permiso específico:
Contraer esta tablaAmpliar esta tabla
Pareja Derecho o permiso
CCQueryConf
DCChangeConf
LCQueryStat
SWEnumDeps
RP Start
WPStop
DTPause
LOInterrogate
CRUserDefined
GAGenericAll
GXGenericExecute
GWGenericWrite
GRGenericRead
SDDel
RCRCtl
WDWDac
WOWOwn

Tenga la máxima precaución con el permiso ChangeConf (DC). Busque el permiso ChangeConf cuando esté determinando si su servicio es vulnerable a un ataque de elevación de privilegio. Este permiso habilita a un designado para cambiar la configuración del servicio e incluir un archivo binario que se ejecute al iniciar el servicio. También debe tener mucho cuidado con los permisos WDac (WD) y WOwn (WO), porque ambos se pueden usar para escalar permisos a LocalSystem. Compruebe que esos derechos no se conceden a un usuario que tenga permisos de bajo nivel. Esta tabla enumera los códigos con sintaxis SDDL que se usan para identificar el tipo de usuario al que se le concede acceso.
Contraer esta tablaAmpliar esta tabla
CodeUser type
DADomain Administrators
DGDomain Guests
DUDomain Users
EDEnterprise Domain Controllers
DDDomain Controllers
DCDomain Computers
BABuilt-in (Local ) Administrators
BGBuilt-in (Local ) Guests
BUBuilt-in (Local ) Users
LALocal Administrator Account
LGLocal Guest Account
AOAccount Operators
BOBackup Operators
POPrinter Operators
SOServer Operators
AUAuthenticated Users
PSPersonal Self
COCreator Owner
CGCreator Group
SYLocal System
PUPower Users
WDEveryone (World)
REReplicator
IUInteractive Logon User
NUNetwork Logon User
SUService Logon User
RCRestricted Code
WRWrite Restricted Code
ANAnonymous Logon
SASchema Administrators
CACertificate Services Administrators
RSRemote Access Servers Group
EAEnterprise Administrators
PAGroup Policy Administrators
RUAlias to Allow Previous Windows 2000
LSLocal Service Account (for Services)
NSNetwork Service Account (for Services)
RDRemote Desktop Users (for Terminal Services)
NONetwork Configuration Operators
MUPerformance Monitor Users
LUPerformance Log Users
ISAnonymous Internet Users
CYCrypto Operators
OWOwner Rights SID
RMRMS Service

Cómo interpretar una cadena DACL en el formato SDDL

Esta información describe cómo interpretar la cadena DACL de ejemplo que se incluye al principio de este artículo. Esta interpretación enumera individualmente cada entrada de control de acceso (ACE, access control entry).
  • (A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;SY)

    Esta entrada de control de acceso (ACE) da a LocalSystem (SY) los derechos siguientes:
    • QueryConf
    • ChangeConf
    • QueryStat
    • EnumDeps
    • Start
    • Stop
    • Pause
    • Interrogate
    • UserDefined
    • Delete
    • RCtl
    • WDac
    • WOwn
    La entrada de control de acceso (ACE) se limita a LocalSystem. Esto es bueno para la seguridad, porque LocalSystem es ya el contexto de seguridad más sólido de la estación de trabajo. Por tanto, no hay riesgo de elevación.
  • (A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)

    Esta entrada de control de acceso (ACE) se aplica a los administradores integrados (BA, built-in administrators) locales. Esta entrada de control de acceso (ACE) da a todos los administradores locales los mismos derechos que daba la ACE anterior. También es un contexto de seguridad muy sólido en la estación de trabajo. Por tanto, tampoco hay riesgo de elevación.
  • (A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;AU)

    Esta entrada de control de acceso (ACE) a todos los derechos anteriores a cualquier usuario autenticado (AU, authenticated user)
En la última entrada de acceso (ACE), un usuario de un grupo que tiene pocos derechos, como cualquier usuario autenticado, puede cambiar la configuración del servicio. La configuración incluye el archivo binario que se ejecuta cuando se inicia el servicio y la cuenta bajo la que el servicio se ejecuta.

La siguiente DACL de ejemplo no da derechos ChangeConf a los usuarios autenticados:
(A;;CCLCSWLOCRRC;;;AU)(A;;CCLCSWRPLOCRRC;;;PU)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;SO)(A;;CCLCSWRPWPDTLOCRRC;;;SY)(A;;DT;;;LS)(A;;DT;;;NS)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;NO)

En esta DACL a los usuarios autenticados (AU) solamente se les conceden los siguientes derechos:
  • QueryConf
  • QueryStat
  • EnumDeps
  • Interrogate
  • UserDefined
  • RCtl
Con estos derechos concedidos no hay riesgos potenciales de escalado en el grupo Usuarios autenticados. El grupo Usuarios avanzados (PU, Power Users) puede escalar ya a LocalSystem, por lo que el escalado no debe considerarse como un riesgo. En este ejemplo, el grupo Usuarios avanzados tiene los mismos derechos que el grupo Usuarios autenticados, con la única diferencia de que el promero también puede iniciar el servicio. El grupo Administradores locales (BA) es el siguiente. Este grupo y el siguiente, el grupo Operadores de servidor (SO, Server Operators), tienen ambos los permisos ChangeConf, WDac, y WOwn. Esto es aceptable, porque en los grupos Operadores de servidor o Administradores locales solamente están los usuarios de mayor confianza.

El grupo LocalSystem (SY) recibe los mismos permisos que el grupo Usuarios avanzados, pero recibe además los permisos Stop y Pause. Parece que esto es lo correcto. Las dos siguientes y breves entradas de control de acceso (ACE) dan permisos para detener el servicio a las cuentas de Servicio local y de Servicio de red. Esto también parece apropiado por que Servicio local y Servicio de red son cuentas locales sólidas.

Sin embargo, el grupo Operadores de configuración de red (NO) recibe los permisos ChangeConf. El grupo Operadores de configuración de red se agregó a Windows XP para permitir que los usuarios de confianza cambiaran los valores de red sin tener permisos de administrador completos. El grupo Operadores de configuración de red está vacío de manera predeterminada. El grupo se usa a veces para dar permisos de configuración de red a usuarios específicos. Por ejemplo, podría recibir este permiso el propietario de un equipo portátil. Los usuarios del grupo Operadores de configuración de red suelen tener el control físico del equipo. Sin embargo, la intención de este grupo no es la de dar a estos usuarios permisos de administrador completos. Por tanto, este DACL del servicio no debería dar permisos ChangeConf al grupo Operadores de configuración de red.

Prácticas recomendadas

Limitar las DACL del servicio solamente a aquellos usuarios que necesitan un tipo de acceso particular. Sea especialmente precavido con los derechos siguientes. Si se conceden estos derechos a un usuario o un grupo con pocos derechos, pueden usarse estos derechos a elevar LocalSystem en el equipo:
  • ChangeConf (DC)
  • WDac (WD)
  • WOwn (WO)
Para obtener más información acerca de los permisos y y derechos de acceso, visite el siguiente sitio Web de Microsoft:
http://msdn2.microsoft.com/en-us/library/ms685981.aspx

Propiedades

Id. de artículo: 914392 - Última revisión: jueves, 15 de febrero de 2007 - Versión: 1.4
La información de este artículo se refiere a:
  • Microsoft Windows Server 2003, Web Edition
  • Microsoft Windows Server 2003, Standard Edition (32-bit x86)
  • Microsoft Windows Server 2003, Enterprise Edition (32-bit x86)
  • Microsoft Windows Server 2003, Datacenter Edition (32-bit x86)
  • 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
  • Microsoft Windows XP Media Center Edition
  • Microsoft Windows XP Tablet PC Edition
  • Service Pack 1 de Microsoft Windows XP
  • 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
Palabras clave: 
kbinfo KB914392

Enviar comentarios

 

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