1c para este usuário sem funções acessíveis. A caixa de diálogo mais incompreensível no Active Directory

10.29.2012 Tim Springston.

Neste artigo, tentarei esclarecer alguns aspectos da "caixa de diálogo mais incompreensível no AD", que é a guia Delegação na janela Propriedades dos Usuários e Computadores do Active Directory do Microsoft Management Console (MMC) (DSA.MSC ). Vamos ver os valores de atributo para diferentes configurações. Compreender a atribuição de parâmetros de instalação permitirá que você configure corretamente em aplicativos e serviços de anúncios usando a Delegação de Kerberos

Tim springston ( [E-mail protegido]) - Engenheiro de Serviço Sênior suporte técnico As divisões de suporte técnico comercial na Microsoft são responsáveis \u200b\u200bpela segurança e autorização.

Um dos mais ativamente discutidos na Microsoft Technology é a autenticação no protocolo Kerberos. É estranho se considerarmos que a própria tecnologia e suas funções não passou por mudanças significativas desde a liberação Windows Server. 2003. E ainda assim Kerberos continua sendo o sujeito para compilar documentação adicional.

Necessidade permanente de estudar o aspecto técnico do trabalho de Kerberos e a causa de erros é devido ao fato de que, embora a própria tecnologia permaneça inalterada, o uso de seus serviços e métodos de seu uso são geralmente únicos. No entanto, em cada cenário, a atribuição dos parâmetros de instalação do Active Directory (AD) e o significado das mensagens de erro permanece.

Neste artigo, tentarei esclarecer alguns aspectos da "caixa de diálogo mais incompreensível no AD", que é a guia Delegação na janela Propriedades dos Usuários e Computadores do Active Directory do console do Microsoft Management Console (MMC) (DSA. mestrado). Vamos ver os valores de atributo para diferentes configurações. Entender a atribuição de parâmetros de instalação permitirá configurar adequadamente em aplicativos e serviços de anúncios usando a delegação de Kerberos.

Interface simples.

Por que gastar tempo para explorar a interface "simples"? É necessário mergulhar nos detalhes, porque a compreensão do aspecto técnico do trabalho de vários parâmetros permitirá com mais sucesso corrigir erros em sua configuração. Portanto, vamos começar a compreender o significado das instalações. Se você abrir os usuários e computadores do Active Directory snap e ir para as propriedades da conta do computador, verá a guia delegação de delegação (desde que sua floresta esteja no nível funcional do servidor 2003). Esta guia é mostrada na tela 1. Para explicar a atribuição dos switches desta guia na tela 2, os nomes alternativos podem ser dados.

Antes de aprofundar no significado dos parâmetros, explique qual delegação é Kerberos. Delegação (também conhecida como "Personificação" ou Delegação Simples) é o processo de receber o aplicativo ou o serviço de ingressos do Kerberos para acessar recursos ou computador remoto Em nome do usuário. Confiável para a essência da delegação é um serviço contaem nome da qual o aplicativo funciona. A delegação permite que o aplicativo acesse apenas os recursos para os quais o usuário teria acesso e entregue as informações do usuário. Como exemplo do script, você pode trazer um servidor da Web conectado ao sistema SQL Server para exibir os dados necessários do usuário para o cliente da Web.

Duas opções superiores ("Não confie na delegação do computador" e "Confie no computador delegar qualquer serviço") na tela 1 Não requer esclarecimento. A terceira opção é uma delegação limitada da delegação de Kerberos (KCD), quase semelhante à simples delegação, mas prevê a delegação de um certificado individual apenas para serviços ou computadores especificados. Esta opção fornece mais alto nível Segurança, limitando o escopo da delegação de identidade do usuário personificado, portanto, no caso de um compromisso de um certificado de serviço confiável para delegação, as conseqüências são limitadas à capacidade de acessar apenas esses recursos em servidores remotosque são selecionados manualmente para delegação limitada.

A quarta versão na tela 1 permite o KCD e o Extensão de Serviços para UPer (ou S4u). A extensão S4U fornece funções mais amplas, como uma mudança de protocolo. A mudança do protocolo ocorre quando o cliente primeiro executa a autenticação através de um protocolo diferente de Kerberos, com uma conexão recebida e, em seguida, alterna para Kerberos. Descrição detalhada O S4u está contido na documentação "Explorando S4u Kerberos na documentação do Windows Server 2003" (MSDN.MicRosoft.com/en-us/magazine/cc188757.aspx) e "Protocolo transição com suplemento técnico de delegação restrita" (MSDN.MICROSOFT.COM / pt-us / biblioteca / ff650469.aspx). Esses recursos são focados em programadores e não nos administradores, mas também é importante para o administrador entender o que S4u é como executá-lo e quando ele deve ser usado. Para este propósito, damos uma breve lista de recursos do S4u para administrador.

