Gerenciamento de Identidade com AAD – Sincronização de hash

O Azure AD Connect , solução que usei no artigo “Gerenciamento de Identidade com Azure – Primeiros Passos” faz a sincronização das identidades de usuário entre o seu AD Local e o Azure AD na nuvem, isso é o que permite que possamos usar os recursos como logon único, MFA e redefinição de senha (self service) .

Neste artigo vamos explorar o que acontece com as senhas dos usuários.

O Active Directory armazena senhas usando um valor de hash, da senha do usuário. Um valor de hash é o resultado de uma função matemática unidirecional (o algoritmo de hash). Não há método para reverter o resultado de uma função unidirecional para a versão em texto sem formatação de uma senha. Somente usando um dicionario Rainbow Tables se não houver a técnica de salt.

🔸 Sincronização do Hash de Senha

A cada dois minutos o AD Connect solicita os hashes de senha usando o atributo unicodePwd. A parte mais legal é antes de enviar o DC criptografa o hash de senha que está em MD4 usando uma chave que é um hash MD5 da chave de sessão do RPC e faz um salt.

O agente de sincronização combina o hash MD4 mais o salt por usuário e o insere na função de criptografia PBKDF2 ( https://www.ietf.org/rfc/rfc2898.txt ) 1000 iterações do algoritmo de hash com chave HMAC-SHA256.

Assim o hash MD4 original não é transmitido para o Azure AD. Em vez disso, o hash SHA256 do hash MD4 original é transmitido. Como resultado, se o hash armazenado no Azure AD for obtido, ele não poderá ser usado em um ataque de passagem no hash local.

Quando um usuário tenat logar no AAD e digita a senha então a sequencia MD4+salt+PBKDF2+HMAC-SHA256  será novamente executada e se senha estiver certa ele será autenticado.

Quando alguém digita a senha para se autenticar no Azure AD, o mesmo algoritmo é executado nessa senha e o sistema compara o hash para ver se ele corresponde ao hash sincronizado do AD local, se for igual então o sistema sabe que a senha corresponde e o usuário é autenticado.

🔸 Password write-back

O Azure AD Connect sincroniza novos hashes quando você altera sua senha no AD local , com o password write-back habilitado, você pode alterar sua senha na nuvem e escrever um novo hash de volta no AD, para permitir que as pessoas redefinam suas próprias senhas.

Esse é um requerimento para habilitar o Self-service Password Reset (SSPR) que logo teremos um artigo sobre.

🔸 Azure AD Pass-through Authentication

Com o Pass-through Authentication, não estamos sincronizando nenhum hash de senha . Em vez disso, uma solicitação para autenticação no AAD será transmitida por meio de um agente ao seu AD Local. O Active Directory local faz a autenticação e informa ao Azure AD se foi bem-sucedido ou não.

Isso é ótimo para organizações que não têm permissão para sincronizar seus hashes de senha com a nuvem por motivos de conformidade.

Vale lembrar que o Azure AD Identity Protection requer Sincronização de Hash de Senha

Na imagem acima está marcado também a opção de Single sign-on. Isso é o que chamamos de “Azure Active Directory Seamless Single Sign-On (Azure AD Seamless SSO)

Assim, quando você estiver no seu dispositivo corporativo conectado à sua rede corporativa, não precisará digitar seu nome de usuário e senha novamente para acessar os recursos protegidos pelo Azure AD.

Para o Windows 10, a recomendação é usar o Ingresso do Azure AD para obter a experiência ideal de logon único com o Azure AD.

Anúncio

Sobre Daniel Donda 534 Artigos
Olá, meu nome é Daniel Donda e sou especialista em cibersegurança, autor de livros, professor e palestrante. Saiba mais

1 Trackback / Pingback

  1. Gerenciamento de Identidade com AAD – Deixe a senha com o usuário – Daniel Donda

Faça um comentário

Seu e-mail não será divulgado.


*