ppolicy com pam_ldap - pwdReset não tem efeito quando logando do Ubuntu

1

Instalamos o overlay do ppolicy em nosso servidor ldap. As políticas de senha funcionam corretamente para bloquear o usuário após X tentativas incorretas de senha, mas não podemos forçar o usuário a alterar sua senha.

Quando definimos o atributo pwdReset = TRUE para um usuário - o usuário pode efetuar o login normalmente da máquina cliente Ubuntu.

Servidor Ldap & O cliente foi configurado de acordo com o Ubuntu howto: link

A máquina cliente usa o pam_ldap

O arquivo de configuração /etc/ldap.conf tem a linha "pam_lookup_policy yes"

Mas o atributo pwdReset é ignorado.

De acordo com o que eu li na internet, o pam_ldap deve honrar o ppolicy e exigir que o usuário mude sua senha quando o pwdReset estiver configurado. Mas isso não funciona para nós ..

Como tornar o atributo pwdReset de honra do cliente ubuntu?

Talvez eu possa ativar o registro de depuração para o pam_ldap? Mas não consigo encontrar como fazer isso ...

    
por Dima L. 28.05.2013 / 13:56

2 respostas

1

Certifique-se de que pwdMustChange esteja definido como TRUE na política de senha efetiva do usuário.

Veja a página do manual slapo-ppolicy para obter mais informações.

    
por 06.09.2013 / 21:06
1

Eu encontrei isso também - meu problema específico era que, enquanto alguns aplicativos de terceiros (Okta no nosso caso) procuravam pwdReset , o pam_ldap plugin não.

Depois de dar uma olhada no código-fonte para pam_ldap como hospedado aqui: link - cheguei ao conclusão de que pam_ldap ignora completamente pwdReset , que faz parte do ppolicy.schema do OpenLDAP. Você pode encontrar o esquema que o OpenLDAP usa aqui: link

NOTA: Acredito que o problema é que os atributos de política do OpenLDAP são diferentes do esquema original usado pela implementação do servidor LDAP (Netscape? / UniversityOfMichigan? / Sun?), que é o que o pam_ldap espera.

O que faz funcionar corretamente são os atributos shadow* que fazem parte do shadowAccount objectClass.

[Passos são para o Ubuntu]

  1. Certifique-se de que seu (s) usuário (s) tenha uma política de senha definida no LDAP, verificando pwdPolicySubentry :

    ldapsearch (...) -b dc=example,dc=org "(uid=testinguser)" pwdPolicySubentry
    
  2. Verifique as informações de shadow* do seu usuário

    slapcat -a uid=testinguser
    
  3. Defina shadowLastChange como 0 para permitir que pam_ldap reconheça uma senha expirada

    Isso pode ser feito por meio de um script que verifica pwdReset e atualiza shadowLastChange .

Quando isso está configurado, o PAM forçará corretamente um usuário a alterar sua senha no login.

Veja também: link

    
por 20.09.2017 / 23:37