net user / domain return Erro 5 - Acesso negado

6

Eu tenho um domínio onde as ACLs padrão foram alteradas em todos os objetos de usuário e de computador e na Lista O Modo de Objeto (Enumeração Baseada em Acesso para objetos de diretório) foi ativado. Mais notavelmente, a permissão Everyone: Read foi removida da lista para a maioria dos objetos de diretório, de forma que os usuários não conseguem ler objetos "estrangeiros" para obedecer a uma política de proteção de privacidade.

Nesta constelação, o cliente de um aplicativo (com base no UniPaas Framework , se isso for importante) está tentando ler um grupo de usuários específico associações e falha por um motivo desconhecido. Do fabricante do software, obtivemos um caso de teste simples em que um net user %USERNAME% /domain está falhando com um Erro 5 - O acesso é negado nessa infraestrutura. Os protocolos de rede net use estão usando e o modo como ele está falhando corresponde ao que estamos vendo ao obter rastreamentos de rede do aplicativo.

Agora estou um pouco como uma perda, pois não sei nada sobre os internos da chamada net user (especialmente qual API está usando para ler os atributos e qual permissão o usuário precisa para obtê-los). Como eu começo a depurar isso?

Editar: uma coisa que eu criei era rodar o Wireshark para gravar o tráfego de rede induzido por uma chamada net user %username% /domain . Tudo parece bem até o ponto em que uma chamada SAMR OpenDomain é emitida para o domínio BUILTIN (S-1-5-32), que retorna STATUS_ACCESS_DENIED, após o qual todas as conexões são demolidas. Veja os pacotes 33 e 34 neste traço pcap . Esta parece ser a razão para a resposta Acesso negado de net user , embora eu não tenha ideia do que está errado aqui.

    
por the-wabbit 30.08.2013 / 14:30

1 resposta

5

Parece que, de alguma forma, você conseguiu impedir a enumeração dos grupos builtin . Essa chamada net user abre conexões para dois domínios como parte de sua operação:

  1. Para seu domínio do AD com base no domínio SID.
  2. Para o domínio BUILTIN com base no amplamente conhecido SID para isso (S-1-5-32).

A maioria das consultas é feita para a primeira conexão, uma é passada pela segunda. Essa passagem transforma $YOURDOMAIN\Domain Users no princípio amplamente conhecido de BUILTIN\Domain Users (S-1-5-32-545), que o sistema sabe tratar especial. Quando a conexão ao domínio BUILTIN é rejeitada, toda a chamada falha.

Verifique as permissões do contêiner Builtin AD na sua árvore de domínio - ele deve ter uma "Authenticated Users:Read" ACE. Além disso, a enumeração do contêiner Builtin deve ser permitida - um Authenticated Users:Read ACE para o nível superior do domínio também deve cuidar disso.

    
por 03.09.2013 / 23:04