Bloqueio de conta com pam_tally2 no RHEL6

6

Estou usando pam_tally2 para bloquear contas após três logins com falha por política. No entanto, o usuário que está se conectando não recebe a conta erro indicando a ação do pam_tally2. (Via SSH.)

Espero ver na quarta tentativa:

Account locked due to 3 failed logins

Nenhuma combinação de obrigatório ou requisito ou a ordem no arquivo parece ajudar. Isto está sob o Red Hat 6 , e eu estou usando /etc/pam.d/password-auth . O bloqueio funciona como esperado , mas o usuário não recebe o erro descrito acima. Isso causa muita confusão e frustração, pois eles não têm como saber por que a autenticação falha quando eles têm certeza de que estão usando a senha correta.

A implementação segue o Guia para a configuração segura do Red Hat Enterprise Linux 5 da NSA. (pg.45) Entendo que essa única coisa alterado no PAM é que /etc/pam.d/sshd agora inclui /etc/pam.d/password-auth em vez de system-auth .

If locking out accounts after a number of incorrect login attempts is required by your security policy, implement use of pam_tally2.so.

To enforce password lockout, add the following to /etc/pam.d/system-auth. First, add to the top of the auth lines:

auth required pam_tally2.so deny=5 onerr=fail unlock_time=900

Second, add to the top of the account lines:

account required pam_tally2.so

EDITAR:

Eu recebo a mensagem de erro reiniciando o pam_tally2 durante uma das tentativas de login.

user@localhost's password: (bad password)
Permission denied, please try again.
user@localhost's password: (bad password)
Permission denied, please try again.

(redefinir o pam_tally2 de outro shell)

user@localhost's password: (good password)
Account locked due to ...
Account locked due to ...
Last login: ...
[user@localhost ~]$
    
por Aaron Copley 09.11.2012 / 21:15

2 respostas

6

Você também precisa de ChallengeResponseAuthentication yes em /etc/ssh/sshd_config .

Para exibir o erro, pam precisa de uma função de conversa.

Esta opção diz ao ssh para fornecer uma função de conversação mais completa do PAM, que abrange, entre outras coisas, fornecer saída e pedir entrada arbitrária (em vez de apenas ser entregue uma senha por sshd ).

Editar: você vai querer que PasswordAuthentication no garanta que a entrada da senha sempre passe por essa conversa do PAM.

    
por 13.11.2012 / 03:28
0

Infelizmente, o que você procura não está disponível. O OpenSSH permitirá ou negará apenas a autenticação. Não vai dar um atacante ou um usuário desajeitado saber qualquer informação adicional e isso é um comportamento padrão. O PAM não tem conhecimento da comunicação de rede que o OpenSSH ou qualquer outro comportamento específico do aplicativo está usando . É apenas um monte de módulos para autenticar com.

Além disso, o pam_tally2 não fornece nenhum tipo de diretiva de mensagem de erro definida pelo usuário, portanto você só pode confiar no que está no seu registro de sistema.

Um método que você pode analisar é modificar a base de código do OpenSSH (não muito difícil), mas isso está fora do escopo desta questão.

    
por 13.11.2012 / 02:13