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!