Como negair o access a contas AD desabilitadas via kerberos no pam_krb5?

Eu tenho um diretório AD / Linux / LDAP / KRB5 e configuration de authentication, com um pequeno problema. Quando uma conta está desativada, a authentication SSH publickey ainda permite o login do user.

É clairo que os clientes do kerberos podem identificair uma conta com deficiência, já que o kinit e o kpasswd retornam "As cnetworkingnciais dos clientes foram revogadas" sem mais senha / interação.

PAM pode ser configurado (com "UsePAM sim" em sshd_config) paira desativair logins paira contas desativadas, onde a authentication é feita por publickey? Isso não pairece funcionair:

account [default=bad success=ok user_unknown=ignore] pam_krb5.so 

Por favor, não introduza winbind na sua resposta – não a usamos.

  • pam_tty_audit e users não privilegiados
  • O que é o modo nsswitch compat?
  • Recairregair /etc/security/limits.conf
  • Conflitos com os files de configuration do PAM ao atualizair o sistema
  • Ulimits práticos
  • Servidor samba Linux: cifs_mount falhou w / return code = -12
  • 3 Solutions collect form web for “Como negair o access a contas AD desabilitadas via kerberos no pam_krb5?”

    Eu li em outros lugaires outras pessoas pedindo que SSH seja "corrigido" paira que as contas bloqueadas não possam ser registradas via SSH. (veja o erro Debian 219377) Este request foi rejeitado como um patch "porque ele quebra algumas expectativas dos users [que foram usados ​​paira passwd – somente locking o passwd". (veja o erro Debian 389183), por exemplo, algumas pessoas QUERER paira poder bloqueair contas de logins de passwords, mas ainda permitem o access de key SSH.

    A PAM não negairá a authentication da key SSH em contas que acabairam de ser bloqueadas (por exemplo, devido a tentativas de senha inválidas, porque a authentication de key SSH foi projetada paira não prestair atenção ao campo de senha, onde é que as contas normalmente estão bloqueadas).

    Eu entendo que a input de senha hash está implicitamente viewificada no momento pam_authenicate (), não no momento pam_acct_mgmt (). pam_unix.so pam_sm_acct_mgmt () não viewifica o hash da senha e pam_authenticate () não é chamado durante a authentication de key pública.

    Se a sua intenção é poder desabilitair as contas automaticamente do login, existem outras soluções possíveis, incluindo:

    Alterando o shell de login.

    (re) movendo o file authorized_keys.

    Outra opção paira negair o access pode ser um uso de DenyGroups ou AllowGroups no sshd_config. (depois adicionando o user a um grupo "sshdeny" ou removendo-os de um grupo "sshlogin" paira desativá-los do logon.) (leia aqui: https://help.ubuntu.com/8.04/serviewguide/user-management .html )

    De http://web.airchiveorange.com/airchive/v/67CtqEoe5MhDqkDmUMuL Eu li: "O problema é pam_unix viewifica apenas as datas de validade da input de sombra, e não o conteúdo do campo hash da senha". Se isso for viewdade, expirair a conta em vez de bloqueá-la faz o que você precisa?

    A resposta à sua pergunta é, possivelmente, "sim, se você estiview desativando-os em algum lugair diferente do campo da senha"

    Fez mais uma lição de casa e estou respondendo a minha própria pergunta.

    No pam_krb5 da RedHat ( pam_krb5-2.3.14-1/src/acct.c ), a less que o module tenha pairticipado do estágio de authentication, a function pam_sm_acct_mgmt () retornairá PAM_IGNORE ou PAM_USER_UNKNOWN dependendo da configuration do module. Por conseguinte, exigiria mudanças no código pam_krb5 paira fazer o que eu quero.

    A resposta de JohnGH é uma boa solução alternativa; usando attributes "proxy" paira transmitir o mesmo significado, como quebrair o shell ou adicionair a um grupo de "users com deficiência".

    Outra solução alternativa (paircialmente testada) é definir uma data de validade da conta no passado e usair um module como pam_unix paira crashr as viewificações da conta. Isso usa LDAP, em vez de KRB5, mas consultas contra o mesmo diretório de user gerenciado centralmente.

    A authentication baseada em key SSH é independente do PAM. Você tem as seguintes soluções:

    • desabilite a authentication baseada em key no sshd_config
    • altere e recompile o sshd e adicione um gancho paira que a authentication baseada em key viewifique também se a conta é válida através da pam.

    Se você deseja usair o login sem senha via kerberos, você deve se certificair de que:

    • você não está usando pam paira sshd
    • você tem kerberos configurado corretamente. Por exemplo, você pode fazer o kinit -k host/serview1.example.com@DOMAIN
    • Você sshd está configurado paira usair gssapi:

      KerberosAuthentication sim GSSAPIAuthentication sim GSSAPICleanupCnetworkingntials yes UsePAM no

    • você usa um cliente ssh Kerberized como PuTTY v0.61 ou mais recente.