Procedimentos recomendados e orientações para escritores de listas de controlo de acesso discricionário de serviços

Traduções de Artigos Traduções de Artigos
Artigo: 914392 - Ver produtos para os quais este artigo se aplica.
Expandir tudo | Reduzir tudo

Nesta página

Sumário

Listas de controlo de acesso discricionário (DACLs, discretionary access control lists) de serviços são componentes importantes de segurança de estações de trabalho e de servidores. Este artigo da base de dados de conhecimento da Microsoft (KB, Microsoft Knowledge Base) descreve como interpretar as DACLs de serviços. Este artigo também fornece orientações de procedimentos recomendados a escritores de DACLs de serviços para quando estejam a desenvolver e a avaliar a segurança dos respectivos programas.

INTRODUÇÃO

Pode utilizar este artigo da base de dados de conhecimento da Microsoft (KB, Microsoft Knowledge Base) como um guia para o ajudar a avaliar a segurança de listas de controlo de acesso discricionário (DACLs, discretionary access control lists) de serviços.

Mais Informação

Para visualizar as DACLs de um serviço, utilize o comando sc em conjunto com o argumento sdshow, como mostrado no exemplo que se segue, em que nome_serviço corresponde ao nome do serviço cujas DACLs pretende visualizar:
sc sdshow nome_serviço
O comando gera resultados semelhantes aos seguintes:
(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;SY)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;AU)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;PU)(A;;CCDCLCSWLOCRRC;;;LS)
Este exemplo de resultado do comando sc mostra a descrição de segurança de um serviço na sintaxe da linguagem de definição de descritor de segurança (SDDL, Security Descriptor Definition Language). Para obter informações sobre a sintaxe SDDL, visite o seguinte Web site da Microsoft:
http://msdn2.microsoft.com/en-us/library/aa379567.aspx
Existem vários pormenores que deve procurar para determinar se a DACL de um serviço é vulnerável. As tabelas que se seguem descrevem como ler os resultados do comando sc, como interpretar cada cadeia de permissão e como interpretar a quem é concedida a permissão.

Pode avaliar cada cadeia de caracteres entre parênteses de forma independente utilizando a seguinte chave:
(Permitir/Negar;;Cadeia de permissões;;;SID ou acrónimo da conta ou grupo incorporado)
Cada par de letras de uma cadeia de permissões corresponde a uma permissão ou direito específico:
Reduzir esta tabelaExpandir esta tabela
Par Direito ou permissão
CCQueryConf
DCChangeConf
LCQueryStat
SWEnumDeps
RP Start
WPStop
DTPause
LOInterrogate
CRUserDefined
GAGenericAll
GXGenericExecute
GWGenericWrite
GRGenericRead
SDDel
RCRCtl
WDWDac
WOWOwn

A permissão ChangeConf (DC) exige muita precaução. Procure a permissão ChangeConf quando estiver a determinar se o serviço é vulnerável a um ataque de elevação de privilégios. Esta permissão permite que alguém designado altere a configuração do serviço de forma a incluir o ficheiro binário executado quando o serviço é iniciado. As permissões WDac (WD) e WOwn (WO) também exigem extremo cuidado, dado que ambas podem ser utilizadas para elevar as permissões para as de LocalSystem. Certifique-se de que estes direitos não são concedidos a um utilizador que tenha permissões reduzidas. Esta tabela lista os códigos utilizados para identificar o tipo de utilizador a quem é concedido acesso na sintaxe SDDL.
Reduzir esta tabelaExpandir esta tabela
CódigoTipo de utilizador
DAAdministradores de domínio
DGConvidados do domínio
DUUtilizadores do domínio
EDControladores de domínio da empresa
DDControladores de domínio
DCComputadores do domínio
BAAdministradores (locais) incorporados
BGConvidados (locais) incorporados
BUUtilizadores (locais) incorporados
LAConta de administrador local
LGConta de convidado local
AOOperadores de contas
BOOperadores de cópia de segurança
POOperadores de impressão
SOOperadores de servidor
AUUtilizadores autenticados
PSSelf pessoal
COProprietário criador
CGGrupo criador
SYSistema local
PUUtilizadores avançados
WDTodos (mundo)
REReplicador
IUUtilizador de início de sessão interactivo
NUUtilizador de início de sessão de rede
SUUtilizador de início de sessão como serviço
RCCódigo restrito
WRCódigo restrito de escrita
ANInício de sessão anónimo
SAAdministradores de esquema
CAAdministradores dos serviços de certificados
RSGrupo de servidores de acesso remoto
EAAdministradores da empresa
PAAdministradores da política de grupo
RUAlias para permitir o Windows 2000 anterior
LSConta de serviço local (para serviços)
NSConta do serviço de rede (para serviços)
RDUtilizadores do ambiente de trabalho remoto (para os serviços de terminal)
NOOperadores de configuração de rede
MUUtilizadores de monitor de desempenho
LUUtilizadores de registo de desempenho
ISUtilizadores anónimos da Internet
CYOperadores de criptografia
OWSID de direitos de proprietário
RMServiço RMS

