PortalPortal  InícioInício  FAQFAQ  BuscarBuscar  Registrar-seRegistrar-se  Conectar-se  

Compartilhe|

[Windows 2000]Os segredos do Windows 2000 - Parte II

Ver o tópico anterior Ver o tópico seguinte Ir em baixo
AutorMensagem
Douglanilo
avatar
Mestre
Mestre

Masculino Postagens : 959
Data de inscrição : 02/04/2009


Ver perfil do usuário http://www.twevergrand.com
MensagemAssunto: [Windows 2000]Os segredos do Windows 2000 - Parte II Qui Abr 16, 2009 9:50 pm


O processo de autenticação de uma estação de trabalho com um controlador
de domínio na arquitetura Microsoft sempre foi alvo de inúmeras
críticas, devido a algumas falhas e inseguranças. O protocolo de
autenticação de rede utilizado pelo Windows NT é o NTLM (NT Lan Manager), e possui uma série de vantagens e desvantagens. O NTLM faz a autenticação através do método Challenge/Response, da seguinte forma: durante o processo de logon, o client envia uma solicitação de autenticação ao Domain Controller (DC). O DC conhece a senha do usuário, pois a possui armazenada em sua base de dados (Security Account Manager, ou SAM). Na verdade, esta senha conhecida pelo DC é apenas uma representação da senha, ou Hash, através do algorítmo MD4 (Message Digest 4).
O DC encripta uma aleatoriamente em um bloco de dados, usando o hash do
MD4, e envia de volta para o client. Por sua vez, este desencripta esse
bloco de dados, e envia novamente ao DC. Se a senha utilizada foi a
correta, então o DC realiza a autenticação, e fornece um Acess Token.

Existe um pacote chamado Directory Services Client,
para ser instalado em clientes Windows 9x, e um erro extremamente comum
é acreditar que esse pacote habilita Kerberos nesses clientes. Na
realidade, permite apenas que os clientes façam consultas por objetos
no Active Directoy pelo Search, e habilitam o NTLM V2, um modelo mais aperfeiçoado do NTLM original, mas com um pouco mais de segurança. O Windows NT 4.0, com os últimos Service Packs já habilita o NTLM V2. Apesar de ser um método rápido de autenticação, sua eficiência
é baixa, pois quando um client acessa um servidor de aplicações, este
servidor precisa contatar um Controlador de Domínio para verificar as
credenciais de cada client. Outro problema é que, durante o processo de
autenticação do client, não há certeza de que o Controlador de Domínio
que está autenticando REALMENTE seja ele mesmo.

O modelo Kerberos foi desenvolvido inicialmento pelo Massachusetts Institute of Technology (MIT), e a versão implementada no Windows é a V5 (Kerberos version 5).
Assim como na Mitologia Grega, onde Cerberus era o cão de três cabeças
que guardava a porta do inferno, o Kerberos possui três unidades
envolvidas no processo de autenticação: AS – Authentication Service, TGS – Ticket-Granting Service e CS – Client/Server. O seu método de criptografia é baseado em Shared Secret, ou chaves simétricas. A mesma chave que é utilizada para encriptar é utilizada para desencriptar.

Sempre que um client utilizando Windows 2000 Professional tenta realizar o
logon em uma rede, utiliza o Kerberus como protocolo na primeira
tentativa. Caso o mesmo client esteja realizando o logon em uma rede
com um Domain Controller Windows NT 4.0, não haverá resposta. Portanto,
tentará o NTLM na sequência.

Vamos analisar a seguir o passo a passo, demonstrando o que ocorre durante o processo de Logon e autenticação de um usuário em uma rede 100% baseada em Windows 2000.
Neste exemplo, vamos utilizar um usuário chamado Bill, fazendo o logon
em sua estação de trabalho, rodando o Windows 2000 Professional.

O usuário pressiona Ctrl+Alt+Del.

O serviço de Winlogon faz uma chamada ao MSGINA (Microsoft Graphical Identification and Authentication).

O arquivo MSGINA.DLL é acionado, exibindo a tela de Logon para que o usuário forneça o Username e o Password.

Bill digita seu Username e seu Password, e pressiona Enter.

O Kerberos Client existente na máquina utilizada por Bill converte a
senha, com uma chave de criptografia usando a função de Hash. O
algoritmo utilizado aqui é o DES-CBC-CRC (Data Encryption
Standard-Cypher Block Chaining with Cyclic Redundancy Check), que é um
algoritmo de chave secreta usada para confidencialidade. Um número
aleatório é gerado e usado como chave secreta para encriptar os dados,
e uma verificação final é feita dos dados para certificar-se de que não
existem erros durante a transmissão e recepção. Na implementação original do Kerberos, é utilizado outro algoritmo que é o DES-CBC-MD5. O resultado disso é chamado de User Long-Term Key, e é armazenado no cache de credenciais. Isto só ocorre durante esta fase de logon.


O DNS sabe quais são os servidores Key Distribution Center (KDC) da rede, mantendo essa informação no registro Servive (SRV). Através de um DNS lookup, a estação tenta contatar no DNS qual é o KDC mais próximo ou disponível. O KDC é um serviço executado em toda máquina Windows 2000 Server configurada como Domain Controller. O KDC inclui dois serviços: o Authentication Service (AS) e o Ticket-Granting Service (TGS). No modelo de Kerberos são fornecidos Tickets de acesso a redes.

