Active Directory

AdminSDHolder, grupos protegidos e SDPROP

John Policelli

 

Visão geral:

  • Visão geral de AdminSDHolder, grupos protegidos e SDPROP
  • Controlando grupos que são protegidos por AdminSDHolder
  • Propagador de descritor de segurança

Sumário

O objeto AdminSDHolder
ACL padrão
Grupos protegidos
Controlando grupos que são protegidos por AdminSDHolder
Determinar se uma entidade de segurança está protegida por AdminSDHolder
Objetos de AdminSDHolder órfãos
Propagador de descritor de segurança
Modificando como normalmente executa SDPROP
Forçar SDPROP para executar
Resumindo

Serviços de domínio diretório ativo usam AdminSDHolder, grupos protegidos e o descritor de segurança propagador (SD propagador ou SDPROP de forma abreviada) para usuários com privilégios seguros e grupos de modificação não intencional.Essa funcionalidade foi introduzida na versão nova do Active Directory no Windows 2000 Server e é bastante conhecida.No entanto, praticamente todos os administradores de TI têm sido negativamente impactados por essa funcionalidade, e que irá para continuar a menos que compreendam totalmente como AdminSDHolder, grupos protegidos e SDPROP funcionam.

Cada domínio do Active Directory tem um objeto chamado AdminSDHolder, que reside no recipiente System do domínio.O objeto AdminSDHolder tem um exclusivo acesso controle List (ACL), que é usado para controlar as permissões de objetos de segurança que são membros de internos grupos do Active Directory com privilégios (o que gosto de chamar "protegido"grupos).Cada hora, um processo de plano de fundo chamado SDPROP é executado em controlador de domínio que tem a função de mestre de operações do emulador PDC.Ele compara a ACL em todos os objetos de segurança (usuários, grupos e contas de computador) que pertencem a grupos protegidos contra a ACL no objeto AdminSDHolder.Se as listas ACL não são iguais, a ACL no objeto de segurança será substituída com a ACL do objeto Admin–SDHolder.Além disso, a herança é desabilitada na entidade de segurança.

Como você pode ver, várias camadas de segurança são incorporadas a essa funcionalidade.Primeiro, as permissões aplicadas a usuários pertencentes a grupos protegidos são mais rigorosas que as permissões padrão aplicadas para outras contas de usuário.Em seguida, essa funcionalidade desativa herança essas contas privilegiadas, garantindo que as permissões aplicadas no nível do pai não são herdadas por objetos protegidos, independentemente de onde residem.Finalmente, o processo SDPROP em execução a cada 60 minutos identifica modificações manuais para uma ACL e inverte-los para que a ACL coincide com a ACL no objeto AdminSDHolder.

Consulte a barra lateral "Um exemplo comum de impacto de AdminSDHolder, grupos de protegido e SDPROP"para uma visão de mundo real dessa funcionalidade.

O objeto AdminSDHolder

Como mencionado, cada domínio do Active Directory contém um objeto AdminSDHolder que reside na partição do sistema do domínio.O nome distinto do objeto AdminSDHolder é "CN = AdminSDHolder, CN = System, DC = domain, DC = com"onde DC = domain, DC = com é o nome distinto do domínio.A Figura 1 mostra o objeto AdminSDHolder em um domínio do Windows Server 2008 R2.

policellifigure1_hi.gif

Figura 1 Objeto AdminSDHolder (clique na imagem para ampliá-la)

ACL padrão

Como o objeto AdminSDHolder é usado no processo para proteger contas privilegiadas, a ACL padrão no objeto AdminSDHolder é mais rigorosa que a ACL em outros objetos, como o domínio, unidades organizacionais e recipientes.

Na ACL para AdminSDHolder padrão, o padrão proprietário é o grupo Domain Admins, que é bastante incomum.A maioria dos objetos do Active Directory têm o grupo Administradores como o proprietário padrão.Isso é significativo porque um proprietário pode assumir o controle de um objeto e redefina as permissões.

Outro fator importante de design para o objeto AdminSDHolder está que herança é desabilitada, o que garante que nenhum permissões de nível pai são herdadas.

Finalmente, os grupos Administradores, administradores de domínio e administração de empresa são grupos que possuem a permissão de gravação de atributos em AdminSDHolder, que é mais rigorosa que as permissões padrão aplicadas a outros objetos do Active Directory.

Grupos protegidos

