Estou configurando um sistema no qual todos os recursos de TI estão disponíveis através de um único par de senha de usuário, seja acesso ao shell nos servidores, efetuando logon no domínio Samba, WiFi, OpenVPN, Mantis etc. (com acesso a serviços específicos controlados por associação ao grupo ou campos de objeto do usuário). Como temos dados pessoais em nossa rede, precisamos implementar o envelhecimento da senha, conforme a Diretiva de Proteção de Dados da UE (ou melhor, a versão polonesa dela).
O problema é que as contas Samba e POSIX no LDAP usam informações diferentes de hash e envelhecimento de senhas. Enquanto sincronizar as senhas si é fácil (o ldap password sync = Yes
no smb.conf
), acrescentando senha envelhecimento à mistura breaks coisas: o Samba não atualizar shadowLastChange. Juntamente com obey pam restrictions = Yes
cria um sistema no qual um usuário do Windows não pode alterar a senha antiga, mas se eu não a usar, os diretórios pessoais não serão criados automaticamente. A alternativa é usar a operação estendida LDAP para alterar a senha, mas o smbk5pwd
módulo também não a define. O pior é que o mantenedor do OpenLDAP não o atualiza / aceita patches, pois esse campo é considerado obsoleto.
Então, minha pergunta é: qual é a melhor solução? Quais são as vantagens e desvantagens deles?
Usar o LDAP
ppolicy
e o envelhecimento interno da senha LDAP?- Como funciona com NSS, módulos PAM, samba e outros sistemas?
- Os módulos NSS e PAM precisam ser configurados de maneira especial para usar o ppolicy, e não a sombra?
- O GOsa² funciona com o ppolicy?
- Existem outras ferramentas administrativas que podem funcionar com
ppolicy
LDAP ativado?
Hackear um script de alteração de senha que atualize o campo no LDAP. (deixando a possibilidade de o próprio usuário atualizar o campo sem alterar a senha)
Respostas:
Eu escrevi minha própria sobreposição OpenLDAP chamada
shadowlastchange
para atualizar oshadowLastChange
atributo sempre que ocorre uma alteração na senha do EXOP. É ativado emslapd.conf
:Eu configurei
smb.conf
para alterar senhas via EXOP:Em seguida, para cada conta, defina
shadowMax
o número de dias em que uma senha é válida. Os módulos OpenLDAP cuidam do resto!fonte
ppolicy
ou outrasmbk5pwd
sobreposição na atualização do DebLD do OpenLDAPshadowLastChange
. Yay para o Debian!Como uma lacuna, criei um script para o Samba que atualizará a
shadowLastChange
alteração na senha:Na configuração do Samba, ele precisa ser
unix password sync
definido comoyes
,passwd chat
definido como*OK*
epasswd program
acima do script com"%u"
como param.Uma conta especificada em
LDAP_USER
precisa ser criada no LDAP e receber permissões para leruid
todos os usuários do Samba e o direito de escrevershadowLastChange
.fonte
(trabalho em andamento, adicionarei detalhes mais tarde)
Boas notícias, pessoal! Eu fiz a coisa toda funcionar, mais ou menos ..., em um ambiente de teste ...:
ppolicy
,not24get
epasswdqc
)smbk5pwd
). Nota: A verificação da qualidade com o Samba e o ppolicy não é óbvia: opassword check script
(pwqcheck -1
frompasswdqc
) precisa executar as mesmas verificações que o LDAP faz ou o usuário receberá uma permissão negada em vez de "Senha muito fácil, tente diferente".pam_mkhomedir
uid
nas entradas do grupo; portanto, os aplicativos que esperam o esquema NIS (a maioria dos itens "UNIXy") ou o esquema RFC2307bis (a maioria dos aplicativos "projetados para AD") funcionam bem.O único problema é que a desativação de uma conta requer o uso de ferramentas CLI (ou a escrita do script pós-modificação do GOsa) ou a conta não será bloqueada no nível LDAP, apenas para PAM e Samba. A expiração da senha ainda será aplicada, portanto não é um grande problema.
fonte
Eu tenho resposta de um dos desenvolvedores do GOsa. No momento, o GOsa não suporta sobreposição de ppolicy de forma alguma.
fonte