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

Resumen

Listas de control de acceso discrecional (DACL) de servicio son componentes importantes de la estación de trabajo y de seguridad del servidor. En este artículo de Microsoft Knowledge Base describe cómo interpretar las DACL en los servicios. Este artículo también proporciona orientación de prácticas recomendadas para los escritores de DACL de servicios al desarrollo y evaluación de la seguridad de sus programas.

INTRODUCCIÓN

Puede utilizar este artículo de Microsoft Knowledge Base como guía para ayudar a evaluar la seguridad de las listas de control de acceso discrecional (DACL) de servicio.

Más información

Para mostrar la DACL de un servicio, utilice el comando sc junto con el argumento sdshow tal como se muestra en el ejemplo siguiente, donde nombreDeServicio es el nombre del servicio cuyas DACL que desea mostrar:
SC sdshow service_name
El comando genera resultados similares a estos:
(A; CCDCLCSWRPWPDTLOCRSDRCWDWO;; SY) (A; CCDCLCSWRPWPDTLOCRSDRCWDWO;; BA) (A; CCDCLCSWRPWPDTLOCRSDRCWDWO;; AU) (A; CCDCLCSWRPWPDTLOCRSDRCWDWO;; PU) (A; CCDCLCSWLOCRRC;; LS)
Esta salida muestra desde el comando sc muestra la descripción de seguridad de un servicio en la sintaxis del lenguaje de definición de descriptores de seguridad (SDDL). Para obtener información acerca de la sintaxis SDDL, visite el siguiente sitio Web de Microsoft:Hay varios factores que deben considerarse para determinar si un servicio DACL es vulnerable. Las siguientes tablas describen cómo leer los resultados del comando sc , cómo interpretar cada cadena de permisos y cómo interpretar a quien se concede el permiso.

Puede evaluar independientemente cada cadena de caracteres que aparecen entre paréntesis mediante la siguiente clave:
(Permitir/denegar; Cadena de permisos;; SID o acrónimo de cuenta o grupo)
Cada par de dos letras en la cadena de permisos corresponde a un derecho específico o permiso:
ParDerecha o permiso
CCQueryConf
DCChangeConf
LCQueryStat
SWEnumDeps
RPInicio
WPDetener
DTPausa
LOInterrogar
CRUserDefined
GAGenericAll
GXGenericExecute
GWGenericWrite
GRGenericRead
SDSUPR
RCRCtl
WDWDac
WOWOwn

Tenga cuidado al máximo con el permiso de ChangeConf (DC). Busque el permiso ChangeConf al determinar si el servicio es vulnerable a un ataque de elevación de privilegios. Este permiso permite a una persona designada cambiar la configuración del servicio para incluir el archivo binario que se ejecuta cuando se inicia el servicio. También debe tener mucho cuidado con los permisos de WOwn (WO) y WDac (WD) porque ambos pueden utilizarse para elevar permisos de LocalSystem. Asegúrese de que estos derechos no se conceden a un usuario que tenga permisos de bajos. Esta tabla enumera los códigos que se utilizan para identificar el tipo de usuario que tiene acceso en la sintaxis SDDL.
CódigoTipo de usuario
DASAdministradores de dominio
DGInvitados del dominio
DUUsuarios del dominio
EDControladores de dominio empresariales
DDControladores de dominio
DCEquipos del dominio
BAAdministradores incorporado (Local)
BGInvitados integrados (Local)
UNIDAD DE NEGOCIOUsuarios integrados (Local)
LACuenta de administrador local
LGCuenta de invitado local
AOOperadores de cuentas
BOOperadores de copia de seguridad
ORDEN DE COMPRAOperadores de impresora
POR LO QUEOperadores de servidores
AUUsuarios autenticados
PSPropio personal
COCreador propietario
CGGrupo de creador
SYSistema local
PUUsuarios avanzados
WDTodo el mundo (todos)
REReplicator
IUUsuario de inicio de sesión interactivo
NUUsuario de inicio de sesión de red
SUUsuario de inicio de sesión de servicio
RCCódigo restringido
WREscribir código restringido
UNInicio de sesión anónimo
SAAdministradores de esquema
ENTIDAD EMISORA DE CERTIFICADOSLos administradores de servicios de Certificate Server
RSGrupo de servidores de acceso remoto
EAAdministradores de empresa
PAAdministradores de directivas de grupo
RUAlias para permitir anterior de Windows 2000
LSCuenta de servicio local (de servicios)
NSCuenta de servicio de red (de servicios)
ESCRITORIO REMOTOUsuarios de escritorio remoto (para servicios de Terminal Server)
NoOperadores de configuración de red
MUUsuarios del Monitor de rendimiento
LUUsuarios del registro de rendimiento
ISUsuarios de Internet anónimos
CYOperadores de cifrado
OWSID de derechos de propietario
RMServicio de RMS

Cómo interpretar una cadena DACL en formato SDDL