Como observado anteriormente, permissões AdminSDHolder se aplicam a objetos de segurança que pertencem a grupos protegidos.A lista de grupos protegidos expandiu desde o lançamento inaugural do Active Directory no Windows 2000 Server.Figura 2 mostra que o padrão protegido grupos e usuários do Windows 2000 Server para Windows Server 2008 R2.

Figura 2 padrão protegido grupos
Windows 2000 Server RTM
Windows 2000 Server com SP1
Windows 2000 Server com SP2
Windows 2000 Server com SP3
Windows 2000 Server com SP4
Windows Server 2003 RTM
Windows Server 2003 com SP1
Windows Server 2003 com SP2
Windows Server 2008 RTM
Windows Server 2008 R2
Administradores Operadores de conta Operadores de conta Operadores de conta
Admins. do Domínio Administrador Administrador Administrador
Administração de Empresa Administradores Administradores Administradores
Administradores de esquema Operadores de backup Operadores de backup Operadores de backup
  Editores de certificados Admins. do Domínio Admins. do Domínio
  Admins. do Domínio Controladores de domínio Controladores de domínio
  Controladores de domínio Administração de Empresa Administração de Empresa
  Administração de Empresa KrbTGT KrbTGT
  KrbTGT Operadores de impressão Operadores de impressão
  Operadores de impressão Replicator Controladores de domínio somente leitura
  Replicator Administradores de esquema Replicator
  Administradores de esquema Operadores de Servidor Administradores de esquema
  Operadores de Servidor   Operadores de Servidor

Um exemplo comum do impacto de AdminSDHolder, protegido SDPROP e grupos

Active Directory a maioria dos administradores ficam atento ao AdminSDHolder, protegido grupos e SDPROP por um cenário como este:

Delegar permissões em uma unidade organizacional (OU).Posteriormente você está informado de que as permissões são in-loco para a maioria — mas não todos — contas de usuário na OU.Você determina que a ACL em contas afetadas é diferente da que tenha delegado e que herança não está ativada, para que você ativar a herança resolver o problema.Inicialmente, isso parece funcionar, mas posteriormente resurfaces o problema.Novamente, você determinar que a ACL é diferente e herança tiver sido desativada.

Já vi indivíduos passar por esse ciclo infinito aparente repetidamente.

Essa situação realmente ocorre por design, no entanto.Isso é causado por AdminSDHolder, grupos protegidos e SDPROP.

As contas afetadas por esse problema pertencem a um grupo protegido.Como resultado, a ACL nessas contas é herdada do objeto AdminSDHolder no domínio, e herança está desabilitada.É por isso que as permissões que tenha delegado não são aplicadas a contas de usuário afetado.Quando você habilitar manualmente herança essas contas, as permissões delegadas são adicionadas à ACL.

No entanto, quando o processo de SDPROP é executado em controlador de domínio que tem a função de mestre de operações do emulador PDC — por padrão, a cada 60 minutos — a ACL é substituída para coincidir com a ACL no objeto AdminSDHolder e herança é desabilitada.

A lista de grupos protegidos consistiu em quatro grupos de segurança no Windows 2000 Server RTM.No Windows 2000 Server SP4 e Windows Server 2003, foram adicionados vários outros grupos, incluindo as contas Administrador e KRBTGT.No Windows Server 2003 com SP1 e versões posteriores, Microsoft removido o grupo Editores de certificados os grupos padrão protegido.No Windows Server 2008, Microsoft expandida desta lista para incluir o grupo controladores de domínio somente leitura.A lista de grupos protegidos não foi alterada na compilação de versão RC do Windows Server 2008 R2.

Controlando grupos que são protegidos por AdminSDHolder

Na minha experiência, um subconjunto desses padrão protegido grupos causas problemas AdminSDHolder.Por exemplo, muitas organizações usam o grupo Operadores de impressão para gerenciamento de serviços de impressão, mas não para gerenciamento do Active Directory.No entanto, o grupo de operadores de impressão é um grupo protegido porque ele tenha permissões elevadas em controladores de domínio por padrão.Uma prática recomendada é remover as permissões elevadas que esse grupo tem em controladores de domínio.Se você fazer execute essa prática recomendada (e você deve!), você provavelmente não precisa proteger esse grupo com AdminSDHolder.

Você pode excluir um subconjunto do padrão proteger grupos do processo de AdminSDHolder, incluindo:

  • Operadores de conta
  • Operadores de Servidor
  • Operadores de impressão
  • Operadores de backup

