Não faz muito tempo eu expliquei como saber quais IPs foram conectados por SSH, mas ... e se o nome de usuário ou a senha estiverem incorretos e eles não se conectarem?
Ou seja, se alguém está tentando adivinhar como acessar nosso computador ou servidor via SSH, realmente precisamos saber, ou não?
Para isso faremos o mesmo procedimento do post anterior, filtraremos o log de autenticação, mas desta vez, com um filtro diferente:
cat /var/log/auth* | grep Failed
Deixo uma captura de tela de sua aparência:
Como você pode ver, ele me mostra o mês, dia e hora de cada tentativa falhada, bem como o usuário com o qual eles tentaram entrar e o IP a partir do qual tentaram acessar.
Mas isso pode ser arranjado um pouco mais, vamos usar awk para melhorar um pouco o resultado:
cat /var/log/auth* | grep Failed | awk '{print $2 "-" $1 " " $3 "\t USUARIO: " $9 "\t DESDE: " $11}'
Aqui vemos como ficaria:
Esta linha que acabei de mostrar para você não deve memorizar tudo, você pode criar um aliás para ela, porém, o resultado é o mesmo da primeira linha, só que um pouco mais organizado.
Isso eu sei que muitos não vão achar útil, mas para nós que gerenciamos servidores sei que vai nos mostrar alguns dados interessantes hehe.
lembranças
Muito bom uso de canos
lembranças
Obrigado
Excelente o 2 post
Sempre usei o primeiro, porque não sei awk, mas vou ter que aprender
cat / var / log / auth * | grep falhou
Aqui onde trabalho, na Faculdade de Matemática-Computação da Univ de Oriente em Cuba, temos uma fábrica de “pequenos hackers” que estão constantemente a inventar coisas que não deviam e tenho de ter 8 olhos. O tema ssh é um deles. Obrigado pela dica cara.
Uma dúvida: se alguém tem um servidor voltado para a internet, mas no iptables abre a porta ssh apenas para determinados endereços MAC internos (digamos de um escritório), as tentativas de acesso do resto dos endereços internos alcançariam o log de autenticação e / ou externo? Porque tenho minhas dúvidas.
No log, o que é salvo são apenas as solicitações permitidas pelo firewall, mas negadas ou aprovadas pelo sistema como tal (quero dizer o login).
Se o firewall não permitir a passagem de solicitações SSH, nada chegará ao log.
Isso eu não tentei, mas vamos lá ... acho que deve ser assim 😀
grep -i falhou /var/log/auth.log | awk '{print $ 2 «-» $ 1 »» $ 3 «\ t USUÁRIO:» $ 9 «\ t DE:» $ 11}'
rgrep -i falhou / var / log / (logrota pastas) | awk '{print $ 2 «-» $ 1 »» $ 3 «\ t USUÁRIO:» $ 9 «\ t DE:» $ 11}'
em centos-redhat… ..etc ……
/ var / log / secure