| Red Hat Documentation |
Benutzerauthentifizierung mit PAMProgramme, die Benutzern Zugriffsrechte jeglicher Art einräumen, müssen die Benutzer authentifizieren können. Wenn Sie sich bei einem System anmelden, geben Sie Ihren Benutzernamen und Ihr Paßwort an. Damit authentifiziert der Anmeldeprozeß Ihre Anmeldung - es wird geprüft, ob Sie derjenige sind, der Sie vorgeben zu sein. Neben der Verwendung von Paßwörtern gibt es auch andere Formen der Authentifizierung. Für die Speicherung von Paßwörtern gibt es verschiedene Varianten. PAM steht für Pluggable Authentication Modules (einfügbare Authentifizierungsmodule). Damit kann der Systemadministrator die Authentifizierungsregelungen festlegen, ohne daß die Authentifizierungsprogramme neu kompiliert werden müssen. Bei PAM bearbeiten Sie eine Konfigurationsdatei und bestimmen so, wie die Module in die Programme eingefügt werden. Die wenigsten Benutzer von Red Hat Linux werden diese Konfigurationsdatei jemals verändern müssen. Wenn Sie mit RPM Programme installieren, die eine Authentifizierung vornehmen müssen, so nehmen diese die für die normale Paßwortauthentifizierung notwendigen Änderungen automatisch vor. Wenn Sie jedoch eine benutzerdefinierte Konfiguration vornehmen möchten, müssen Sie den Inhalt der Konfigurationsdatei verstehen. PAM-ModuleDer PAM-Standard definiert vier verschiedene Modultypen.
Diese Module können gestapelt werden, so daß mehrere Module verwendet werden können. Zum Beispiel verwendet rlogin in der Regel mindestens zwei Authentifizierungsmethoden: Wenn die rhosts-Authentifizierung erfolgreich ist, kann die Verbindung sofort zugelassen werden. Wenn die Authentifizierung nicht erfolgreich ist, wird zur Standardauthentifizierung mit Paßwort übergegangen. Es können jederzeit neue Module hinzugefügt werden. PAM-kompatible Anwendungen können dann so angepaßt werden, daß auf diese Module zugegriffen werden kann. Für ein System zur Berechnung eines Einmal-Paßworts können Sie zum Beispiel ein entsprechendes Modul schreiben. (Die Dokumentation zum Schreiben von Modulen ist im System in /usr/doc/pam* enthalten.) PAM-kompatible Programme können das neue Modul verwenden und den Einmal-Paßwort-Generator einsetzen, ohne daß sie neu kompiliert oder anderweitig bearbeitet werden müssen. DiensteJedes Programm, das PAM verwendet, definiert seinen eigenen "Dienste"-Namen. Das Programm login definiert den Dienstetyp login, ftpd definiert den Dienstetyp ftp usw. Generell ist der Dienstetyp der Name des Programms, das zum Zugriff auf den Dienst verwendet wird, und nicht das Programm, das den Dienst bereitstellt (falls es diese Unterscheidung gibt). Die KonfigurationsdateienAlle PAM-Anwendungen werden im Verzeichnis /etc/pam.d konfiguriert. (In früheren PAM-Versionen wurde dafür die Datei /etc/pam.conf verwendet. Wenn das Programm keinen Eintrag in /etc/pam.d/ findet, wird die Datei pam.conf eingelesen. Sie sollte aber nicht mehr verwendet werden.) Jede Anwendung (genaugenommen jeder Dienst) hat eine eigene Datei, die wie folgt aussieht:
Die erste Zeile ist ein Kommentar. (Kommentarzeilen beginnen immer mit dem Zeichen #.) Die Zeilen zwei bis vier stapeln drei Module für die Anmeldeautorisierung. Wenn der Benutzer sich als root anzumelden versucht, stellt Zeile zwei sicher, daß das Terminal, an dem er sich anmeldet, in der Datei /etc/securetty aufgeführt ist, falls solch eine Datei existiert. Zeile drei sorgt dafür, daß der Benutzer nach dem Paßwort gefragt wird und daß dieses überprüft wird. Zeile vier prüft, ob die Datei /etc/nologin existiert. Falls ja, wird der Inhalt der Datei auf dem Bildschirm angezeigt und eine Anmeldung des Benutzers verhindert, es sei denn, er ist Root. Beachten Sie, daß alle drei Module überprüft werden, auch wenn schon beim ersten Modul Fehler auftreten. Das soll die Sicherheit erhöhen - die Benutzer sollen nicht wissen, warum Ihre Authentifizierung fehlgeschlagen ist. Andernfalls wäre die Authentifizierung möglicherweise leichter zu umgehen. Sie können diese Einstellung ändern, indem Sie statt required requisite eintragen. Wenn ein requisite-Modul eine Fehlermeldung liefert, bricht PAM sofort ab, ohne weitere Module aufzurufen. Die fünfte Zeile veranlaßt die Prüfung des Benutzerkontos. Wenn z.B. Shadow-Paßwörter aktiviert worden sind, überprüft das Modul pam_pwdb.so, ob das Konto abgelaufen ist oder ob der Benutzer sein Paßwort nicht geändert hat und die Nachfrist für eine Änderung abgelaufen ist. Die sechste Zeile unterzieht das gerade geänderte Paßwort einer Reihe von Prüfungen, um sicherzustellen, daß es z.B. nicht auf einfache Weise durch ein wörterbuchbasiertes Tool zum Knacken von Paßwörtern herausgefunden werden kann. Die siebte Zeile (evtl. umgebrochen) gibt an, daß das Programm login bei einer Änderung des Paßworts hierfür das Modul pam_pwdb.so verwenden soll. (Das ist nur dann der Fall, wenn ein auth-Modul festgestellt hat, daß ein Paßwort geändert werden muß -- zum Beispiel, wenn ein Shadow-Paßwort abgelaufen ist.) Die achte und letzte Zeile gibt an, daß das Modul pam_pwdb.so für die Verwaltung der Sitzung verwendet werden soll. Gegenwärtig hat dieses Modul keine Funktion. Es kann durch ein beliebiges notwendiges Modul ersetzt (oder durch Stapeln ergänzt) werden. Beachten Sie, daß die Reihenfolge der Zeilen in diesen Dateien wichtig ist. Während die Reihenfolge beim Aufrufen von required-Modulen keine große Rolle spielt, ist dies bei den anderen verfügbaren Steuer-Flags sehr wohl der Fall. optional wird nur selten verwendet (bei Red Hat Linux Systemen niemals standardmäßig). Bei sufficient und requisite ist die Reihenfolge wichtig. Hier ein Blick auf die auth-Konfigurationsdatei für rlogin:
Dies sieht fast wie der login-Eintrag aus. Hier ist aber eine zusätzliche Zeile enthalten, die ein weiteres Modul angibt. Außerdem sind die Module in einer anderen Reihenfolge angeordnet. Zunächst verhindert pam_securetty.so Root-Anmeldungen an Terminals, die nicht sicher sind. Damit werden praktisch alle Root-Anmeldungen über rlogin verhindert. Entfernen Sie diese Zeile, falls Sie entsprechende Anmeldungen zulassen möchten (nur empfehlenswert, wenn entweder keine Verbindung zum Internet besteht oder eine gute Firewall vorhanden ist). Zweitens gibt PAM sofort eine Erfolgsmeldung an rlogin aus, wenn pam_rhosts_auth.so den Benutzer authentifiziert (ohne daß eine Überprüfung des Paßworts stattfindet). Eine gescheiterte Authentifizierung des Benutzers durch pam_rhosts_auth.so wird ignoriert. Drittens (falls pam_rhosts_auth.so den Benutzer nicht authentifizieren konnte) führt das Modul pam_pwdb.so eine normale Paßwortauthentifizierung durch. Schließlich prüft pam_nologin.so /etc/nologin wie oben beschrieben. Beachten Sie: Wenn nach einem negativen Ausgang der securetty-Überprüfung nicht nach dem Paßwort gefragt werden soll, ändern Sie das Modul pam_securetty.so von required in requisite. Shadow-PaßwörterDas Modul pam\_pwdb.so ermittelt automatisch, daß Sie Shadow-Paßwörter verwenden und nimmt alle notwendigen Anpassungen vor. Weitere Informationen finden Sie in Abschnitt namens Shadow-Dienstprogramme . Rexec und PAMAus Sicherheitsgründen ist in Red Hat Linux 6.2 rexec nicht aktiviert. Wenn Sie rexec aktivieren möchten, müssen Sie die Kommentarzeichen am Beginn einer Zeile in der Datei /etc/pam.d/rexec entfernen. Hier eine Beispieldatei (beachten Sie, daß Ihre Datei etwas anders aussehen kann):
Um rexec zu aktivieren, müssen Sie die Kommentarzeichen in der Zeile entfernen, die auf das Modul pam_nologin.so verweist.
Wenn Sie die Datei wie beschrieben bearbeitet haben, ist rexec aktiviert.
Weitere InformationenBei diesem Abschnitt handelt es sich lediglich um eine Einführung in PAM. Weiterführende Informationen finden Sie im Verzeichnis /usr/doc/pam*, darunter den System Administrators' Guide (Leitfaden für den Systemadministrator), das Module Writers' Manual (Handbuch für Modulentwickler), das Application Developers' Manual (Handbuch für den Anwendungsentwickler) und den PAM-Standard DCE-RFC 86.0. |
||||||||||||||||
|
© 2001 Red Hat, Inc. All rights reserved. About Red Hat : Legal statement : Privacy statement : Y2K statement : Contact Red Hat |