Essa capacidade de grupos de controle são protegidas por AdminSDHolder foi introduzida por meio de hotfix para as versões RTM do Windows 2000 Server e Windows Server 2003 e está incluída no service pack mais recente para o Windows Server 2003 e nas versões RTM do Windows Server 2008 e Windows Server 2008 R2.Para obter mais informações sobre o hotfix, vá para delegado permissões não estão disponíveis e a herança é automaticamente desativado.

A capacidade de grupos de controle protegidas por AdminSDHolder é ativada por modificar o sinalizador dsHeuristic.Essa é uma seqüência de caracteres Unicode em que cada caractere contém um valor para uma única configuração de todo o domínio.Posição do caractere 16 é interpretada como um valor hexadecimal, onde o caractere mais à esquerda é a posição 1.Portanto, os valores somente válidos são "0"por meio de "f".Cada grupo operador tem um pouco específico, como mostrado no Figura 3.

Figura 3 dsHeuristic bits de operador
Bit Excluir grupo Valor binário Valor hexadecimal
0 Operadores de conta 0001 1
1 Operadores de Servidor 0010 2
2 Operadores de impressão 0100 4
3 Operadores de backup 1000 8

Essa situação se torna ainda mais complicada quando você está tentando excluir mais de um grupo de AdminSDHolder, especialmente porque você pode ter várias combinações de exclusões — por exemplo, operadores de conta e servidores, ou Account Operators e operadores.Para lidar com esse problema, simplesmente adicione o valor binário de cada grupo e converter o resultado em um valor hexadecimal.Por exemplo, para excluir os operadores de impressão e operadores grupos, têm o valor binário para os operadores de impressão (0100) de grupo e adicione-ao valor binário de Backup Operators agrupar (1000), que é igual a 1100.Em seguida, você converter a soma binária (1100) para o valor hexadecimal (C).

Para facilitar essa tarefa um pouco, Figura 4 lista todas as combinações possíveis em formato binário e hexadecimal.

Figura 4 dsHeuristic valores para exclusão combinações de grupos
Grupo (s) para excluir Valor binário Valor hexadecimal
Nenhum (padrão) 0 0
Operadores de conta 1 1
Operadores de Servidor 10 2
Operadores de conta
Operadores de Servidor
0001 + 0010 = 0011 3
Operadores de impressão 100 4
Operadores de conta
Operadores de impressão
0001 + 0100 = 0101 5
Operadores de Servidor
Operadores de impressão
0010 + 0100 = 0110 6
Operadores de conta
Operadores de Servidor
Operadores de impressão
0001 + 0010 + 0100 = 0111 7
Operadores de backup 1000 8
Operadores de conta
Operadores de backup
0001 + 1000 = 1001 9
Operadores de Servidor
Operadores de backup
0010 + 1000 = 1010 Um
Conta de operadores de servidores
Operadores de backup
0001 + 0010 + 1000 = 1011 B
Operadores de impressão
Operadores de backup
0100 + 1000 = 1100 C
Operadores de conta
Operadores de impressão
Operadores de backup
0001 + 0100 + 1000 = 1101 D
Operadores de Servidor
Operadores de impressão
Operadores de backup
0010 + 0100 + 1000 = 1110 E
Operadores de conta
Operadores de Servidor
Operadores de backup operadores de impressão
0001 + 0010 + 0100 + 1000 = 1111 F

Depois de decidir quais grupos você deseja excluir, você estará pronto para modificar o atributo dsHeuristics.Para obter detalhes sobre esse processo, consulte a barra lateral "Como usar o atributo dsHeuristics para excluir grupos de AdminSDHolder."

Determinar se uma entidade de segurança está protegida por AdminSDHolder

Um número relativamente grande de usuários padrão e grupos é protegido por AdminSDHolder.Uma coisa em mente é que os usuários são protegidos por AdminSDHolder se tiverem direta ou transitiva de participação em um grupo de segurança ou distribuição.Grupos de distribuição estão incluídos porque um grupo de distribuição pode ser convertido para um grupo de segurança.

Digamos que um usuário pertencer a uma lista de distribuição chamada IT Canadá.LISTAS de TI Canadá é membro do grupo de segurança de TI da América do Norte;o grupo de segurança de TI da América do Norte é um membro do grupo Administradores.Como o usuário é transitivo participação no grupo inclui o grupo Administradores (por devido aninhamento de grupo), a conta do usuário é protegida por AdminSDHolder.

