Welche Überwachungsprotokolldateien werden unter Linux erstellt, um die Aktivitäten eines Benutzers zu verfolgen?

7

Eine der Maschinen in unseren Netzwerken verbrauchte viel Internetbandbreite. Es wurde jedoch kein Benutzer das System verwendet.

Als ich über SSH eine Verbindung zum Server herstellte und whoausführte , wurde angezeigt , dass ein Benutzer von einer IP-Adresse angemeldet ist, die ich nicht erkannt habe. Ich habe diesen Benutzer nicht auf dem System erstellt. Und im /etc/sudoersBenutzer hatte unbegrenzten Root-Zugriff:

test11   ALL = NOPASSWD: ALL

Ich habe die Sitzung beendet und das Root-Passwort geändert. Ich habe auch den Benutzer gelöscht.

Jetzt bin ich wahrscheinlich in Sicherheit, muss aber analysieren, warum dies passiert ist und welche Aktivitäten vom Benutzer ausgeführt wurden.

Wie erfahre ich mehr Informationen darüber, was dieser Benutzer getan hat? Welche Systemprotokolldateien können mir helfen, weitere Informationen zu IP, Dauer, ausgeführten Befehlen, Zugriff auf Internetseiten usw. zu erhalten?

Hinweis: Dies ist eine Standardinstallation eines CentOS 6-Systems. Ich habe keine Sicherheits- oder Überwachungssoftware installiert. Ich habe auch keine Systemkonfiguration geändert. Ich muss wissen, was ich aus einer Standardinstallation extrahieren kann.

Kshitiz Sharma
quelle

Antworten:

19

Da Ihr System kompromittiert wurde, können keine Informationen, die Sie von diesem System erhalten, als vertrauenswürdig eingestuft werden. Nur Protokolle, die sofort an ein externes System gesendet werden, können als vertrauenswürdig eingestuft werden (z. B. Echtzeit-Remote-Syslog). Das heißt, wenn Sie eine nächtliche Protokollrotation für eine NFS-Freigabe haben, können Sie dieser nicht vertrauen.

Es ist jedoch möglich, dass der Benutzer sich nicht die Mühe gemacht hat, seine Spuren zu verwischen, und dass die Informationen möglicherweise noch auf dem System verfügbar sind.

Leider ist bei einer Standardinstallation von Centos / RHEL nur eine sehr geringe Protokollierung erforderlich. Sie sind im Grunde darauf beschränkt, herumzustöbern /var/log. Welches Protokoll Sie durchsuchen sollten, hängt davon ab, welche Dienste auf dieser Box ausgeführt werden. Ich würde jedoch mit dem SSH-Protokoll beginnen. Überprüfen Sie anschließend die Protokolle aller Dienste, die als Root ausgeführt werden oder sudoZugriff haben.

Wenn Sie Glück haben, verfügt dieser test11Benutzer möglicherweise über ein Home-Verzeichnis mit einer .bash_historyDatei, die einen Verlauf der durchgeführten Aktionen enthält.


Da das System bis zu dem Punkt kompromittiert wurde, an dem ein unbekannter Benutzer Root-Zugriff erhalten konnte, muss das System von Grund auf neu erstellt werden. Sie können nichts vom System wiederverwenden. Betrachten Sie jede einzelne Datei als gefährdet. Ich würde auch empfehlen, keine Backups zu verwenden, da Sie nicht wissen, wie lange es her ist, dass das System kompromittiert wurde.

Sobald ein Benutzer Root-Zugriff erhält, kann eine unbegrenzte Anzahl von Backdoors installiert werden. Wenn ich derjenige wäre, der Zugriff auf Ihr System erhalten hätte, würde mich das einfache Entfernen dieses test11Benutzers und das Ändern des rootKennworts nicht einmal verlangsamen.


In Zukunft können Sie einige Dinge tun.

Remote-Protokollierung

Wie bereits erwähnt, kann nur der Echtzeit-Remote-Protokollierung vertraut werden, dass sie nicht manipuliert wird. Stellen Sie sicher, dass Sie dies haben.

Prüfung

Es gibt zwei Dienstprogramme, die Sie installieren und verwenden sollten, um die kritischen Komponenten des Systems zu überwachen und zu überwachen. Dies sind auditd und ossec .

Diese beiden Dienstprogramme arbeiten unterschiedlich, dienen jedoch dem gleichen Ziel, auf abnormale Aktivitäten zu achten.

Terminalprotokollierung

Es gibt ein anderes Überwachungstool namens pam_tty_audit, das in Verbindung mit dem zuvor erwähnten auditdDienstprogramm funktioniert . pam_tty_auditist ein Dienstprogramm, das Sie Ihrem Pam-Stack hinzufügen und das alle Ein- und Ausgaben im TTY protokolliert. Das heißt, wenn der Benutzer über interaktives SSH auf die Box zugreift, wird seine Aktivität protokolliert.
Beachten Sie jedoch, dass es äußerst wichtig ist, dass dieses Protokoll um jeden Preis geschützt wird. Dies liegt hauptsächlich an Passwörtern. Wenn Sie Ihr Kennwort an einer Eingabeaufforderung eingeben, wird es vom pam_tty_auditModul angezeigt und protokolliert , obwohl das eingegebene Kennwort nicht angezeigt wird. Es ist auch möglich, dass Sie werdencatDateien mit vertraulichen Informationen ausgeben (oder auf andere Weise anzeigen), die ebenfalls protokolliert werden. Daher muss dieses Protokoll entweder sofort vom lokalen System gesendet werden, damit es nicht von Eindringlingen abgerufen werden kann, oder es muss verschlüsselt sein (und der Entschlüsselungsschlüssel darf sich nicht auf dem lokalen System befinden). Vorzugsweise sollten beide ausgeführt, remote versendet und verschlüsselt werden.

Patrick
quelle