A delegação restrita baseada em recursos (RBCD) é uma funcionalidade de segurança do Active Directory (AD) que permite aos administradores delegar permissões para gerir recursos de forma mais segura e com maior controlo. Introduzida no Windows Server 2012 R2 como uma melhoria da tradicional delegação restrita Kerberos (KCD), a RBCD pode ajudar a reduzir o risco de escalada de privilégios e a manter o princípio do privilégio mínimo.
Porquê utilizar a delegação condicionada baseada em recursos?
Ao utilizar o RBCD para delegar permissões a um nível granular, os administradores podem garantir que os utilizadores e os serviços têm o acesso mínimo necessário para executar as suas tarefas. A manutenção deste nível de privilégio mínimo reduz o potencial de acesso não autorizado ou utilização incorrecta de informações sensíveis.
A delegação restrita baseada em recursos é especialmente útil para contas de serviço que necessitam de aceder a recursos em nome dos utilizadores, mas que não devem ter acesso total às contas dos utilizadores. No RBCD, a delegação de permissões baseia-se nos recursos e não nas contas de serviço que acedem a esses recursos.
O RBCD permite que os administradores concedam a utilizadores ou grupos específicos a capacidade de se fazerem passar por outros utilizadores quando acedem a um determinado recurso, sem lhes dar permissões gerais para todos os recursos do domínio. Por exemplo, suponha que:
- Uma aplicação precisa de aceder a uma partilha de ficheiros, mas não deve poder eliminar ou modificar quaisquer ficheiros na partilha. Ao ativar o RBCD, pode configurar a conta de serviço da aplicação para se fazer passar por um utilizador quando acede à partilha de ficheiros. Desta forma, a conta terá acesso apenas aos ficheiros de que a aplicação necessita.
- Uma aplicação interage com uma base de dados. Para aumentar a segurança e controlar o acesso à base de dados, pode utilizar o RBCD para delegar permissões na conta de serviço da aplicação, permitindo-lhe fazer-se passar por utilizadores quando acede à base de dados.
Como permitir a delegação condicionada baseada em recursos
Para permitir a utilização da delegação restrita baseada em recursos, é necessário modificar o atributo msDS-AllowedToActOnBehalfOfOtherIdentity do AD. O atributo é modificado para especificar quais as entidades de segurança (tais como utilizadores ou grupos) que têm permissão para delegar os respectivos privilégios a um serviço em execução no computador.
Uma vez configuradas, as entidades de segurança especificadas podem então delegar os seus privilégios à conta de serviço que executa o serviço. Esta delegação permite ao serviço fazer-se passar por esses responsáveis quando acede a recursos. O serviço pode então aceder a recursos em nome dos utilizadores sem necessitar de permissões excessivas. Esta abordagem ajuda a manter o princípio do menor privilégio e a aumentar a segurança.
Para configurar o atributo msDS-AllowedToActOnBehalfOfOtherIdentity, pode utilizar o PowerShell ou utilitários baseados no LDAP (Lightweight Directory Access Protocol). Para evitar o acesso não autorizado e manter um ambiente seguro ao modificar o atributo, conceda permissões de delegação apenas às entidades de segurança necessárias.
Delegação limitada baseada em recursos e riscos de segurança do AD
A modificação do atributo msDS-AllowedToActOnBehalfOfOtherIdentity pode ter implicações de segurança se não for efectuada com cuidado e com a devida consideração. Alguns dos riscos incluem:
- Aumento de privilégios: Uma conta de serviço ou utilizador obtém acesso não autorizado a recursos.
- Aumento da superfície de ataque: Um atacante explora as permissões delegadas de um serviço ou conta de utilizador comprometida para obter acesso a recursos sensíveis ou realizar acções maliciosas.
- Complexidade e desafios de gestão: A gestão e manutenção do atributo msDS-AllowedToActOnBehalfOfOtherIdentity pode ser complexa, especialmente em grandes ambientes com várias contas de serviço e recursos. Configurações incorrectas ou inconsistências podem levar a falhas de segurança ou a consequências não intencionais.
- Dificuldades de auditoria e monitorização: O rastreio e a auditoria da utilização das permissões delegadas podem ser difíceis e exigem um registo e monitorização adicionais para garantir que as permissões delegadas são utilizadas de forma adequada e segura.
Outro risco potencial de segurança no contexto da delegação restrita baseada em recursos envolve a conta krbtgt. É possível configurar a delegação Kerberos na própria conta krbtgt. Esta capacidade é preocupante devido ao papel crítico que a conta krbtgt desempenha no processo de autenticação Kerberos.
A autenticação requer apenas permissões de escrita genéricas, que é um nível de privilégio mais baixo do que os direitos de administrador do domínio. Isto significa que um atacante - mesmo um que tenha obtido apenas permissões limitadas - pode ser capaz de manipular as definições de delegação da conta krbtgt sem necessitar de acesso administrativo completo ao domínio.
Esta situação potencialmente perigosa pode criar uma vulnerabilidade no processo de autenticação Kerberos. Um atacante que explore com sucesso esta vulnerabilidade pode conseguir obter acesso não autorizado a recursos ou executar acções maliciosas no domínio, levando a graves violações de segurança. Exemplos incluem a geração de um pedido de Serviço de Concessão de Bilhetes (TGS) para a conta krbtgt como qualquer utilizador, o que tem o efeito de gerar essencialmente um Bilhete de Concessão de Bilhetes (TGT) semelhante a um Bilhete Dourado.
Os problemas não se ficam por aqui. Descobriu-se que este risco de segurança também pode ocorrer em determinados ambientes do Azure AD. Ao utilizar o Azure AD e ativar a funcionalidade SSO contínuo, é gerado um objeto de conta de computador automático denominado AZUREADSSOACC no seu inquilino. Quando este objeto é configurado com RBCD, qualquer utilizador adicionado ao atributo msDS-AllowedToActOnBehalfOfOtherIdentity neste objeto pode fazer-se passar por qualquer utilizador no inquilino do Azure AD.
Como resultado, tem de garantir que o atributo deste objeto permanece vazio e nunca é configurado. Se descobrir que o atributo foi configurado, existe uma grande probabilidade de o seu sistema ter sido comprometido, colocando o seu inquilino do Azure AD em risco significativo.
Avaliação e correção do risco de segurança do RBCD
Para identificar potenciais configurações incorrectas e vulnerabilidades de segurança e para determinar se a segurança do seu Active Directory foi comprometida, deve efetuar análises periódicas à segurança do AD.
Pode utilizar ferramentas como Purple Knight ou Semperis Directory Services Protector ( DSP). Quando executadas no seu ambiente, estas ferramentas analisam e procuram indicadores específicos, incluindo sinais das explorações aqui discutidas.
Estes exames podem ajudá-lo a responder a importantes questões de segurança do AD:
- A conta krbtgt está configurada com o RBCD?
- A configuração está corretamente definida?
- Algum utilizador tem permissões para configurar o RBCD na conta krbtgt?
- Quem pode solicitar um TGS com as permissões do objeto em que foi configurado, como a conta krbtgt e todos os controladores de domínio (DCs) na floresta?
Purple Knight e DSP examinam especificamente a conta krbtgt e os objectos DC, mas também abrangem todos os objectos de computador. É altamente improvável que este alerta apareça num ambiente AD típico e não comprometido. Se for detectado, serve como uma forte indicação de que o seu sistema foi comprometido.
A Figura 1, por exemplo, mostra um relatório que identifica a conta krbtgt com RBCD ativado para um mau ator.
A Figura 2 mostra um relatório que identifica o mesmo problema para os DCs no ambiente.
A Figura 3 mostra um relatório que identifica o risco de segurança num ambiente do Azure AD.
Gerir o RBCD de forma sensata para manter a segurança do AD
A delegação restrita baseada em recursos pode ser uma poderosa funcionalidade de segurança do AD para administradores que pretendam delegar permissões com maior controlo e segurança. No entanto, apesar das suas vantagens, o RBCD requer uma gestão e monitorização cuidadosas das suas configurações para evitar riscos e vulnerabilidades de segurança.
Os controlos de segurança regulares, a gestão adequada das permissões e a adesão ao princípio do privilégio mínimo são cruciais para manter um ambiente seguro. Ao compreender e abordar os potenciais riscos associados ao RBCD, os administradores podem tirar partido das suas capacidades para melhorar a segurança e a eficiência da sua infraestrutura do Active Directory.