Fluxo de Autenticação do Linux (NSS - PAM - AD)

3

Sou um novo administrador de sistema em uma organização que procura entender o fluxo do processo de autenticação em relação a como o NSS, o PAM e o WINBIND trabalham juntos. Temos tido problemas relacionados ao winbind e gostaríamos de tentar melhorar nossa configuração.

Aqui estão alguns arquivos de configuração principais. Note que eu apenas copiei pequenas partes por uma questão de brevidade.

/ etc / ssh / sshd_config

UsePAM yes

/etc/nsswitch.conf

passwd: files ldap winbind
shadow: files ldap winbind
group: files ldap winbind
services: files ldap

/etc/pam.d/ssh

auth required pam_env.so
auth sufficient pam_winbind.so
auth sufficient pam_krb5.so
auth sufficient pam_unix.so nullok
auth required pam_deny.so

Como exemplo, digamos que eu tente o SSH em um sistema Linux usando uma conta que esteja em um domínio do AD. O sistema Linux está usando o winbind para fazer interface com o AD.

Abaixo está o fluxo de como eu acho que isso funcionaria:

  1. O serviço SSH recebe uma solicitação para acessá-lo pela porta 22. O usuário insere suas credenciais.
  2. Como o serviço SSH está configurado para usar o PAM para autenticação, ele fará referência a "/etc/pam.d/ssh" para ver quais módulos PAM devem ser usados.
  3. No PAM, o SSH é configurado para testar primeiro o módulo 'pam_winbind.so'. A função deste módulo é consultar o AD para autenticação. Se for bem-sucedido, isso é suficiente para satisfazer o PAM, portanto, concede o acesso do usuário. Caso contrário, continua na lista.

Onde o NSS se encaixa nesse processo? Eu estou tendo dificuldade em entender o que o NSS realmente faz. Eu pensei que era um sistema que informa o SO aproveita para procurar certos "nomes". Por exemplo, se estiver procurando por uma conta de usuário (usando o arquivo nsswitch.conf acima), ele primeiro examinará os "arquivos" locais. Se as informações da conta não puderem ser encontradas lá, ele procurará um servidor "ldap" e, finalmente, "winbind".

Mas não é isso que o PAM está fazendo?

O PAM está utilizando a biblioteca 'pam_winbind.so' para autenticar com o que o controlador de domínio já está configurado para winbind. Por que precisamos do "winbind" listado no NSS? Talvez seja para serviços que não usam o PAM? Geralmente é um ou outro?

Qualquer transferência de conhecimento aqui seria muito apreciada!

    
por azurepancake 19.02.2016 / 23:00

0 respostas