Há uma maneira fácil de determinar quais usuários e grupos protege AdminSDHolder no domínio.Você pode consultar o atributo adminCount para determinar se um objeto é protegido pelo objeto AdminSDHolder.Os exemplos a seguir usam a ferramenta ADFind.exe, que pode ser baixada em joeware.NET.

  • Para localizar todos os objetos em um domínio que são protegidas por AdminSDHolder, digite:
Adfind.exe -b DC=domain,DC=com -f "adminCount=1" DN
  • Para localizar todos os objetos de usuário em um domínio que são protegidas por AdminSDHolder, digite:
Adfind.exe -b DC=domain,DC=com -f "(&(objectcategory=person)(objectclass=user)(admincount=1))" DN
  • Para localizar todos os grupos em um domínio que são protegidas por AdminSDHolder, digite:
Adfind.exe -b DC=domain,DC=com -f "(&(objectclass=group)(admincount=1))" DN

Observação: No exemplos anteriores, substitua DC = domain, DC = com o nome distinto do domínio.

Objetos de AdminSDHolder órfãos

Quando um usuário é removido de um grupo protegido, o atributo adminCount essa conta de usuário é alterado para 0. No entanto, herança não reabilitada na conta de usuário. Como resultado, a conta de usuário não recebe sua ACL do objeto AdminSDHolder, mas ele também não herda as permissões da objetos pai. O termo comum para esse problema é "órfãos AdminSDHolder objetos". Não há nenhum mecanismo automatizado para corrigir herança em objetos que não pertencem a grupos protegidos;devem lidar com objetos AdminSDHolder órfãos manualmente. A Microsoft tem desenvolvido e disponibilizado um script VB que ajudarão você na herança reabilitando em contas de usuário que eram anteriormente membros de grupos protegidos. Para localizar o script de VB, vá para delegado permissões não estão disponíveis e a herança é automaticamente desativado.

Propagador de descritor de segurança

SDPROP é um processo de plano de fundo que é executado no controlador de domínio que tem a função de mestre de operações do emulador PDC. Por padrão, SDPROP é executado a cada 60 minutos. SDPROP foi projetado para comparar a ACL em usuários e grupos que são membros de grupos protegidos. Se a ACL é a mesma, SDPROP não toque a ACL. No entanto, se a ACL é diferente, ele é substituído com a ACL do objeto AdminSDHolder.

Modificando como normalmente executa SDPROP

Se a freqüência padrão de 60 minutos para SDPROP executar não é suficiente, você pode alterá-lo criando ou modificando a entrada AdminSDProtectFrequency na subchave HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\NTDS\Parameters.

Se essa chave não existir, a freqüência padrão (60 minutos) será usada.

Você pode configurar a freqüência para qualquer lugar entre um minuto e duas horas. Você deve digitar o número de segundos quando criar ou modificar a entrada do Registro. O comando a seguir irá configurar SDPROP para executar cada 10 minutos (600 segundos):

REG ADD HKLM\SYSTEM\CurrentControlSet\Services\NTDS\Parameters /V AdminSDProtectFrequency /T REG_DWORD /F /D 600

No entanto, observe que modificar essa subchave não é recomendável porque isso pode aumentar LSA (autoridade de segurança local) sobrecarga de processamento.

Forçar SDPROP para executar

Você também pode forçar SDPROP executado em casos onde você está testando alterações ou você não é possível aguardar o intervalo configurado. Forçar SDPROP para executar envolve manualmente ao inicializar o thread SDPROP para avaliar as permissões herdadas para objetos no Active Directory. Esse processo pode ser alcançado levando as seguintes etapas no controlador de domínio que tem a função mestre de operações de emulador PDC:

  1. Vá para iniciar. Clique em executar. Digite LDP.exe. Clique em OK.
  2. No menu Connection no console do LDP, clique em conectar.
  3. Na caixa de diálogo Conectar, digite o nome do servidor que você deseja se conectar no campo do servidor e verifique se 389 está listado no campo porta. Clique em OK.
  4. No menu conexão, clique em BIND.
  5. Na janela BIND, selecione o vínculo como a opção do usuário conectado no momento ou selecione o vínculo com a opção de credenciais. Se você selecionou o segundo, insira as credenciais que você deseja vincular com. Clique em OK.
  6. No menu Browse, selecione modificar.
  7. Na caixa de diálogo Modificar, deixe o campo DN vazio. Digite FixUpInheritance no campo de atributo. Digite Sim no campo valor. Selecione a operação adicionar, clique em ENTER. Figura 5 mostra a janela modificar deve aparência.
  8. Na caixa de diálogo Modificar, clique em executar. O painel de detalhes será similar ao texto realçado em Figura 6.

