Definir rodadas de hash de senha específicas do usuário no PAM

1

Em /etc/pam.d/common-password , temos uma linha como:

password [success=1 default=ignore] pam_unix.so sha512 rounds=200000

Ou seja, sempre que alguém definir sua senha, use o hash com 200.000 rodadas de SHA-512. Esse hash inerentemente lento protege contra ataques de dicionário e de força bruta, limitando a velocidade a que senhas podem ser testadas.

Para algumas contas, podemos querer proteger melhor a senha, no despesa de hashing mais lento. Diga, 500.000 rodadas para uma conta de administrador e 800.000 por root . Mas não consegui encontrar uma maneira de especificar essas políticas por usuário ou por grupo no PAM. Isso pode ser feito?

    
por Tom Zych 17.03.2016 / 10:39

1 resposta

1

Você pode especificar políticas por usuário ou por grupo por meio do pam_succeed_if módulo. Use a ação "goto" (ou seja, um inteiro em vez de ok , ignore , etc.) para pular uma configuração de password para alguns usuários.

password [success=1] pam_succeed_if user ne 0
# Setting for root
password [success=1] pam_unix.so sha512 rounds=800000
# Setting for non-root
password [success=ok] pam_unix.so sha512 rounds=200000

(Aviso: não testado e não sou fluente no PAM.)

    
por 18.03.2016 / 02:24

Tags