O Client contata o KDC, solicitando uma chave de sessão para ser usada
na autenticação, durante a sessão de logon. Para poder fazer isso, ele
envia uma mensagem do tipo KRB_AS_REQ, ou Kerberos Authentication Service Request.
Dentro desta mensagem estão incluídos o UserID do usuário Bill, o
serviço solicitado (ou TGS), e uma pré-autenticação de dados (PADATA ou Pré-Authentication Data),
que prova que Bill conhece realmente a sua senha. Isto é uma informação
adicionada ao dado, para indicar a hora em que foi feito, e encriptada
com o Long-Term Key do usuário Bill.

O KDC recebe a requisição e consulta no Active Directory pelo usuário
Bill. Dentro do Active Directory não são armazenados as senhas mas sim,
suas representações. Com base nestas informações o KDC obtém o Long-term Key, desencripta o PADATA e faz a validação da identidade de Bill.

Após fazer a validação de Bill, o KDC cria uma chave de sessão, e
encripta a cópia da chave do client com o seu Long-Term Key. A cópia do
servidor da chave de sessão é encriptada no Long-Term Key. Ambas as
chaves estão disponíveis na base de dados do KDC no Active Directory.

O KDC envia um TGT (Ticket Granting Ticket – tipo especial de ticket de sessão, que o KDC utiliza quando precisa se comunicar com o client), e a chave de sessão, ou Session Key, encriptada com a chave do client em uma mensagem do tipo KRB_AS_REP (Kerberos Authentication Service Reply).
O TGT inclui uma cópia de ambas as chaves de sessão encriptadas, e
informação sobre o client. O TGT é tambem encriptado com a chave do
server. Um detalhe importante
é que somente o client pode desencriptografar a cópia da chave de
sessão, e somente o server pode desencriptografar o TGT, para ler seu
conteúdo. O Server nao mantêm a cópia da chave de sessão.

O client recebe o TGT e a chave de sessão. Nesse momento, utiliza a sua
cópia armazenada do Long-Term Key, e desencripta a cópia da chave de
sessão. Essa chave agora passa a ser conhecida como a Logon Session Key. Esta chave e o TGT são armazenados em cache na memória pelo Local Security Authority
(LSA) da máquina do client. Este armazenamento em memória pelo LSA é
necessário, pois os dados armazenados por ele não vão para paginação.
Isso evita que sejam guardados dados localmente e, em caso de Logoff ou
desligamento da maquina, são perdidas as chaves e todo o processo se
reinicia no próximo Logon. Este cache das credenciais é gerenciado pelo
SSP (Kerberos Security Support Provider – um componente
do protocolo Kerberos que habilita o LSA em um domínio, para se
comunicar diretamente com o KDC em outro domínio).

Depois de ter sido pré-autenticado e recebido o TGT , o client está pronto para
acessar recursos e serviços nos demais servidores. O processo de logon
do Kerberos pode até parecer mais lento que o NTLM, mas sua principal
vantagem é que, uma vez que o client está em posse destas chaves, não
haverá mais a necessidade de contatar o DC para checar novamente suas
credenciais. O Ticket recebido pelo DC tem validade de 10 horas. Após
este horário, o SSP utiliza uma cópia armazenada pelo LSA do hash do
password do usuário e, com ela, obtêm um novo TGT, sem perguntar ao
usuário ou obrigando-o a fazer um novo logon.

Através deste processo verificamos que existe autenticação mútua, pois tanto o client quanto o server sabem que estão negociando
com a máquina correta. Além do mais, a implementação do Kerberos no
Windows 2000 permite a comunicação com demais sistemas operacionais,
desde que implementem o Kerberos V5.

Acredito que esta matéria, apesar de ainda estar faltando mais detalhes, pois trata-se de
um assunto bastante complexo, conseguirá tornar o entendimento do
Kerberos muito mais simples.



Autor original: Fabio Hara
Direitos Autorais: Fabio Hara



Fabio Hara
é MVP de Windows Server, MCSE e MCT e trabalha como consultor de redes
e instrutor na Brás e Figueiredo. Atualmente ministra palestras mensais
na Microsoft sobre os recursos do Windows 2000 e em projetos de
migração de Windows NT 4.0 para Windows 2000.

_________________________________________
Voltar ao Topo Ir em baixo
Raygodness
avatar
Veterano
Veterano

Masculino Postagens : 404
Data de inscrição : 04/04/2009
Localização : bragança paulista - SP
Emprego/lazer : computadores
Mensagem Pessoal : O que vem por trás, não é mole.


Ver perfil do usuário
MensagemAssunto: Re: [Windows 2000]Os segredos do Windows 2000 - Parte II Sex Abr 17, 2009 2:29 pm

vo precisa de mais pipoca... sao sei-la-quantas-partes de historia!
Voltar ao Topo Ir em baixo
Douglanilo
avatar
Mestre
Mestre

Masculino Postagens : 959
Data de inscrição : 02/04/2009


Ver perfil do usuário http://www.twevergrand.com
MensagemAssunto: Re: [Windows 2000]Os segredos do Windows 2000 - Parte II Sex Abr 17, 2009 3:08 pm

Raygodness escreveu:
vo precisa de mais pipoca... sao sei-la-quantas-partes de historia!

Para quê comer pipoca? T.T
Isso é quase um flood, lol. (ou totalmente)

Só espero que os segredos não sejam mais e que sejam divulgados para
todos entenderem tudo sobre o Windows que marcou uma parte da história.

Vai precisar mais de 20 XD

_________________________________________
Voltar ao Topo Ir em baixo
Conteúdo patrocinado




MensagemAssunto: Re: [Windows 2000]Os segredos do Windows 2000 - Parte II

Voltar ao Topo Ir em baixo

[Windows 2000]Os segredos do Windows 2000 - Parte II

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo
Página 1 de 1

Permissão deste fórum:Você não pode responder aos tópicos neste fórum
The World of EverGrand :: Sistemas Operacionais :: Windows :: Tutoriais-