Como impedir que os usuários alterem sua senha para uma das últimas senhas do X?

9

Eu tenho um sistema Ubuntu GNOME 15.10 com GNOME 3.18 que gostaria de configurar para que os usuários que o utilizam não possam definir uma nova senha como uma das senhas X anteriores, como isso pode ser alcançado?

Quando altero minha senha, se for muito semelhante ao meu último, meu sistema não me permite alterá-la para essa senha, seria bom que a resposta também pudesse mostrar como estender isso, para que a nova senha também não possa ser alterada. muito semelhante às senhas X gravadas anteriormente.

Nota: O histórico das últimas senhas do X não deve ser armazenado de maneira não criptografada e insegura; na verdade, provavelmente deve ser armazenado da mesma maneira ou de maneira semelhante à maneira como a senha atual é armazenada (como um hash salgado).

Eu usei Xpara representar o número de senhas (isso pode ter qualquer valor) porque quero poder alterar facilmente a quantidade de senhas armazenadas que não podem ser usadas, e também para que outras pessoas possam facilmente aceitar a resposta e usá-la como preferir. desejo, em vez de ter uma resposta que gira em torno de um valor muito definido para X.

Atualização de informações:

Conforme solicitado aqui, está o conteúdo do meu /etc/pam.d/common-passwordarquivo (excluindo os comentários na parte superior) :

# here are the per-package modules (the "Primary" block)
password        [success=1 default=ignore]      pam_unix.so obscure sha512
# here's the fallback if no module succeeds
password        requisite                       pam_deny.so
# prime the stack with a positive return value if there isn't one already;
# this avoids us returning an error just because nothing sets a success code
# since the modules above will each just jump around
password        required                        pam_permit.so
# and here are more per-package modules (the "Additional" block)
password        optional        pam_gnome_keyring.so
# end of pam-auth-update config
Guntbert
fonte
Observe que a) forçar os usuários a alterar sua senha eb) impedir que X senhas antigas, onde X é> 2, pode reduzir a segurança ... "É melhor apenas acrescentar 1 à minha senha antiga ... E escrevê-la na nota postada para lembrar me ... "
Tim
@ Tim: Já existem mecanismos embutidos no meu sistema que impedem que a senha seja muito semelhante à anterior.
Isso geralmente é tão ruim - que garante que o usuário as anote. Também não estou convencido de que mudar isso traga algum benefício - e certamente tenha negativos.
Tim
@ Tim: Além disso, você acabou de me lembrar de algo que esqueci de incluir, atualizei minha pergunta com ela (embora note que, embora isso seria bom, se a resposta não puder mostrar como fazer essa coisa adicional, eu ficaria bem com recebendo o que eu pedi originalmente).
@ Tim: terei outras políticas em vigor impedindo-as de fazer isso e estarei de olho nelas.

Respostas:

17

Você pode configurar o PAM para fazer isso por você. Basta abrir /etc/pam.d/common-passworde anexar use_authtokà primeira passwordlinha (a que chama o módulo pam_unix), para que fique assim:

password    [success=1 default=ignore]  pam_unix.so obscure sha512 use_authtok

Agora adicione esta linha acima da linha modificada anteriormente:

password    required    pam_pwhistory.so  remember=X

onde Xé o número de senhas anteriores com as quais você deseja verificar uma senha repetida.

Aqui, as Xsenhas anteriores serão armazenadas no formato hash no local/etc/security/opasswd

Portanto, você precisa criar o arquivo se, e somente se ele não existir, e atribuir a permissão 600 ( -rw-------):

sudo touch /etc/security/opasswd
sudo chmod 600 /etc/security/opasswd
daltonfury42
fonte
Embora fazer o que você diz parece significar que, se eu tentar definir uma senha que eu usei antes como uma das minhas últimas senhas X no centro de controle do gnome, isso simplesmente não fará nada e me obriga a forçar o encerramento do aplicativo. parece funcionar muito bem ... O que exatamente ele faz em 14.04? Porque eu esperaria que ele me indicasse se a senha não era adequada em vez de apenas travar quando eu pedir para alterá-la.
@ParanoidPanda Muito interessante. O que você ganha quando tenta alterar a senha usando passwd? Isto é o que acontece comigo. Quando mudo usando passwd, obtenho "A senha já foi usada. Escolha outra". e quando tento alterar a senha na GUI, não me permite alterar a senha (o botão Alterar está acinzentado) e a "Senha muito fraca" é gravada.
precisa saber é o seguinte
Note-se que estou relatando a partir do Ubuntu 14.04 executando o Unity, não o Gnome.
daltonfury42
Eu testei novamente, desta vez em uma instalação do Ubuntu GNOME 16.04 Beta 2 com o GNOME 3.20 e descobri que funciona da mesma forma que você descreveu com o passwdcomando, mas não no gnome-control-center, apenas fica suspenso depois que me permite para pressionar Change. Embora talvez esse é um problema que eu preciso para apresentar um relatório sobre ...
2
@ParanoidPanda Isso deve-se à péssima programação no gnome-control-center, não porque isso não funciona. A configuração do PAM é definitivamente a melhor maneira de fazer isso.
Seth