Por que adicionar esta linha a /etc/pam.d/common-auth
:
auth required pam_tally2.so deny=4 unlock_time=1200 even_deny_root
e adicionando esta linha a /etc/pam.d/common-account
:
account required pam_tally2.so
impedir todos os logins no meu sistema Debian 10? Todos os meus outros pam
arquivos de configuração ( login
, common-session
, e common-password
estão inalterados em relação aos padrões, mas posso publicá-los também, se necessário).
Eu vi algumas outras perguntas que discutem pam_tally
, por exemplo, this one , this one e this one , mas elas não têm respostas específicas pam_tally
ou não têm nenhuma resposta.
(Como pano de fundo, estou tentando adaptar este guia atualizado para sistemas Debian)
EDIT: O libpam-modules
pacote está instalado.
De common-auth
:
auth [success=1 default=ignore] pam_unix.so nullok_secure
auth required pam_tally2.so deny=4 unlock_time=1200 even_deny_root
auth requisite pam_deny.so
auth required pam_permit.so
De common-account
:
account required pam_tally2.so
account [success=1 new_authtok_reqd=done default=ignore] pam_unix.so
account requisite pam_deny.so
account required pam_permit.so
Há duas partes para esta resposta. O primeiro
pam_tally2
adicionaauth
. O segundo adiciona aaccount
. Você precisa de ambas as partes parapam_tally2
funcionar corretamente .Vejamos o
common-auth
.A primeira linha diz: "Tente usar a autenticação UNIX (
/etc/passwd
). Se for bem-sucedido, pule uma linha e continue. Caso contrário, vá para a próxima etapa".success=1
), ou sejapam_tally2
, e batemospam_deny
que nega o loginpam_tally2
e entãopam_deny
, que nega o loginParte da solução é colocar
pam_tally2
a lista no topo da pilha. (Você pode pensar que mudarsuccess=2
funcionaria, mas isso pulariapam_tally2
para autenticação bem-sucedida, então só poderia ser redefinido de uma falha após o tempo limite expirar.) Aqui está o meu, de um sistema Debian bastante baunilha:Isso aumenta a contagem, mas você precisa de uma maneira de redefini-la após logins bem-sucedidos sem recorrer ao
pam_tally2
comando. O que não é particularmente óbvio é que você precisa adicionarpam_tally2.so
àaccount
seção, também como a primeira entradaEu testei isso, mas quando você experimentar, certifique-se de ter um shell de root adicional aberto na máquina de destino para que você possa reverter quaisquer alterações na configuração do PAM!
Você pode ver o que está acontecendo com
tail -F /var/log/auth.log
ewatch pam_tally2 --user {user}
.Observe que a contagem é incrementada assim que a autenticação é tentada e redefinida somente em caso de sucesso, portanto, o limite de contagem deve ser uma unidade maior que o número de tentativas permitidas.