Die Sicherheit bei der Verwaltung von Benutzern in Linux-Umgebungen ist von entscheidender Bedeutung, und wir müssen immer nach den besten verfügbaren Optionen suchen, entweder intern oder extern. Eine der sichersten Methoden zur Erhöhung der Sicherheit in Linux-Systemen besteht in einer wesentlich umfassenderen Verwaltung Wenn die Authentifizierung der Benutzer im System abgeschlossen ist , können nur die Benutzer mit den richtigen Anmeldeinformationen auf das System zugreifen.
Für diesen Fall haben wir eine Funktionalität namens Linux-PAM (Pluggable Authentication Modules for Linux – Anfügbare Authentifizierungsmodule für Linux), die als eine Reihe von Bibliotheken entwickelt wurde, mit denen der Systemadministrator auswählen kann, wie Die Anwendungen authentifizieren die Benutzer des lokalen Netzwerks.
Beim Kompilieren einer mit PAM kompatiblen Anwendung können wir zwischen den verwendeten Authentifizierungsmechanismen wechseln.
Um dieses Konzept etwas besser zu verstehen, können wir analysieren, wie Benutzer derzeit authentifiziert werden. Zunächst wird die Identität des Benutzers überprüft, wenn das dem Benutzer zugewiesene Kennwort eingegeben wird. Diese Kennwörter werden in der Datei / etc / passwd gespeichert. Anschließend wird das Privileg in Form einer persönlichen Benutzerkennung mit der Bezeichnung UID definiert. Die Mitgliedschaft in den verfügbaren Gruppen, Diensten und Anwendungen basiert auf der persönlichen Identität und der Gruppenidentität jedes Benutzers.
Die PAM-Bibliothek wird lokal in der Systemdatei /etc/pam.conf oder in einer Reihe von Dateien in /etc/pam.d/ konfiguriert, um eine Benutzeranforderung über die Module von zu authentifizieren Authentifizierung nur lokal verfügbar.
Die Module sind im Verzeichnis / lib / security oder / lib64 / security verfügbar. Die Syntax der Konfigurationsdatei /etc/pam.conf setzt sich aus einer Liste von Regeln zusammen, und jede Regel befindet sich in einer einzelnen Zeile. Sie kann jedoch um das Zeilenende ” <LF>” erweitert werden. Vor den Kommentaren steht das “#” und sie erstrecken sich bis zum nächsten Ende der ausgewählten Zeile.
Das Format jeder Regel ist eine Sammlung von Tabulatoren, die durch Leerzeichen getrennt sind. Die ersten drei unterscheiden nicht zwischen Groß- und Kleinbuchstaben wie folgt:
Servicetyp Steuermodul-Pfad Modul-Argumente
Die verwendeten Parameter sind:
Die Syntax jeder Datei in /etc/pam.d/ ist identisch und besteht aus Zeilen mit der folgenden Struktur:
Geben Sie control-flag module module-arguments ein
Eine Regeldefinition (ohne Modulargumente) in der Datei /etc/pam.d/sshd, die keine Nicht-Root-Anmeldungen zulässt, wenn / etc / nologin verfügbar ist, lautet beispielsweise:
Account erforderlich pam_nologin.so
1. So verwalten Sie PAM-Gruppen und Steuerelemente unter Linux
PAM-Authentifizierungsaufgaben werden in vier unabhängigen Verwaltungsgruppen katalogisiert, wobei jede dieser Gruppen verschiedene Aspekte der Anforderung eines Benutzers nach einem eingeschränkten Dienst verwaltet.
Ein Modul wird auf folgende Weise einer dieser Arten von Administrationsgruppen zugeordnet:
PAM-Objektdateien werden abhängig von der verwendeten Architektur im folgenden Verzeichnis / lib / security / oder / lib64 / security gehostet.
Die in PAM unterstützten Kontrollindikatoren sind:
Es gibt andere Werte wie:
2. So überprüfen Sie, ob ein Programm mit PAM unter Linux kompatibel ist
Um PAM in einer Anwendung zu implementieren, muss dies speziell für die Verwendung von PAM geschrieben und kompiliert worden sein. Um zu überprüfen, ob diese Anwendung kompatibel ist oder nicht, z. B. SSH, führen wir Folgendes aus:
sudo ldd / usr / sbin / sshd | grep libpam.so
3. So beschränken Sie den Root-Zugriff über SSH mit PAM unter Linux
Mit PAM kann der Zugriff des Root-Benutzers auf ein System über SSH- und Anmeldeprogramme deaktiviert werden, wodurch die Sicherheitsoptionen des Systems verbessert werden.
In diesem Fall verwenden wir das Modul /lib/security/pam_listfile.so, mit dem wir die Berechtigungen bestimmter Konten einschränken können.
Um diese Aktion auszuführen, greifen wir folgendermaßen auf die Datei /etc/pam.d/ zu:
sudo nano /etc/pam.d/sshd
O.
sudo nano /etc/pam.d/login
Dort werden wir folgendes sehen:
In diesem Fall fügen wir am Ende folgende Zeilen hinzu:
auth erforderlich pam_listfile.so onerr = succeed item = user sense = deny file = / etc / ssh / deniedusers
In diesem Fall wurden die folgenden Parameter hinzugefügt:
Speichern Sie die Änderungen mit den Tasten Strg + O und beenden Sie den Editor mit Strg + X.
Danach müssen wir die Datei / etc / ssh / deniedusers erstellen und den Root-Benutzer hinzufügen und dann die entsprechenden Berechtigungen zuweisen:
sudo chmod 600 / etc / ssh / deniedusers
4. So konfigurieren Sie Advanced PAM unter Linux
Ein spezieller Wert ist der Standardwert in PAM, wobei nicht alle Werte explizit erwähnt werden. Daher entspricht der Wert N dem Rückkehrcode der Funktion, die in dem Modul aufgerufen wird, für das die Zeile definiert ist.
Die Aktion hat einige Argumente wie:
Jedes der Basiswörter von PAM ist erforderlich. erforderlich; ausreichend und optional, sie haben einen äquivalenten Ausdruck […] in Bezug auf die Syntax, mit dem es möglich sein wird, komplexere Regeln zu schreiben, wie zum Beispiel:
In CentOS 7 sehen wir beispielsweise die Regeln der PAM-Datei, die ausgeführt wird:
sudo nano /etc/pam.d/postlogin
Wenn wir auf die Datei zugreifen:
sudo nano /etc/pam.d/smartcard-auth
Um auf weitere PAM-Hilfe zuzugreifen, können wir Folgendes ausführen:
Mann pam.d
Mit PAM ist es möglich, Regeln für eine bessere Verwaltung der Authentifizierungsprozesse unter Linux zu erstellen oder zu bearbeiten.