Como interpretar uma cadeia de DACL no formato SDDL

Estas informações descrevem como interpretar a cadeia de DACL de exemplo apresentada no início deste artigo. Esta interpretação apresenta cada entrada de controlo de acesso (ACE, access control entry) individualmente.
  • (A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;SY)

    Esta ACE concede a LocalSystem (SY) os seguintes direitos:
    • QueryConf
    • ChangeConf
    • QueryStat
    • EnumDeps
    • Start
    • Stop
    • Pause
    • Interrogate
    • UserDefined
    • Delete
    • RCtl
    • WDac
    • WOwn
    A ACE é restrita a LocalSystem. Isto é bom para a segurança dado que LocalSystem já é o contexto de segurança com mais poderes na estação de trabalho. Por este motivo, não existe risco de elevação.
  • (A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)

    Esta ACE aplica-se aos administradores locais incorporados (BA). Esta ACE concede os mesmos direitos da ACE anterior a todos os administradores locais. Este contexto de segurança também tem muitos poderes na estação de trabalho. Por este motivo, não existe, novamente, risco de elevação.
  • (A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;AU)

    Esta ACE concede todos os direitos anteriores a qualquer utilizador autenticado (AU).
Na última ACE, um utilizador de um grupo com direitos reduzidos, como um utilizador autenticado, pode alterar a configuração do serviço. A configuração inclui o ficheiro binário executado quando o serviço é iniciado e a conta em que o serviço é executado.

A DACL de exemplo que se segue não concede direitos ChangeConf a utilizadores 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)

Nesta DACL, apenas são concedidos os seguintes direitos aos utilizadores autenticados (AU):
  • QueryConf
  • QueryStat
  • EnumDeps
  • Interrogate
  • UserDefined
  • RCtl
Não existem riscos potenciais de elevação de direitos através do grupo de utilizadores autenticados com estes direitos concedidos. O grupo de utilizadores avançados (PU) já pode passar para LocalSystem, por isso não deve ser considerado um risco de elevação de direitos. Neste exemplo, o grupo de utilizadores avançados tem os mesmos direitos que o grupo de utilizadores autenticados, com excepção do facto de o primeiro também poder iniciar o serviço (RP). Os grupo de administradores locais (BA) vem a seguir. Este grupo e o seguinte, o grupo de operadores de servidor (SO), têm permissões ChangeConf, WDac e WOwn. Isto é aceitável porque apenas os utilizadores mais fidedignos devem estar no grupo dos administradores locais ou dos operadores de servidor.

O grupo LocalSystem (SY) tem as mesmas permissões que o grupo de utilizadores avançados, mas também tem as permissões Stop e Pause. Isto parece adequado. As duas pequenas ACEs seguintes concedem à conta de serviço local e à conta de serviço de rede permissões para interromper o serviço. Isto também parece adequado porque a conta de serviço local e de serviço de rede são contas locais com bastantes poderes.

Ao grupo de operadores de configuração de rede (NO), no entanto, são concedidas permissões ChangeConf. O grupo de operadores de configuração de rede foi adicionado ao Windows XP para permitir que utilizadores fidedignos alterem definições de rede sem ter permissões totais de administrador. Por predefinição, o grupo de operadores de configuração de rede está vazio. O grupo é, por vezes, utilizado para conceder permissões de configuração de rede a utilizadores específicos. Por exemplo, esta permissão poderá ser concedida ao proprietário de um computador portátil. Os utilizadores do grupo de operadores de configuração de rede têm frequentemente controlo físico do computador. Contudo, a intenção deste grupo não é conceder permissões totais de administrador a estes utilizadores. Por este motivo, esta DACL de serviço não deve conceder permissões ChangeConf ao grupo de operadores de configuração de rede.

Procedimentos recomendados

Limite DACLs de serviço apenas aos utilizadores que necessitem de um determinado tipo de acesso. Tenha especial cuidado com os direitos que se seguem. Se estes direitos forem concedidos a um utilizador ou a um grupo que tenha direitos reduzidos, os mesmos poderão ser utilizados para elevar para os direitos de LocalSystem no computador:
  • ChangeConf (DC)
  • WDac (WD)
  • WOwn (WO)
Para obter mais informações sobre direitos e permissões de acesso, visite o seguinte Web site da Microsoft:
http://msdn2.microsoft.com/en-us/library/ms685981.aspx

Propriedades

Artigo: 914392 - Última revisão: 15 de fevereiro de 2007 - Revisão: 1.4
A informação contida neste artigo aplica-se a:
  • 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
Palavras-chave: 
kbinfo KB914392

Submeter comentários

 

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