3.6.3. Como o Kerberos Funciona

3.6.3. Como o Kerberos Funciona

O Kerberos difere dos métodos de autenticação nome do usuário/senha porque, ao invés de autenticar cada usuário para cada serviço de rede, o Kerberos utiliza criptografia simétrica e um terceiro elemento confiável (um KDC) para autenticar usuários a um conjunto de serviços de rede. Quando um usuário autenticar no KDC, este envia um ticket específico para esta sessão de volta para a máquina do usuário, e quaisquer serviços kerberizados procuram o ticket na máquina do usuário ao invés de pedir que o usuário se autentique usando uma senha.

Quando um usuário de uma rede kerberizada se autentica em sua estação de trabalho, seu principal é enviado ao KDC como parte de um pedido de TGT ao Servidor de Autenticação (AS). Este pedido pode ser enviado pelo programa de login, sendo assim transparente para o usuário, ou pode ser enviado pelo programa kinit após o usuário se logar.

O KDC então verifica o principal em seu banco de dados. Se o principal é encontrado, o KDC cria um TGT, que é criptografado usando a chave do usuário, e retornado para o usuário.

O programa de autenticação ou kinit no cliente,descriptografa então o TGT usando a chave do usuário, computada a partir da senha do usuário. A chave do usuário é usada somente na máquina cliente e não é enviada através da rede.

O TGT é configurado para expirar após um período de tempo determinado (geralmente dez horas) e armazenado no cache de credenciais da máquina cliente. A expiração é definida para que um TGT comprometido seja útil para um atacante por somente um curto período de tempo. Após o TGT ter sido emitido, o usuário não precisa fornecer a sua senha até que o TGT expire ou até efetuar o logoff e então efetuar o login novamente.

Sempre que um usuário precisar de acesso a um serviço de rede, o software cliente usa o TGT para pedir um novo ticket para este serviço específico ao TGS. O ticket do serviço é então usado para autenticar o usuário de forma transparente a este serviço.

Aviso

O sistema do Kerberos pode ser comprometido se um usuário da rede se autenticar em um serviço não-kerberizado enviando a senha em formato texto. O uso de serviços não-kerberizados é altamente desestimulado. Tais serviços incluem Telnet e FTP. Porém, o uso de outros protocolos criptografados, como os serviços protegidos SSH ou SSL, é aceitável apesar de não ser ideal.

Esta é somente uma visão geral de como a autenticação do Kerberos funciona. A Seção 3.6.10, “Recursos Adicionais” contém links para informações mais detalhadas.

Nota

O Kerberos depende dos seguintes serviços de rede para funcionar corretamente.

  • Sincronização aproximada de relógio, entre as máquinas da rede.

    Um programa de sincronização de relógio deve ser configurado para a rede, como o ntpd. Consulte /usr/share/doc/ntp-<version-number>/index.html para detalhes sobre como configurar servidores Protocolo de Horário de Rede (NTP), onde <version-number> é o número da versão do pacote ntp instalado no seu sistema.

  • Serviço de Nome do Domínio (DNS).

    Certifique-se de que as entradas de DNS e os hosts na rede estão todos configurados apropriadamente. Consulte o Guia do Administrador de Sistemas do Kerberos V5 em /usr/share/doc/krb5-server-<version-number> para mais informações (onde <version-number> é o número da versão do pacote krb5-server instalado no seu sistema).