Você Sabe Como o Protocolo Kerberos Realmente Funciona?

Você Sabe Como o Protocolo Kerberos Realmente Funciona?

O protocolo Kerberos foi desenvolvido como parte do Projeto Athena do MIT (Massachussets Institute of Technology). Atualmente o projeto encontra-se na versão 5. O desenvolvimento conduzido por Clifford Neuman e John Kohl com muitas contribuições da comunidade. Ele é baseado no algoritmo de encriptação DES (Data Encryption Standard).

Uma curiosidade sobre seu nome que vem da mitologia. Cerberus é um cão com três cabeças que tem por missão proteger a entrada do inferno de Hades. Assim como o cão da mitologia seu funcionamento está ligado a três partes:

  • AS (Authenticator Server)
  • TGS (Ticket Granting Ticket )
  • SS (Server of Service)

O Kerberos fornece um meio de verificar as credenciais de usuários em um modelo de aplicações cliente-servidor. Aplicado principalmente por controladores de domínio como o AD Microsoft e Samba como PDC. Ele opera como terceira parte neste processo, oferecendo autenticação ao usuário de forma segura. Ele executa a autenticação usando criptografia convencional de chave simétrica. Neste processo a mesma chave usada para criptografar e usada para descriptografar.

Funcionamento

O Kerberos prove serviço de autenticação de usuários a serviço ou aplicações. O usuário informa um ticket, que contém suas credenciais (usuário e senha), fornecida pelo Kerberos Authenticator Server (AS). O AS podemos comparar ao emissor da carteira de habilitação o DETRAN. O serviço então examina o ticket para verificar a identidade do usuário. Se suas credenciais forem validas o usuário e aceito.

O Kerberos opera com três partes servidoras:

  • ASAuthenticator Server:
    • Mantém uma base de dados de chaves de sessão. Estas chaves são obtidas quando o usuário envia suas credenciais ao AS. Ao receber a mensagem, ele faz duas cópias de uma nova chave de sessão. Estas chaves serão usadas nas trocas diretas entre serviço e usuário.
  • TGSTicket Granting Server:
    •  O TGS deve estar presente na mesma máquina servidora que o AS. Ele é logicamente distinto do AS assim tem como função fazer com que antes de acessar qualquer serviço. O usuário requisita um ticket para contatar o TGS, como se ele fosse um serviço qualquer. Este ticket é chamado de TGT (Ticket Granting Ticket). Após receber o TGT, a qualquer momento que o usuário desejar requisitar um serviço, ele irá requerer um ticket não mais do AS, mas sim ao TGS. Assim a resposta não será criptografada com a chave secreta do usuário, mas sim com a chave de sessão mantida pelo AS para ser usada entre o usuário e TGS. Ele carrega as informações tanto do cliente como a própria rede que estavam contidos no servidor AS. Dentro deste ticket existirá um timestamp.
      • Timestamp: O timestamp realiza uma marcação de tempo atual do servidor. Para isso acontecer é necessário a configuração de um servidor NTP (Network Time Protocol) para manter este sincronismo. Através deste procedimento é cortada a comunicação se ela ficar inativa por muito tempo, por exemplo cinco minutos.
  • SSServer of Service:
    • É o serviço que será usado para prover a autenticação, por exemplo o Samba como PDC.

Benefícios

O Kerberos tem como principais benefícios da autenticação os seguintes itens:

  • Confiança comunicação bidirecional entre os domínios envolvidos.
  • Autenticação mútua de clientes e servidor durante uma sessão de autenticação.
  • Autenticação delegada para interações multi-cliente/servidor.

Limitações

Como todo serviço existem várias limitações que devem ser consideradas em sua avaliação antes da implementação, assim viabilizar sua utilização.

  • Os relógios devem estar sincronizados devido ao timestamp.
  • Requer por parte dos clientes implementação de segura, pois a troca de chaves e realizada no diretório /tmp.
  • É vulnerável contra senhas fracas.
  • O Kerberos é adequado para aplicações cliente/servidor é não ponto-a-ponto.

Conclusão

Por fim fazer uma implementação de um servidores Kerberos adiciona um nível a mais na segurança da informação. Autenticidade é sua característica fundamental. Nesta estrutura mesmo que um Cracker de alguma forma capture um pacote. Ele não terá tempo para descobrir a informação contida no pacote capturado através de forca bruta com dicionario de palavras. A cada oito horas o ticket perderá seu valor é deverá ser renovado.

Fazer uso deste servidor é importante. Algumas particularidades deve se levar em conta, pois existem situações que o Kerberos não irá garantir proteção. Por exemplo em ataques DoS, DDoS, Engenharia Social ou simplesmente perda de senha.

Referências

https://www.profissionaisti.com.br/2011/11/conhecendo-o-protocolo-de-rede-kerberos/
https://www.ietf.org/rfc/rfc4120.txt
http://www.gta.ufrj.br/grad/99_2/marcos/kerberos.htm

Compartilhar

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *


Cadastre seu email

Quero Receber Novidades, Ofertas e Vagas de empregos