Konfigurieren von PAM für die Überwachung der Benutzeraktivität der Protokollierungsshell
Dies ist unsere fortlaufende Serie zum Thema Linux-Auditing, in diesem vierten Teil dieses Artikels erklären wir, wie Sie PAM für die Überwachung von Linux TTY-Eingaben (Logging Shell User Activity) für bestimmte Benutzer mit pam_tty_audit Tool konfigurieren.
Linux PAM (Pluggable Authentication Modules) ist eine hochflexible Methode zur Implementierung von Authentifizierungsdiensten in Anwendungen und verschiedenen Systemdiensten. es ging aus dem ursprünglichen Unix PAM hervor.
Es unterteilt die Authentifizierungsfunktionen in vier Hauptverwaltungsmodule, nämlich: Kontomodule, Authentifizierungsmodule, Passwortmodule und Sitzungsmodule. Die ausführliche Erläuterung dieser Verwaltungsgruppen würde den Rahmen dieses Tutorials sprengen.
Das auditd-Tool verwendet das pam_tty_audit PAM-Modul, um die Überwachung der TTY-Eingabe für bestimmte Benutzer zu aktivieren oder zu deaktivieren. Sobald ein Benutzer für die Überwachung konfiguriert ist, arbeitet pam_tty_audit mit der auditd zusammen, um die Aktionen eines Benutzers auf dem Terminal zu verfolgen und falls konfiguriert, die genauen Tastenanschläge des Benutzers zu erfassen und sie dann in der Datei /var/log/audit/audit.log aufzuzeichnen.
Konfigurieren von PAM für die Überwachung von Benutzer-TTY-Eingaben unter Linux
Sie können PAM so konfigurieren, dass die TTY-Eingabe eines bestimmten Benutzers in den Dateien /etc/pam.d/system-auth und /etc/pam.d/password-auth überwacht wird, indem Sie die Option enable verwenden. Auf der anderen Seite wird es durch die Deaktivierung erwartungsgemäß für die angegebenen Benutzer im folgenden Format deaktiviert:
session required pam_tty_audit.so disable=username,username2... enable=username,username2..
Um die Protokollierung der tatsächlichen Benutzertastenanschläge (einschließlich Leerzeichen, Rücktasten, Eingabetasten, Strg-Taste, Entf-Taste usw.) zu aktivieren, fügen Sie die Option log_passwd zusammen mit den anderen Optionen hinzu, indem Sie dieses Formular verwenden:
session required pam_tty_audit.so disable=username,username2... enable=username log_passwd
Bevor Sie jedoch Konfigurationen vornehmen, beachten Sie Folgendes:
- Wie in der obigen Syntax zu sehen ist, können Sie viele Benutzernamen an die Option enable oder disable übergeben.
- Jede Option disable oder enable überschreibt die vorherige entgegengesetzte Option, die mit demselben Benutzernamen übereinstimmt.
- Nach dem Aktivieren der TTY-Überwachung wird sie von allen Prozessen geerbt, die vom definierten Benutzer initiiert wurden.
- Wenn die Aufzeichnung von Tastenanschlägen aktiviert ist, wird die Eingabe nicht sofort protokolliert, da TTY-Auditing die Tastenanschläge zunächst in einem Puffer speichert und den Pufferinhalt in bestimmten Intervallen oder nach dem Abmelden des geprüften Benutzers in die Datei /var/log/audit/audit.log schreibt.
Schauen wir uns ein Beispiel an, in dem wir pam_tty_audit so konfigurieren, dass die Aktionen des Benutzers tecmint, einschließlich Tastenanschläge, über alle Terminals hinweg aufgezeichnet werden, während wir die TTY-Überwachung für alle anderen Systembenutzer deaktivieren.
Öffnen Sie die beiden folgenden Konfigurationsdateien.
# vi /etc/pam.d/system-auth
vi /etc/pam.d/password-auth
Fügen Sie die folgende Zeile zu den Konfigurationsdateien hinzu.
Sitzung erforderlich pam_tty_audit.so disable=* enable=tecmint
Und um alle vom Benutzer tecmint eingegebenen Tastenanschläge zu erfassen, können wir die log_passwd Option a shown hinzufügen.
session required pam_tty_audit.so disable=* enable=tecmint log_passwd
Speichern und schließen Sie nun die Dateien. Zeigen Sie anschließend die auditd-Protokolldatei für alle aufgezeichneten TTY-Eingaben mit dem Dienstprogramm aureport an.
# aureport --tty
In der obigen Ausgabe können Sie sehen, dass der Benutzer tecmint mit der UID 1000 den vi/vim-Editor verwendet, ein Verzeichnis namens bin erstellt und in dieses verschoben hat, das Terminal gelöscht hat und so weiter.
Um nach TTY-Eingabeprotokollen zu suchen, die mit Zeitstempeln gleich oder nach einer bestimmten Zeit aufgezeichnet wurden, verwenden Sie -ts, um das Startdatum/die Startzeit anzugeben, und -te, um das Enddatum/die Endzeit festzulegen.
Im Folgenden finden Sie einige Beispiele:
# aureport --tty -ts 09/25/2017 00:00:00 -te 09/26/2017 23:00:00
aureport --tty -ts this-week
Weitere Informationen finden Sie auf der Manpage pam_tty_audit.
# man pam_tty_audit
Schauen Sie sich die folgenden nützlichen Artikel an.
- Konfigurieren der Authentifizierung von SSH-Schlüsseln ohne Kennwort mit PuTTY auf Linux-Servern
- Einrichten der LDAP-basierten Authentifizierung in RHEL/CentOS 7
- So richten Sie die Zwei-Faktor-Authentifizierung (Google Authenticator) für SSH-Logins ein
- SSH Passwortlose Anmeldung mit SSH Keygen in 5 einfachen Schritten
- So führen Sie den Befehl 'sudo' aus, ohne ein Passwort einzugeben unter Linux
In diesem Artikel haben wir beschrieben, wie PAM für die Überwachung von Eingaben für bestimmte Benutzer unter CentOS/RHEL konfiguriert wird. Wenn Sie Fragen oder zusätzliche Ideen haben, verwenden Sie den Kommentar unten.