policellinewfigure5_hi.gif

Figura 5 A modificar a janela. Quando forçar SDPROP para executar na caixa de diálogo Modificar, clique em executar. O painel de detalhes será semelhante ao texto realçado na Figura 6. (Clique na imagem para uma visão ampliada)

policellinewfigure6_hi.gif

Figura 6 chamada modificar operação em LDP.exe. (Clique na imagem para uma visão ampliada)

Neste ponto, SDPROP deve inicializar. A quantidade de processo SDPROP leva tempo depende do tamanho do ambiente do Active Directory. Quanto maior o ambiente, mais tempo levará o processo seja executado. Você pode monitorar o contador de eventos de propagação de segurança DS no objeto de desempenho NTDS para determinar quando SDPROP tiver sido concluído, que será indicado por um valor de contador de 0.

Resumindo

O AdminSDHolder é um recurso de segurança importante no Active Directory. Protegido por AdminSDHolder, grupos e descritor de segurança propagador ajuda seguro contas de usuário com permissões elevadas do Active Directory. A funcionalidade de AdminSDHolder evoluiu do Windows 2000 Server para o Windows Server 2008. Durante esta evolução, a Microsoft expandiu o número de objetos que são protegidas por AdminSDHolder, introduziu a capacidade de excluir determinados grupos do Admin–SDHolder e adicionados a capacidade de controlar a freqüência SDPROP é executado.

A maioria dos administradores do Active Directory foram introduzidos para AdminSDHolder, intencionalmente ou acidentalmente. Tentei fornecer-lhe uma boa compreensão do que é AdminSDHolder, como ele funciona e qual limpeza é necessária quando você remove um usuário de um grupo protegido, juntamente com alguns ajustes útil. Espero que essas informações ajudará a impedir que você que está sendo detectada desativar proteção pela funcionalidade AdminSDHolder a próxima vez que você delegar ou remover permissões do Active Directory.

Como usar o atributo dsHeuristics para excluir grupos de AdminSDHolder

O atributo dsHeuristics pode ser usado para excluir determinados grupos de protegido pelo AdminSDHolder. As instruções a seguir descrevem as etapas para modificar o atributo dsHeuristics no Windows Server 2008 R2:

  1. Efetuar logon em um controlador de domínio ou um computador membro que tenha as Remote Server administrador RSAT (Ferramentas) instalado.

  2. Vá para iniciar. Clique em executar. Digite adsiedit.msc, clique em OK.

  3. No ADSI Edit console, clique com o botão direito no ADSI Edit na árvore de console. Selecione conectar-se A.

  4. Na janela configurações de conexão, selecione configuração selecionar um contexto de nomeação conhecido drop-down. Clique em OK.

  5. Na árvore de console, expanda Configuration, expanda serviços e expanda Windows NT. Clique com o botão direito do mouse no nó serviço de diretório, e selecione Propriedades.

  6. No CN = janela de propriedades do serviço de diretório, selecione dsHeuristics. Clique em Editar.

  7. Na janela do Editor de atributo de seqüência, copie o valor existente para dsHeuristics se ele estiver definido.

  8. Na janela do Editor de atributo de seqüência, substitua o valor dsHeuristics o que você deseja definir, como 000000000100000f para excluir grupos Operadores de conta, operadores de servidor, operadores de impressão e operadores. A Figura A mostra a janela Editor de atributo de seqüência.

    Observação: Substitua os zeros na primeira parte do valor que você já pode ter no dsHeuristics. Verifique se você tem a contagem correta de dígitos até "f"ou qualquer bits que você deseja definir.

  9. Clique em OK na janela do Editor de atributo de seqüência. Clique em OK em CN = janela de propriedades do serviço de diretório.

policellifigurea_hi.gif

Figura A String Attribute Editor janela(Click the image for a larger view)

John Policelli, MVP do Directory Services, MCTS, MCSA, ITSM, iNet +, Network + e A +, é consultor IT focados em soluções com mais de uma década de sucesso combinado em arquitetura, segurança, planejamento estratégico e planejamento de recuperação de desastres. Nos últimos nove anos, ele tem focalizado no gerenciamento de identidades e acesso e fornecendo planejado liderança para algumas instalações maiores do Canadá do Active Directory. Policelli é autor de Active Directory Domain Services 2008 instruções (Sams Publishing, 2009).