permissões delegadas do Active Directory (exibir / remover)

para desbloquear totalmente esta seção, você precisa fazer login

a delegação do Active Directory (AD) é parte crítica da infraestrutura de TI de muitas organizações. Ao delegar administração, você pode conceder aos usuários ou grupos apenas as permissões necessárias sem adicionar usuários a grupos privilegiados (por exemplo, administradores de domínio, operadores de conta). A maneira mais simples de realizar a delegação é usando o Assistente de delegação de controle no snap-in Microsoft Management Console (MMC) Active Directory Users and Computers.

embora o Assistente de delegação de controle forneça uma maneira fácil de delegar permissões, não há um assistente correspondente para remover permissões delegadas. Alguém na Microsoft deve ter notado essa lacuna e criado um programa de linha de comando chamado Dsrevoke.exe que pode remover as entradas de permissão adicionadas pela Delegação do Assistente de controle.

no entanto, o Dsrevoke.o programa exe tem duas limitações técnicas importantes, que são documentadas no Artigo da Microsoft ” quando você usa a Ferramenta de linha de comando Dsrevoke para relatar permissões para todas as unidades organizacionais em um domínio baseado no Windows Server 2003, a ferramenta pode não retornar todas as entradas de controle de acesso.”Essas limitações são:

  • Dsrevoke.exe pode encontrar apenas até 1.000 OUs em uma única pesquisa. A solução sugerida para essa limitação é iniciar a pesquisa do programa em uma unidade organizacional (UO) mais profundamente aninhada para reduzir o número de resultados.
  • Dsrevoke.exe falha se algum OUs contiver um caractere de barra (/) em seus nomes. Não há solução alternativa para essa limitação além de renomear as OUs ofensivas.

por razões organizacionais, renomear o OUs para remover o caractere de barra geralmente não é uma opção. Além disso, a barra é um caractere válido em um nome OU e Dsrevoke.exe deve funcionar, não importa se uma OU contém uma barra em seu nome ou não. Além disso, trabalhar em torno do limite de 1.000 UO no meu ambiente foi demorado.

começando em versões recentes do Windows, O Dsacls.o programa exe fornece uma maneira de remover as permissões adicionadas pelo Assistente de delegação de controle. Embora não falhe se uma OU contiver uma barra em seu nome, Dsacls.exe não pode procurar subcontainers para permissões como Dsrevoke.exe faz.

Dsrevoke.exe e Dsacls.exe pode produzir uma lista de permissões, mas a saída é muito longa e técnica.

precisamos ter algumas informações básicas sobre o que acontece quando usamos o Assistente de delegação de controle, bem como cobrir alguns conceitos básicos de segurança do Windows.

Por Que Delegar?

Imagine que você é o chefe de uma grande empresa com vários departamentos: finanças, RH, Vendas, alta administração.

se cada usuário que esqueceu sua senha tivesse que ligar para o helpdesk de TI, você seria inundado com chamadas.

em vez disso, você pode delegar permissões ao chefe de cada departamento para que ele possa redefinir as senhas de sua própria equipe.

outro caso de uso clássico para delegação é a capacidade para a equipe para enviar e-mails como um ao outro, quer uma caixa de correio compartilhada, ou um pa enviar e-mail em nome de seu chefe.

dê a todos o administrador do domínio?

você pode ter pensado, vamos dar a cada chefe de departamento permissões de administrador de domínio, então eles podem redefinir as senhas quando necessário.

embora isso seja tecnicamente verdade, eles seriam capazes de fazer qualquer coisa que você possa fazer, incluindo o acesso aos dados do Usuário.Portanto, tenha cuidado para dar a função de administrador de domínio a usuários que não são de TI para reduzir as tarefas de administração: essa abordagem pode levar a vários problemas.

para entender as informações fornecidas na caixa de diálogo Configurações Avançadas de segurança, você precisa saber sobre os seguintes conceitos de segurança do Windows: lista de controle de acesso (ACL), entrada de controle de acesso (ACE), administrador e herança. Você também precisa entender esses conceitos para usar Remove-DSACE. ps1.

ACL: existem dois tipos de ACLs: ACLs discricionários (DACLs) e ACLs do sistema (SACLs). Um DACL identifica as contas que têm acesso permitido ou negado a um objeto. Um SACL descreve como um administrador deseja registrar tentativas de acessar um objeto (ou seja, auditoria).

ACE: um ACL é composto de Ases. Cada ACE identifica um administrador e especifica o acesso do administrador (permitir, negar ou auditar) para o objeto. A delegação do Assistente de controle adiciona Ases ao DACL de um contêiner de anúncio. A figura anterior mostra o DACL para todos os usuários OU. Nesta figura, o termo entrada de permissão é sinônimo de ACE.

Administrador: um administrador é a entidade (um usuário, grupo de segurança ou sessão de logon) à qual um ACE se aplica. Cada ás se aplica a um único administrador. Na Figura 5, o termo Principal é sinônimo de administrador. A figura 5 mostra que existem dois ases atribuídos ao grupo de redefinição de senha. Em outras palavras, o grupo de redefinição de senha é o administrador (principal) desses dois ases.

herança: Um ACE pode ser aplicado diretamente a um objeto ou pode ser herdado do objeto pai do recurso. Na figura anterior, os dois ases para todos os usuários OU que contêm o grupo de redefinição de senha como Administrador não são herdados do contêiner pai (ou seja, a coluna herdada de lê nenhum) porque o Assistente de delegação de controle os adicionou diretamente ao DACL.

adicionar permissões delegadas com o Assistente

