unix_chkpw é executado antes de access.conf via pam - risco de segurança

0

Eu tenho sistemas RHEL 6.3 que têm o access.conf do PAM configurado e em execução corretamente. No entanto, parece em um estado menos que ideal, após a análise de uma tentativa de invasão de raiz, e eu estou querendo saber se há algo que possa ser feito sobre isso.

Eu usei o authconfig para adicionar access.conf e depois adicionei minhas regras. No entanto, parece que o PAM executa uma verificação de senha ANTES de executar as regras do access.conf. Eu quero inverter isso, e nem mesmo permitir que alguém verifique a senha, a menos que eles passem as regras do access.conf PRIMEIRO.

O comportamento atual representa um risco de segurança, porque embora o access.conf possa subsequentemente negar uma suposição de senha bem-sucedida, há características que dirão ao hacker que ele acertou o palpite. Isso é:

Tentativas de senha malsucedidas:

[ivo@pioneer:~]$ ssh root@mysecuresystem
root@mysecuresystem's password:
Permission denied, please try again.
root@mysecuresystem's password:
Permission denied, please try again.
root@mysecuresystem's password:
Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password).

Tentativas de senha bem-sucedidas:

[ivo@pioneer:~]$ ssh root@mysecuresystem
root@mysecuresystem's password:
Connection closed by 10.10.10.65
Comportamento não conclusivamente dizer-lhes que tem senha, mas é diferente de um palpite falho e, portanto, notável. (Além disso, os logs ainda mostram unix_chkpw, o que resulta em um falso positivo no IDS / log analyzer da Security).

Enquanto a mudança desse comportamento resultaria em alterações na fonte do PAM e, portanto, seria complicada, alterar a ordem das verificações no PAM poderia ser fácil?

Então, como faço para que o PAM use o access.conf ANTES de uma verificação de senha?

(Nota: precisamos usar o access.conf porque precisamos parar apenas o root da maioria das máquinas, mas permitir usuários de qualquer lugar. Portanto, o sshd config não é uma solução, nem invólucros para o que precisamos realizar)

Obrigado!

    
por zenfridge 14.03.2013 / 19:06

1 resposta

1

Esta não é uma solução, mas parece ser uma solução razoável, modifique o /etc/pam.d/sshd movendo a linha "pam_access.so" para que esteja na seção "auth", por exemplo:

auth required pam_access.so

Em vez de

conta requerida pam_access.so

Isso faz com que o login tente produzir a mensagem "Acesso negado" mesmo quando uma senha válida foi usada, evitando assim informar o hacker sobre uma estimativa correta.

    
por 15.03.2013 / 17:03