Funktionsweise und Konfiguration von PAM unter Linux

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:

Service
Es ist der wahre Name der Anwendung.

Typ
Dies ist die Art des Moduls / Kontexts / der Schnittstelle.

Kontrolle
Es bezieht sich auf das Verhalten der PAM-API für den Fall, dass das Modul die Authentifizierungsaufgabe nicht ausführen kann

Modulpfad
Es ist der absolute Dateiname oder der relative Pfad des PAM.

Modulargumente
Gibt eine durch Token-Leerzeichen getrennte Liste an, um das Verhalten des Moduls zu steuern.

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.

See also  Wie man die PC-Motherboard-Nummer und das Modell Windows 10, 8, 7 kennt

Ein Modul wird auf folgende Weise einer dieser Arten von Administrationsgruppen zugeordnet:

Konto
Dieser Wert bietet Dienste für die Überprüfung des Kontos mit Aspekten wie dem Ablaufen des Benutzerpassworts oder wenn dem Benutzer Zugriff auf den angeforderten Dienst gewährt wird.

Authentifizierung
Mit diesem Wert wird ein Benutzer authentifiziert und Benutzeranmeldeinformationen können konfiguriert werden.

Passwort
Sie ermöglichen Benutzern das Aktualisieren von Kennwörtern und sind zusammen mit den PAM-Authentifizierungsmodulen integriert

Sitzung
Dies ist verantwortlich für die Verwaltung der Aktionen, die zu Beginn und am Ende einer Sitzung ausgeführt werden.

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:

vorausgesetzt
Mit dieser Anzeige gibt der Fehler sofort die Kontrolle an die Anwendung zurück und zeigt die Art des Ausfalls des ersten Moduls an.

erforderlich
Es wird angezeigt, dass alle Module erforderlich sind, damit libpam korrekt ausgeführt wird und der Anwendung der Erfolg zurückgegeben wird

ausreichend
Dieses Modul führt zu einer sofortigen und korrekten Rückgabe der Anwendung, in diesem Fall entfällt der Ausfall dieses Moduls.

optional
Der Erfolg oder Misserfolg dieses Moduls wird normalerweise nicht in diesem Indikator aufgezeichnet

Es gibt andere Werte wie:

einschließen
Dort werden alle Zeilen des Typs basierend auf der spezifischen Konfigurationsdatei als Argument für dieses Steuerelement einbezogen.

Teilstapel
Schließt alle Zeilen des angegebenen Typs der Konfigurationsdatei ein, die als Argument für dieses bestimmte Steuerelement angegeben wurden.

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 

Funktionsweise und Konfiguration von PAM und Linux 1.png

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.

See also  Erweiterte Verwendung von CoffeeScript

In diesem Fall verwenden wir das Modul /lib/security/pam_listfile.so, mit dem wir die Berechtigungen bestimmter Konten einschränken können.

Schritt 1

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 
Schritt 2

Dort werden wir folgendes sehen: Funktionsweise und Konfiguration von PAM und Linux 2.png

Schritt 3

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 

Funktionsweise und Konfiguration von PAM und Linux 3.png

In diesem Fall wurden die folgenden Parameter hinzugefügt:

auth
Dies ist die Art des zu verwendenden Moduls

erforderlich
Es ist ein Kontrollindikator, mit dem, wenn das Modul verwendet wird, es genehmigt werden muss, oder das allgemeine Ergebnis wird ungeachtet des Status anderer Module einen Fehler aufweisen.

pam_listfile.so
Es ist ein Modul, mit dem Sie Dienste basierend auf einer beliebigen Datei ablehnen oder zulassen können.

onerr = erfolgreich
Es ist das Argument des Moduls.

item = user
Es ist das Argument des Moduls, in dem angegeben ist, was in der Datei aufgeführt ist und das überprüft werden muss.

Sinn = leugnen
Es bezieht sich auf das Argument des Moduls, in dem die auszuführende Aktion angegeben wird, wenn es sich in der Datei befindet. Ist dies nicht der Fall, wird die entgegengesetzte Aktion angefordert.

file = / etc / ssh / deniedusers
Es ist das Argument des Moduls, in dem eine Datei angegeben wird, die ein Element pro Zeile enthält.

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:

ignorieren
Wenn diese Aktion mit einem Stapel von Modulen verwendet wird, generiert der Rückgabestatus des Moduls keinen Rückgabecode der Anwendung.

schlecht
Gibt an, dass der Rückkehrcode als Hinweis auf die Fehler des verwendeten Moduls angesehen werden soll.

stirb
Es erfüllt die gleiche Funktion wie Bad, ist jedoch in der Lage, den Stapel von Modulen zu beenden, und PAM kehrt sofort zur Anwendung zurück.

ok
Dieser Wert teilt PAM mit, dass der Systemadministrator diesen Rückkehrcode direkt mit dem Rückkehrcode des gesamten Modulstapels verwendet.

fertig
Es erfüllt die gleiche Rolle wie Ok, kann jedoch den Stapel von Modulen beenden

N
(eine vorzeichenlose Ganzzahl): Entspricht ok, kann aber über die nächsten N Module im Stapel springen.

Zurücksetzen
Bei Verwendung dieses Parameters wird der gesamte Speicher des Status des Modulstapels gelöscht und mit dem nächsten gestapelten Modul neu gestartet.

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:

erforderlich
[success = ok new_authtok_reqd = ok ignore = ignore default = bad]

vorausgesetzt
[success = ok new_authtok_reqd = ok ignore = ignore default = die]

ausreichend
[Erfolg = erledigt new_authtok_reqd = erledigt default = ignorieren]

optional
[success = ok new_authtok_reqd = ok default = ignore]

Schritt 1

In CentOS 7 sehen wir beispielsweise die Regeln der PAM-Datei, die ausgeführt wird:

 sudo nano /etc/pam.d/postlogin 

Funktionsweise und Konfiguration von PAM und Linux 4.png

Schritt 2

Wenn wir auf die Datei zugreifen:

 sudo nano /etc/pam.d/smartcard-auth 

Anleitung zum Arbeiten und Konfigurieren von PAM und Linux 5.png

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.

See also  So löschen Sie Leerzeichen in Excel 2016

administrator

Leave a Reply

Your email address will not be published. Required fields are marked *