Esta información describe cómo interpretar la cadena de la DACL de ejemplo que aparece en la parte superior de este artículo. Esta interpretación enumera individualmente cada entrada de control de acceso (ACE).
  • (A; CCDCLCSWRPWPDTLOCRSDRCWDWO;; SY)

    Esta entrada de control de acceso (ACE) concede a LocalSystem (SY) los derechos siguientes:
    • QueryConf
    • ChangeConf
    • QueryStat
    • EnumDeps
    • Inicio
    • Detener
    • Pausa
    • Interrogar
    • UserDefined
    • Eliminar
    • RCtl
    • WDac
    • WOwn
    La entrada de control de acceso (ACE) está restringida a LocalSystem. Esto es conveniente para la seguridad porque LocalSystem ya está en el contexto de seguridad más eficaces en la estación de trabajo. Por tanto, no hay ningún riesgo de elevación.
  • (A; CCDCLCSWRPWPDTLOCRSDRCWDWO;; BA)

    Esta entrada de control de acceso (ACE) se aplica a los administradores locales integrados (BA). Esta entrada de control de acceso (ACE) proporciona los mismos derechos que en la anterior entrada de control de acceso (ACE) a todos los administradores locales. También es un contexto de seguridad muy eficaz en la estación de trabajo. Por lo tanto, no hay otra vez riesgo de elevación.
  • (A; CCDCLCSWRPWPDTLOCRSDRCWDWO;; AU)

    Esta entrada de control de acceso (ACE) proporciona todos los derechos anteriores a cualquier usuario autenticado (AU).
En la entrada pasada con el control de acceso (ACE), un usuario en un grupo que tenga derechos de bajos, 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 se ejecuta el servicio.

En el siguiente ejemplo A que DACL no otorga derechos de ChangeConf los usuarios autenticados:
(A; CCLCSWLOCRRC;; AU) (A; CCLCSWRPLOCRRC;; PU) (A; CCDCLCSWRPWPDTLOCRSDRCWDWO;; BA) (A; CCDCLCSWRPWPDTLOCRSDRCWDWO;; ASÍ) (A; CCLCSWRPWPDTLOCRRC;; SY) (A; D T;; LS) (A; D T;; NS) (A; CCDCLCSWRPWPDTLOCRSDRCWDWO;; NO)

Esta DACL, los usuarios autenticados (AU) reciben sólo los siguientes derechos:
  • QueryConf
  • QueryStat
  • EnumDeps
  • Interrogar
  • UserDefined
  • RCtl
No existen posibles riesgos de escalamiento mediante el grupo Usuarios autenticados con estos derechos. El grupo de usuarios de energía (PU) ya se puede escalar a LocalSystem, por lo que no debe considerarse un riesgo de escalamiento. En este ejemplo, el grupo Usuarios avanzados tiene los mismos derechos que el grupo Usuarios autenticados excepto en que el grupo Usuarios avanzados también puede iniciar el servicio (RP). El grupo Local administradores (BA) es el siguiente. El siguiente grupo, el grupo Operadores de servidor (SO) y este grupo tienen permisos ChangeConf, WDac y WOwn. Esto es aceptable porque deben ser únicamente a los usuarios mayor confianza en los administradores locales o del grupo Operadores de servidor.

El grupo LocalSystem (SY) tiene los mismos permisos que el grupo Usuarios avanzados, pero también recibe los permisos detención y pausa. Esto parece ser adecuado. Las dos entradas de control de acceso corta (ACE) dan la cuenta de servicio Local y los permisos de la cuenta de servicio de red para pausar el servicio. Esto también parece ser adecuada como servicio Local y servicio de red son ambas cuentas locales eficaz.

Sin embargo, el grupo Operadores de configuración de red (n), se conceden permisos de ChangeConf. Se ha agregado al grupo Operadores de configuración de red en Windows XP para permitir a usuarios de confianza cambiar configuración de la red sin tener permisos de administrador total. De forma predeterminada, el grupo Operadores de configuración de red está vacío. A veces se utiliza el grupo para conceder permisos de configuración de red a usuarios específicos. Por ejemplo, el propietario de un equipo portátil puede concederse este permiso. Los usuarios del grupo Operadores de configuración de la red con frecuencia tengan control físico del equipo. Sin embargo, la intención de este grupo no es dar a dichos usuarios permisos de administrador total. Por lo tanto, este servicio DACL no debe dar permisos de ChangeConf para el grupo Operadores de configuración de red.

Mejores prácticas

Limitar las DACL de servicios a sólo aquellos usuarios que necesitan un determinado tipo de acceso. Tenga especial cuidado con los siguientes derechos. Si estos derechos se conceden a un usuario o a un grupo que tiene pocos derechos, los derechos pueden utilizarse para elevar a LocalSystem en el equipo:
  • ChangeConf (DC)
  • WDac (WD)
  • WOwn (WO)
Para obtener más información acerca de los permisos y derechos de acceso, visite el siguiente sitio Web de Microsoft:
Propiedades

Id. de artículo: 914392 - Última revisión: 17 ene. 2017 - Revisión: 2

Comentarios