Suchen der letzten erfolgreichen Anmeldungen und fehlgeschlagenen Versuche an einem CentOS-Server

29

Ich suche nach einer Protokolldatei oder einem Dienst, um die letzten Anmeldeversuche zu melden, die aufgrund einer Nichtübereinstimmung von Benutzername und Kennwort fehlgeschlagen sind. Gibt es solche Dienstprogramme für CentOS? (eingebaut ist bevorzugt)

Meine zweite Frage und im Allgemeinen benötige ich eine Protokolldatei mit Durchdringungsversuchen für meinen Server. Im Idealfall sollte dieses Protokoll alle Versuche enthalten, einschließlich Anmeldungen, httpd-Aktivitäten und anderer herkömmlicher offener Ports.

lashgar
quelle
2
Antwort auf die zweite Frage: werfen Sie einen Blick auf OSSEC .
Quanten
1
Dieser Thread wird von Stackoverflow verschoben, nachdem ich die Frage in Serverfault gestellt habe. Hier ist der Thread, in dem die zweite Frage diskutiert wird.
Lashgar

Antworten:

61

Unter Linux zeigt der lastBefehl erfolgreiche Anmeldeversuche und Sitzungsinformationen (Punkte, Quelle, Datum und Länge) an.

Der lastbBefehl zeichnet alle fehlerhaften Anmeldeversuche auf. Beide verwenden dieselbe manSeite, der Unterschied besteht jedoch darin, dass lastdie Binärdatei /var/log/wtmpund standardmäßig lastbdie /var/log/btmpDatei gelesen werden.

Der Bereich dieser Dateien hängt von Ihrem Zeitplan für die Protokollrotation ab, sollte jedoch einige Wochen umfassen. Die meisten Distributionen werden /var/log/wtmpmonatlich gewechselt , sodass Sie einen vorherigen Datensatz lesen können, in der Regel wie folgt: Geben Sie /var/log/wtmp.1die Datei mit dem -fParameter ... an.last -f /var/log/wtmp.1

ewwhite
quelle
17
+1 für dielastb
Lashgar
3
Dies sollte die ausgewählte Antwort sein
ein Programmierer
@acoder, fertig: thumb:
lashgar
14

Die Frage ist hier offtopisch, aber eine sehr kurze Antwort: Vielleicht solltest du einfach / var / log / secure überprüfen (zB grep für "failed").

Flolo
quelle
Es ist eigentlich die Antwort auf meine erste Frage. Ich werde die zweite in ServerFault fragen. Vielen Dank.
Lashgar
1

Dies ist ein alter Thread, aber ich habe eine ähnliche Aufgabe wie diese, in meinem Fall ist dies also ein Protokolleintrag

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

Wir können es also so machen, wenn wir sicher sind, dass der Benutzer statisch ist

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

In dem Fall, wenn wir es auf Benutzerbasis wissen

#!/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"

So sollte das Skript wie folgt ausgeführt werden

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

ODER einfachere Annäherung

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