Trovare gli ultimi accessi riusciti e tentativi falliti su un server CentOS


29

Sto cercando un file di registro o qualsiasi servizio per segnalare gli ultimi tentativi di accesso non riusciti a causa della mancata corrispondenza di nome utente / password. Esistono tali utilità disponibili per CentOS? (preferito è preferito)

La mia seconda domanda, e più in generale, ho bisogno di un file di registro dei tentativi di penetrazione sul mio server. Idealmente, questo registro dovrebbe contenere tutti i tentativi inclusi accessi, attività httpd e altre porte aperte convenzionali.


2
risposta alla seconda domanda: dai un'occhiata a OSSEC .
quanti

1
Questo thread viene spostato da StackOverflow dopo che ho posto la domanda in Serverfault. Ecco i thread che discutono la seconda domanda.
Lashgar,

Risposte:


61

In Linux, il lastcomando mostra i tentativi di accesso riusciti e visualizza le informazioni sulla sessione (punti, sorgente, data e lunghezza).

Il lastbcomando registra tutti i tentativi di accesso errati. Entrambi condividono la stessa manpagina, ma la differenza è che lastlegge il /var/log/wtmpfile binario e lastblegge il /var/log/btmpfile per impostazione predefinita.

L'intervallo di questi file dipende dalla pianificazione della rotazione del registro, ma dovrebbe durare alcune settimane. La maggior parte delle distribuzioni ruoterà /var/log/wtmpmensilmente, quindi puoi leggere un record precedente, di solito elencato come /var/log/wtmp.1specificando il file con il -fparametro ...last -f /var/log/wtmp.1


17
+1 per illastb
lashgar il

3
Questa dovrebbe essere la risposta selezionata
un programmatore il

@acoder, fatto: pollice:
lashgar

14

La domanda è qui offtopic, ma una risposta molto breve: forse dovresti semplicemente controllare / var / log / secure (es. Grep per "fallito").


In realtà è la risposta alla mia prima domanda. Chiederò il secondo in ServerFault. Grazie.
Lashgar,

1

Questo è un vecchio thread ma ho un'attività simile come questa, quindi nel mio caso questa è una voce di registro

Nov 15 17:14:47 megatron sshd[4768]: Failed password for git from 192.168.122.1 port 49227 ssh2

Quindi possiamo farlo in questo modo, se siamo sicuri che l'utente sia statico

#!/bin/bash
LOG=/var/log/secure
MESSAGE="Failed password for git"
grep -i "$MESSAGE" "$LOG

Nel caso in cui lo sappiamo sulla base dell'utente

#!/bin/bash
LOG=/var/log/secure
if [ -n "$1" ]
then
NEWUSER="$1"
else
NEWUSER="root"
fi
MESSAGE="Failed password for $NEWUSER"
grep -i "$MESSAGE" "$LOG"

Quindi lo script dovrebbe essere eseguito come

[root@megatron bash1]# ./failedlogin.sh git

O un approccio più semplice

#!/bin/bash
LOG=/var/log/secure
MESSAGE="Failed password for"
grep -i "$MESSAGE" "$LOG"
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.