Obtendo informações sobre o marcador do usuário sem recebimento real deste marcador e sem receber o bilhete Ticket-concurning Bilhete (TGT) com um ingresso de serviço de ticket confiável de um usuário de confiança ou acesso a dados de conta. As informações obtidas podem ser usadas, por exemplo, para verificar a autorização. Esta extensão é conhecida como Serviços para Usuário-para-Usuário (S4U2self).

Obtendo ingressos sem a necessidade de receber o Bilhete Utilitário do Kerberos, sem acesso aos dados da conta, transmissão TGT ou sem autenticação - serviços-para-usuário-para-proxy (S4U2Proxy).

Realizando uma mudança previamente mencionada de protocolo. O cliente apela ao serviço corporativo executa inicialmente a autenticação usando um método diferente de Kerberos, e S4u permite que o serviço confiável alterne a sessão do usuário que já passou a autenticação para o uso de Kerberos. É aqui que os erros de configuração causados \u200b\u200bpelos erros de configuração geralmente ocorrem, uma vez que a documentação do aplicativo geralmente não contém explicações claras sobre se o protocolo é necessário e como configurá-lo no anúncio. No entanto, este tópico é relevante, já que hoje não há quase nenhum artigo sem mencionar as "nuvens". Os clientes que se conectam através da "nuvem" aplicará mais frequentemente a autenticação NTLM devido à falta de solicitações de processamento de controladores de domínio (DC) para a emissão do bilhete de serviço Kerberos na Internet. Alterar o protocolo permite ao usuário conectar este domínio através de programas tela de rede ou servidores proxy usando um dos métodos de autenticação (por exemplo, NTLM) e, em seguida, alternar para a autenticação do Kerberos para realizar outras ações dentro rede corporativa. Como a "nuvem" significa conectar-se através da Internet, você pode não duvidar que, se você usar qualquer solução "nublado", mais cedo ou mais tarde você chegará ao uso da alteração do protocolo Kerberos.

Sob a bainha externa

Agora, considere o que realmente acontece quando você instala cada um desses quatro parâmetros, usando o LDP Visualizando os valores de atributo definidos para cada uma das configurações. O LDP é instalado com a direita do anúncio de serviços de domínio por padrão e pode ser usado como uma ferramenta de processamento de corrente LDAP interface gráfica. O LDP permite que você crie suas próprias solicitações LDAP e visualize os resultados em um formulário conveniente para a percepção. Vantagem adicional de usar o LDP para visualizar os valores de atributo (por exemplo, UserAccountControl) é transferir os valores de parâmetros calculados para o formulário no vapor em vez de uma combinação de números. By the way, mais versões atrasadas ADSIEDIT.MSC também fornece processamento semelhante de valores de parâmetros calculados.

Assim, no Windows Server 2008 e versões mais recentes do LDP.EXE e adsiedit.msc fornecem tradução automática Atributo Valores (por exemplo, UserAccountControl), que elimina a necessidade de abrir o Calc.exe e acessar a documentação on-line no MSDN ou para a Base de Dados de Conhecimento da Microsoft.

Agora considere alterar os valores de atributo no LDP, dependendo dos instaladores. Vamos começar com uma conta que não é confiável para delegação. Na tela 3, fica claro que a conta Test2 não é confiável e que o valor hexadecimal 1020 do atributo useraccountcountcontrol (corresponde ao decimal 4128) é traduzido em WorkStation_trust_account e passwd_notreqd.

Na tela 4 mostra uma conta confiada para delegação. Podemos ver o valor do atributo da UserAccountControl traduzido em Trusted_for_Delegation, indicando a resolução da simples delegação ilimitada de Kerberos para este certificado de serviço.

Delegação de confiança para determinados serviços

As configurações a seguir são cruciais se for destinado a usar S4U ou KCD. O primeiro caso corresponde à escolha de confiança deste computador para delegação apenas para serviços especificados ("Confiança desse computador delegar apenas os serviços especificados") e use apenas Kerberos ("Usar apenas Kerberos"). Na tela 5, pode ser visto que, com essa escolha do atributo useraccountcountcontrol, recebe novamente o WorkStation_trust_Account, e o atributo MSDS-AllowrowToDelegto é preenchido automaticamente com os serviços selecionados que são permitidos delegação. Nenhum outro procedimento é preenchido com este atributo e não é afetado. Como os registros listam determinados serviços no computador para o qual a delegação é permitida.