o Assistente de delegação de controle fornece uma maneira fácil de delegar permissões. Por exemplo, suponha que você queira que os membros do grupo de redefinição de senha possam redefinir senhas para usuários na OU de todos os usuários em seu domínio de anúncio. Para fazer isso, você precisa executar estas etapas:

abra o console Usuários e computadores do Active Directory e, em seguida, clique com o botão direito do mouse na UO todos os usuários (ou qualquer UO) e escolha delegar controle, como mostrado na Figura 1. Clique no botão Avançar para passar pela página de boas-vindas do assistente.

permissões delegadas do Active Directory (exibir / remover)

na página Usuários ou grupos do assistente, clique no botão Adicionar.

Em Selecionar Usuários, Computadores ou Grupos na caixa de diálogo, digite o nome do grupo (de Redefinição de Senha), clique no botão Verificar Nomes para certificar-se de que o nome do grupo é correto, e clique em OK, como mostrado na figura a seguir:

o Active Directory Permissões de Delegado (Ler/Remover)

Após certificar-se de que o nome do grupo é listado na página Usuários ou Grupos, clique em Avançar, como mostrado na figura a seguir:

Active Directory Permissões de Delegado (Ler/Remover)

Na página Tarefas a Delegar, selecione Redefinir senhas de usuário e força de alteração de palavra-passe no próximo início de sessão e clique em Avançar, conforme mostrado na figura a seguir:

o Active Directory Permissões de Delegado (Ler/Remover)

Quando você clicar no botão Concluir, o Assistente para Delegação de Controle adiciona as permissões solicitadas a Todos os Usuários da UO. Você pode visualizar os efeitos da delegação clicando com o botão direito do mouse na OU todos os usuários, escolhendo Propriedades e selecionando a guia Segurança. (Se a guia Segurança não estiver visível, ative a opção recursos avançados no menu Exibir do console Usuários e computadores do Active Directory.)

para uma visão detalhada, você pode clicar no botão Avançado. A figura a seguir mostra a caixa de diálogo Configurações Avançadas de segurança que aparece.

Active Directory Permissões de Delegado (Ler/Remover)

Verificação de Permissão (Usando o PowerShell)

Agora que temos descoberto delegação, você pode estar se perguntando se há alguma delegações que você não conhece, um passado e funcionários, maliciosos ou de administradores.

reunimos um pequeno script PowerShell que pesquisará cada tipo de objeto delegável e listará as duas delegações de permissão comuns, redefinirá a senha e o send-as (do Exchange).

aqui está uma amostra executada a partir de um domínio:

Active Directory Permissões de Delegado (Ler/Remover)

E aqui o código de script:

###### Search common delegation targets$filter = "(|(objectClass=domain)(objectClass=organizationalUnit)(objectClass=group)(sAMAccountType=805306368)(objectCategory=Computer))" ###### Search just OUs and Groups#$filter = "(|(objectClass=organizationalUnit)(objectClass=group))"###### More filters can be found here: http://www.ldapexplorer.com/en/manual/109050000-famous-filters.htm###### Connect to DOMAINCONTROLLER using LDAP path, with USERNAME and PASSWORD#$bSearch = New-Object System.DirectoryServices.DirectoryEntry("LDAP://DOMAINCONTROLLER/LDAP"), "USERNAME", "PASSWORD") ###### Connect to DOMAINCONTROLLER using LDAP path$bSearch = New-Object System.DirectoryServices.DirectoryEntry("LDAP://DOMAINCONTROLLER/LDAP") $dSearch = New-Object System.DirectoryServices.DirectorySearcher($bSearch)$dSearch.SearchRoot = $bSearch$dSearch.PageSize = 1000$dSearch.Filter = $filter #comment out to look at all object types$dSearch.SearchScope = "Subtree"####### List of extended permissions available here: https://technet.microsoft.com/en-us/library/ff405676.aspx$extPerms = '00299570-246d-11d0-a768-00aa006e0529', 'ab721a54-1e2f-11d0-9819-00aa0040529b', '0'$results = @()foreach ($objResult in $dSearch.FindAll()){ $obj = $objResult.GetDirectoryEntry() Write-Host "Searching... " $obj.distinguishedName $permissions = $obj.PsBase.ObjectSecurity.GetAccessRules($true,$false,) $results += $permissions | Where-Object { $_.AccessControlType -eq 'Allow' -and ($_.ObjectType -in $extPerms) -and $_.IdentityReference -notin ('NT AUTHORITY\SELF', 'NT AUTHORITY\SYSTEM', 'S-1-5-32-548') } | Select-Object ` @{n='Object'; e={$obj.distinguishedName}}, @{n='Account'; e={$_.IdentityReference}}, @{n='Permission'; e={$_.ActiveDirectoryRights}}}$results | Out-GridView

Para usar este script no seu próprio domínio:

  • Abra o Active Directory Users e Computadores e navegar para o domínio (ou Unidade Organizacional) que você está investigando.
  • clique com o botão direito e escolha Propriedades.
  • na guia Editor de atributos, procure a propriedade distinguishedName.
  • selecione-o e pressione exibir e copie o caminho LDAP. Você precisará disso mais tarde.
  • Editar linha 6 ($bSearch = …), substituindo DOMAINCONTROLLER pelo nome de um dos DCs do seu domínio.
  • edite a linha 6, substituindo o LDAP pelo caminho que você copiou anteriormente.
  • Salve o script e pressione Executar.
  • deixe o script pesquisar no seu Active Directory; o progresso é relatado no console e, quando concluído, você receberá um pop-up detalhando objetos que têm permissões delegadas a eles.

Deixe uma resposta

O seu endereço de email não será publicado.