
Acabei de fazer login no meu pequeno servidor doméstico e vi esta mensagem:
Last failed login: Sun Jan 14 17:08:42 CET 2024 from 192.168.1.111 on ssh:notty
There were 4 failed login attempts since the last successful login.
Mudei para o usuário root e executei
root@homeserver ~]# egrep "Failed|Failure" /var/log/secure
Jan 14 17:08:42 homeserver sshd[4906]: Failed password for invalid user podman from 192.168.1.111 port 59183 ssh2
Por que o primeiro prompt relata 4 logins com falha, enquanto o comando egrep retorna apenas 1 entrada do secure
log? Eu tenho que usar outra coisa?
Responder1
Pelas suas linhas de logs após o login bem-sucedido e pelo fato de você ter inspecionado /var/log/secure
, presumo que você esteja executando o Redhat/CentOS em sua máquina. Na verdade, o primeiro prompt que você mencionou na sua pergunta provavelmente pode ser a saída de pam_lastlog
, cuja página de manual diz:
PAM_LASTLOG(8)
... (omitted for brevity)
OPTIONS
... (omitted for brevity)
showfailed
Display number of failed login attempts and the date of the last failed attempt from btmp. The date is not displayed when nodate is specified.
... (omitted for brevity)
Observe que a página de manual indica claramente que o número foi recuperado de btmp
, ou seja /var/log/btmp
, outro arquivo de log para registrar logins malsucedidos. Infelizmente, é um arquivo binário e você não pode inspecioná-lo usando os comandos cat
e grep
. Como alternativa, você pode usar last -f /var/log/btmp
o comando para verificar o que o arquivo registra, de acordo comesta resposta.
A propósito, pode ser útil se você verificar a página de manual pam_lastlog
eessa questãopara leitura adicional.