A segunda opção é menos segura - use qualquer protocolo de autenticação ("Use qualquer protocolo para autenticação"), permitindo a mudança de protocolo e outras opções de extensão. Além das entradas no atributo MSDS-PERFICETELEGATETO, essa configuração altera o atributo useraccountcountcontrol, que recebe o Trusted_to_Authenticate_for_Delegation (T2A4D), conforme mostrado na tela 6. Sem o sinalizador T2A4D, você pode esperar um erro de alteração do protocolo. Nenhum outro componente nesta bandeira é usado. Observe que esse interruptor simples é extremamente importante porque se não estiver selecionado, S4U2self, S4u2Proxy e a mudança de protocolo se comportarão de maneira diferente, o que pode criar problemas para aplicativos e serviços aguardando tipos relevantes de bilhetes. Em particular, a mudança do protocolo terminará com um erro, e o bilhete não será emitido. S4U2Proxy e S4U2self não terão uma bandeira encaminhada (redirecionamento), que resultará em erro: para S4U2Proxy - em qualquer caso, e para S4U2self - em situações, quando você precisa enviar um ingresso para outro serviço ou nó.

"Faça Você Mesmo"

O que acontece se a conta de serviço do serviço usada pelo aplicativo ou serviço deve executar uma ação que exija a alteração do protocolo, e a guia Delegação será definida para o uso de Kerberos ("Usar apenas Kerberos") em vez de usar qualquer Protocolo de autenticação ("Use qualquer autenticação de protocolo")? Para o aplicativo cliente, um erro pode levar o formulário de acesso Negado ("Acesso negado") quando você tenta obter acesso a recursos de rede, ou um erro pode ocorrer sem notificar a autenticação NTLM ou um erro dependente do aplicativo inesperado. A incerteza da manifestação do erro complica ainda mais a tarefa. O resultado mais provável, no entanto, será o acesso negado ("acesso negado"). Em tal situação, certifique-se de aprender a documentação do aplicativo ou serviço e descobrir se as alterações ou solicitações do protocolo para receber um ticket do serviço sem TGT não serão ditos. O problema é que a maioria dos compiladores de documentação realmente não entende o significado da configuração do KCD e, portanto, fornece explicações insuficientes, ou geralmente são custos sem eles.

O método de esclarecer as causas do erro no princípio de "DIY" pode ser uma simples coleção de dados de rastreamento de rede de um servidor confiável para delegação. Filtro de dados coletado por Kerberos (Kerberosv5 no Microsoft Network Monitor ou Kerberos no Wireshark). Solicitação de um ticket para emissão de um ticket (TGS_REQ) é transmitido para o Centro de Distribuição do Centro de Distribuição do Kerberos (KDC) e contém os parâmetros do KDC com a bandeira de delegação limitada. Se você se recusar a emitir um ticket, a resposta do servidor (TGS_REP) conterá um erro KDC_ERR_BAD_OPTION, o que é fácil de notar nos resultados do rastreamento de rede.

Mais informações sobre o trabalho das implementações do Microsoft Kerberos podem ser encontradas na especificação on-line de protocolos abertos. Extensões de protocolo Kerberos (MSDN.Microsoft.com/en-us/library/cc233855%28v\u003dprot.13%29.aspx) Contém documentação geral para Kerberos e "Extensões do Protocolo de Kerberos: Serviço para o usuário e a especificação do protocolo de delegação restrita" ( Msdn.microsoft.com/en-us/library/cc246071%28v\u003dprot.13%29.aspx) - Documentação sobre Delegação Limitada de Kerberos e S4U.

Mundo perfeito

Espero que a análise acima das configurações na janela de interface do Kerberos e suas correspondências no anúncio ajudem você a entender melhor seu significado. O ideal pode ser um mundo em que a documentação dos serviços administrados conteria o guia técnico à sua configuração adequada Para autenticação. No entanto, se a realidade estiver longe de ser ideal, essas informações devem ajudar a melhorar seu kit de ferramentas. Compreender o aspecto técnico do trabalho dos parâmetros será a chave para o sucesso.



2 respostas

resolvido.

A primeira metade foi minha sobrepressão. A segunda metade ... Bem, eu não tenho uma palavra sobre o que estava errado. De fato, isso não é um erro, ou incompatibilidade, mas algo é muito desconfortável, intermitente e difícil de entender. Primeiro, o resumo e, em seguida, a explicação do comprimento para quem se importa:

Apesar das frases das mensagens de erro, isso não é um problema com o modelo conceitual (CSDL), mas o problema de comparar as colunas, que se recriaram com interrupções.

O modelo conceitual foi construído usando EDMXWriter para análise sintática DBContext e suas partes principais.

O modelo foi então usado para gerar scripts SQL para transferir o circuito para um novo banco de dados. O foco é que o banco de dados é oracle.

A Oracle é uma criança e não aceita nomes de coluna longas. Assim, os scripts EDMX e SQL gerados tiveram que ser modificados para criar e comparar partes do modelo conceitual com nomes de coluna encurtados.

