O que é o arquivo kerberos keytab usado na autenticação kerberos do UNIX / AD?

1

Eu provei que a autenticação UNIX / AD Kerberos funciona sem a presença de um arquivo keytab, então gostaria de saber se eu deveria me preocupar com isso (dado que precisarei de um keytab individual para cada servidor que eu queira fornecer AD serviços de autenticação em).

    
por Jon 14.03.2013 / 16:58

1 resposta

6

O uso principal do keytab local durante a autenticação local é para proteger contra falsificação do KDC.

A autenticação de login do Kerberos funciona solicitando um TGT do KDC do Kerberos e, em seguida, descriptografando-o com uma chave formada a partir da senha inserida localmente. Se essa descriptografia funcionar, o login será considerado bem-sucedido (se não houver keytab). O problema com essa abordagem é que o invasor pode estar falsificando simultaneamente a resposta do KDC com um TGT criptografado na senha escolhida pelo invasor. Se o sistema obtiver essa resposta antes da resposta real, ela será decifrada com a senha do invasor e, em seguida, considerará a autenticação bem-sucedida. Isso é bastante fácil de fazer se houver um sistema na mesma rede local, já que o Kerberos é um protocolo UDP.

Se houver um keytab local, o processo de login dará mais um passo: ele pedirá ao KDC um ticket de serviço para o principal armazenado no keytab local e validará esse ticket descriptografando-o com a chave no keytab. O KDC do invasor não tem conhecimento da chave privada do keytab no sistema e, portanto, falhará nessa etapa. (Isso significa, é claro, que o keytab do sistema precisa ser bloqueado para ser acessível apenas pelo root, já que qualquer um que possa acessar o keytab ainda pode atacar o sistema com êxito.)

(Qualificações: Sou o autor do módulo Kerberos PAM usado no Debian e no Ubuntu.)

    
por 17.03.2013 / 05:23