PAM vs LDAP vs SSSD vs Kerberos

10

Estou basicamente ciente do que esses serviços separam um do outro. O que eu quero saber: o que exatamente acontece em um login bem-sucedido em uma rede Linux que usa todos esses serviços? Em que ordem esses serviços são consultados? Qual serviço fala com qual serviço?

tfh
fonte

Respostas:

19

O sssddaemon atua como a aranha na web, controlando o processo de login e muito mais. O programa de login se comunica com os módulos pame configurados nss, que neste caso são fornecidos pelo pacote SSSD. Esses módulos se comunicam com os respondentes SSSD correspondentes, que por sua vez conversam com o Monitor SSSD. O SSSD consulta o usuário no diretório LDAP e, em seguida, entra em contato com o KDC do Kerberos para autenticação e aquisição de tickets.

(O PAM e o NSS também podem conversar diretamente com o LDAP usando pam_ldap e nss_ldap, respectivamente. No entanto, o SSSD fornece funcionalidade adicional.)

Obviamente, muito disso depende de como o SSSD foi configurado; existem muitos cenários diferentes. Por exemplo, você pode configurar o SSSD para fazer autenticação diretamente com LDAP ou autenticar via Kerberos.

Na sssdverdade, o daemon não faz muito que não pode ser feito com um sistema que foi "montado à mão", mas tem a vantagem de lidar com tudo em um local centralizado. Outro benefício importante do SSSD é que ele armazena em cache as credenciais, o que facilita a carga nos servidores e torna possível ficar offline e ainda fazer login. Dessa forma, você não precisa de uma conta local na máquina para autenticação offline.

Johan Myréen
fonte
2
É bastante surpreendente ver que o sssd parece ser o coordenador do processo. Eu pensei que seria a tarefa do PAM, uma vez que abstrai os detalhes da implementação.
TFH
1
Sim, mas os desenvolvedores do SSSD decidiram reinventar a 'coordenação' ... principalmente. Segue o velho ditado do unix de "faça tudo, principalmente ok".
user2066657