Não é um grande negócio. Funciona bem. Então, onde tudo deu errado?

A Oracle não suporta o "código primeiro". E embora tenha sido feito manualmente, o uso de Edmxwriter é uma abordagem de código no Oracle. Portanto, quando o primeiro esquema de EDMX foi desmantelado, ele em comparações lógicas. A decisão era remover temporariamente os boios dos meus modelos C #, adicioná-los ao EDMX manualmente e mapeando o Web.Config Oracle (Mapeando BOOL para Número (1.0)).

Tudo de novo groovy. Mas por que ele continua a repetir?

Em momentos diferentes em todo o processo de desenvolvimento, algumas extremidades do acordo - C #, EDMX ou Mudança Oracle. E toda vez que parece, as colunas foram automaticamente reatribuídas, e eu não sabia. Se o modelo EDMX tiver sido atualizado da Oracle, o comparável indicava as propriedades do C #, que não foram (nomes de coluna curtos). Se o modelo tiver sido atualizado do código C #, o mapeamento não foi salvo, e eles tentaram comparar os longos nomes das colunas que não estavam no Oracle.

Bug com esta abordagem (primeiro o primeiro código e modelo híbrido) é se eu quiser continuar a controlar meus próprios modelos e lidar com as configurações necessárias para uma pequena atitude em relação a uma criança, devo ser muito cuidadoso e siga o recurso do arquivo EDMX .

Sites, aplicativos, jogos - Recursos de informação gerenciados pelos usuários. Para dividir as operações permitidas e proibidas para um ou outro usuário da ação, os direitos de acesso (PD) são usados. O escopo dos papéis de formulários PD. Por exemplo, olhe para o site básico com a possibilidade de registro.

Neste site "ao vivo" 3 papéis com seus direitos e obrigações:

1.

Todos os padrões anônimos operam nessa função. Se nos vestimos os convidados do site à direita "Adicionando comentários", o usuário que veio ao site será capaz de comentar seu interesse. E se não, então para comentar sobre o conteúdo, você precisará se registrar primeiro.

2.

Autenticação passada e autorização anônima obtém novo papel. Apenas usuários autorizados podem gerenciar conta pessoal, Adicione e edite dados pessoais, visualize informações sobre outros caracteres. Usuários não registrados não têm o direito a essas operações.

3. Administrador

Essa função padrão fornece acesso total ao usuário ao site. O administrador de recursos adiciona, remove blocos e fornece ou tira de outros usuários o direito de acessar uma ou outra funcionalidade.

Como testar e o que você presta atenção?

Primeiro de tudo, tentaremos não remover o "super-admin", jogando com as configurações.

  • Crie um personagem seguro

Para se aproximar das atividades reais no projeto, há um usuário adicional suficiente com poderes administrativos semelhantes. E já por esses personagens, testamos o recurso e alteramos as permissões para o acesso de outros usuários.

  • Verifique vários navegadores

Fazemos ao mesmo tempo: em um modificar o PD, em outro, você verifica o uso de direitos para o usuário, compartilhando assim as sessões de usuário.

  • Passamos por link direto

Restrições de bloqueio de teste, movendo-se sobre eles Endereço de URL.. Ver alguns dados de recursos devem estar indisponíveis por referência para um hóspede não autorizado. Se o acesso for limitado, tudo estiver OK: Em vez de informações fechadas, anônimo receberá uma mensagem de aviso no formulário de uma página especial, com mais frequência com o código 403.

  • Nós testamos o bloqueio de entidades

Para recursos, como ingressos para ingressos e passeios, é importante bloquear o item quando vários usuários podem acessá-lo imediatamente. Existem duas opções de bloqueio:

+ Bloqueio otimista Ao salvar verifica o banco de dados para mais nova versão Dados deixados por outro usuário. Se for, o usuário atual atualiza esta instância da entidade.

+ Bloqueio pessimista As entidades são usadas quando otimistas geram muitas colisões. Nesse caso, apenas um usuário usa e muda esta opção Entidades.

Pode ser testado de um computador em vários navegadores ou contas diferentes.

  • Nós usamos uma matriz de teste

Ela simplifica o trabalho do testador, mostra claramente ações permitidas e proibidas, e isso não ajuda a perder nada. Pintamos nele todos os papéis, usuários, variações de restrições das possibilidades de nossos personagens.

E aqui está o exemplo mais simples de uma matriz de teste:

O controle de acesso é uma das principais verificações dentro. Mesmo verificando o site da biblioteca local com três papéis enfrenta o teste de dificuldades. Mas os recursos populares com dezenas de papéis, milhares de usuários e milhões de permissões exigem um exército inteiro de administradores! É difícil imaginar a escala de danos se o teste leva a diletação. Atrair especialistas competentes e não permitir espaços seguros seus produtos!