estou tentando usar pam_tally2
no /etc/pam.d
galaxy
Eu mudo o sshd para o seguinte conteúdo
#%PAM-1.0
auth required pam_securetty.so
auth required pam_tally2.so deny=3 unlock_time=600
auth required pam_env.so
auth required pam_unix.so
auth required pam_nologin.so
account required pam_unix.so
password required pam_unix.so
session required pam_limits.so
session required pam_unix.so
session required pam_lastlog.so nowtmp
session optional pam_mail.so standard
Criei uma conta de teste; antes do login, testei a contagem de login com falha:
pam_tally2 -u tst3402
(empty)
agora eu logo usando a senha correta (isso é feito por um expect
script, a senha é como aaa12BBB,
)
spawn ssh -l tst3402 172.9.2.1
Password:
No mail.
Last login: Tue Mar 20 14:25:17 2018 from 172.2.2.2
tst3402@hostname:~>
status OK
Onde
- status OK é enviado por
expect
Eu verifico novamente a contagem de falhas
pam_tally2 -u tst3402
Login Failures Latest failure From
tst3402 1 03/20/18 14:25:17 172.2.2.2
Isso implica que, após 3 logins bem-sucedidos, a conta é bloqueada.
Pergunta
por que após um login bem-sucedido, há pam_tally2
1 falha?
suspeito habitual:
Eu sei que posso usar chaves ssh, mas estou sob a maldição do ISAE3420
usando ssh -vvv -l ... vejo duas trocas .. devo ver 2 falhas?
debug3: send packet: type 50 debug3: receive packet: type 51
não existe SELinux
Não encontrei nenhuma pergunta pam_tally2 em security.SE
Problema
Estou vendo um comportamento semelhante em uma das minhas máquinas: usar
sudo
com a senha correta gera uma entrada nopam_tally2
contador de.Contexto
A
pam.d/sudo
entrada é a padrão, bem simples:Em
common-auth
, adicionei apam_tally2.so
linha no topo, antes dapam_unix.so
linha:Explicação
A
pam_tally2
página do manual afirma (ênfase minha):Então, até aqui, acredito que a pilha não chama corretamente
pam_setcred
. Nenhum arquivopam.d
tem uma chamada parapam_setcred
(nem está instalado no meu sistema).Solução
Nos exemplos, a página de manual declara (ênfase minha):
Portanto, se não houver chamada para
pam_setcred
, o módulo precisará ser chamado naaccount
fase.Eu editei
pam.d/common-account
o arquivo e adicionei no topo:Isso redefinirá o contador quando o usuário conseguir autenticar.
FAÇAM
Se um usuário cancelar a autenticação (por exemplo, pressionando Ctrl+C quando a senha for solicitada), isso incrementará o contador sem decrementá-lo, portanto, é indistinguível de uma tentativa malsucedida.