Anzeige:
Ergebnis 1 bis 5 von 5

Thema: allgemeine Fragen zu PAM

  1. #1
    Registrierter Benutzer
    Registriert seit
    Jun 2001
    Ort
    Münhchen
    Beiträge
    48

    Arrow allgemeine Fragen zu PAM

    hallo miteinander,

    diesmal habe ich ein paar allgemeine Fragen zu PAM
    1. was macht PAM genau (ist das eine datenbank für andere Programme um dort benutzer anzulegen die nur für dieses Programm bestehen oder wie/ was ist das)?
    2. hat jemand gute Seiten zur Ein- Weiterführung in PAM (wenn möglich auf deutsch)

    bedanke mich schonmal im vorraus
    cu
    snoopy

  2. #2
    keiner_1
    Gast

    hier die Red Hat Doc

    Red Hat Linux 7.0: Das Offizielle Red Hat Linux Referenzhandbuch


    Zurück
    Kapitel 2 Systemadministration
    Vor


    Benutzerauthentifizierung mit PAM

    Programme, die Benutzern Zugriffsrechte jeglicher Art einräumen, müssen die Benutzer authentifizieren können. Wenn Sie sich bei einem System anmelden, geben Sie Ihren Namen und Ihr Passwort an. Der Anmeldeprozess verwendet diese nun, um die Anmeldung zu authentifizieren ? d.h., um zu überprüfen, ob Sie auch tatsächlich derjenige sind, für den Sie sich ausgeben. Neben der Verwendung von Passwörtern gibt es auch andere Formen der Authentifizierung. Für die Speicherung von Passwörtern gibt es verschiedene Varianten.

    PAM steht für Pluggable Authentication Modules (einfügbare Authentifizierungsmodule). Damit kann der Systemadministrator die Authentifizierungsregelungen festlegen, ohne dass 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 Passwortauthentifizierung notwendigen Änderungen automatisch vor. Wenn Sie jedoch eine benutzerdefinierte Konfiguration vornehmen möchten, müssen Sie den Inhalt der Konfigurationsdatei verstehen.

    PAM-Module

    Der PAM-Standard definiert vier verschiedene Modultypen.





    auth-Module nehmen die eigentliche Authentifizierung vor (z.B. durch Erfragen und Überprüfen des Passworts) und erstellen "credentials" (Berechtigungsmerkmale), z.B. die Mitgliedschaft in einer Gruppe oder Kerberos-"tickets".


    account-Module prüfen, ob die Authentifizierung erlaubt ist (der Account darf nicht abgelaufen sein, der Benutzer muss für die Anmeldung um diese Uhrzeit zugelassen sein usw.).


    password-Module dienen zum Setzen von Passwörtern.


    session-Module sorgen dafür, dass ein Benutzer nach seiner Authentifizierung seinen Account benutzen kann, z.B. durch das Mounten des Home-Verzeichnisses des Benutzers oder durch Aktivierung der Mailbox.

    Diese Module können gestapelt werden, so dass 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 Passwort übergegangen.

    Es können jederzeit neue Module hinzugefügt werden. PAM-kompatible Anwendungen können dann so angepasst werden, dass auf diese Module zugegriffen werden kann. Falls Sie z.B. über ein Rechensystem für Einmal-Passwörter verfügen und festlegen können, dass es von einem bestimmten Modul unterstützt werden soll (weitere Informationen zum Schreiben von Modulen finden Sie im System unter /usr/share/doc/pam*), sind PAM-kompatible Programme in der Lage, das neue Modul zu verwenden und mit dem neuen Rechensystem für Einmal-Passwörter zu arbeiten, ohne dass es neu kompiliert oder anderweitig modifiziert werden müsste.

    Dienste

    Jedes 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 Konfigurationsdateien

    Alle 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 (genau genommen jeder Dienst) hat eine eigene Datei, die wie folgt aussieht:



    #%PAM-1.0
    auth required /lib/security/pam_securetty.so
    auth required /lib/security/pam_unix.so shadow nullok
    auth required /lib/security/pam_nologin.so
    account required /lib/security/pam_unix.so
    password required /lib/security/pam_cracklib.so
    password required /lib/security/pam_unix.so shadow nullok use_authtok
    session required /lib/security/pam_unix.so


    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, dass 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, dass der Benutzer nach dem Passwort gefragt wird und dass 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, dass alle drei Module überprüft werden, auch wenn schon beim ersten Modul Fehler auftreten. Hierbei handelt es sich um eine Sicherheitsfunktion ? sie wurde entwickelt, um zu verhindern, dass Benutzer erfahren, weshalb ihre Authentifizierung nicht zugelassen wurde. Der Grund dafür ist: Wenn ein Benutzer weiß, weshalb seine Authentifizierung abgelehnt wurde, ist es für ihn einfacher, die Authentifizierung zu knacken. 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 veranlasst die Prüfung des Benutzeraccounts. Wenn z.B. Shadow-Passwörter aktiviert worden sind, überprüft das Modul pam_unix.so, ob der Account abgelaufen ist oder ob der Benutzer keine Passwortänderung vorgenommen hat und die Nachfrist für eine Änderung abgelaufen ist.

    Die sechste Zeile unterzieht das gerade geänderte Passwort einer Reihe von Prüfungen, um sicherzustellen, dass es z.B. nicht auf einfache Weise durch ein wörterbuchbasiertes Tool zum Knacken von Passwörtern herausgefunden werden kann.

    Die siebte Zeile (evtl. umgebrochen) gibt an, dass das Programm login bei einer Änderung des Passworts hierfür das Modul pam_unix.so verwenden soll. (Zu einer Änderung des Passwortes kommt es nur dann, wenn ein auth-Modul festgelegt hat, dass das Passwort geändert werden muss ? wenn z.B. ein Shadow-Passwort abgelaufen ist.)

    Die achte und letzte Zeile gibt an, dass das Modul pam_unix.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, dass 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. Das Flag 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:



    auth sufficient /lib/security/pam_rhosts_auth.so
    auth required /lib/security/pam_securetty.so
    auth required /lib/security/pam_stack.so service=system-auth
    auth required /lib/security/pam_nologin.so


    Erstens meldet PAM (sobald pam_rhosts_auth.so den Benutzer authentifiziert) unverzüglich die erfolgreiche Ausführung an rlogin, ohne das Passwort zu überprüfen. Eine gescheiterte Authentifizierung des Benutzers durch pam_rhosts_auth.so wird ignoriert.

    Zweitens verhindert pam_securetty.so, dass Root-Anmeldungen auf unsicheren Terminals vorgenommen werden können. 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).

    Drittens (falls pam_rhosts_auth.so den Benutzer nicht authentifizieren konnte) führt das Modul pam_stack.so eine normale Passwortauthentifizierung 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 Passwort gefragt werden soll, ändern Sie das Modul pam_securetty.so von required in requisite.

    Shadow-Passwörter

    Das Modul pam_unix.so erkennt automatisch, dass Sie Shadow-Passwörter verwenden und nimmt alle notwendigen Anpassungen vor. Weitere Informationen finden Sie in Abschnitt namens Shadow-Dienstprogramme.

    Rexec und PAM

    Aus Sicherheitsgründen ist in Red Hat Linux 7.0 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, dass Ihre Datei etwas anders aussehen kann):



    #%PAM-1.0
    auth required /lib/security/pam_securetty.so
    auth required /lib/security/pam_stack.so service=system-auth
    auth required /lib/security/pam_nologin.so
    account required /lib/security/pam_stack.so service=system-auth


    Um rexec zu aktivieren, müssen Sie die Kommentarzeichen in der Zeile entfernen, die auf das Modul pam_nologin.so verweist.



    #%PAM-1.0
    auth required /lib/security/pam_securetty.so
    auth required /lib/security/pam_stack.so service=system-auth
    #auth required /lib/security/pam_nologin.so
    account required /lib/security/pam_stack.so service=system-auth


    Wenn Sie die Datei wie beschrieben bearbeitet haben, ist rexec aktiviert.





    Bitte beachten





    Wenn die Datei /etc/pam.d/rexec eine Zeile enthält, die auf das Modul pam_securetty.so verweist, können Sie rexec als Root nicht ausführen. Wenn das jedoch möglich sein soll, müssen Sie die Kommentarzeichen in der Zeile entfernen, die auf das Modul pam_securetty.so verweist.





    Bitte beachten





    Die meisten Konfigurationsdateien wurden neu geschrieben, um das Vornehmen von systemweiten Änderungen zu vereinfachen. Auf diese Weise müssen erforderliche Konfigurationsänderungen nur noch an einer Stelle im System vorgenommen werden. Zu dieser Änderung kommt es, weil die Datei pam_stack es ermöglicht, einen bestimmten Dienst aus dem Stapel heraus aufzurufen, während der Stapel für einen anderen Dienst definiert ist. Weitere Informationen finden Sie in der man-Seite pam_stack.

  3. #3
    keiner_1
    Gast
    wäre noch froh wenn einer ein konkretes Beispiel posten könnte


    greetz

    adme

  4. #4
    Registrierter Benutzer
    Registriert seit
    Aug 2001
    Beiträge
    87
    Moin,

    ich hab einen kleinen, einleitenden Text zu PAM. Ist auch 'n Beispiel drin.
    Allerdings gibt's keinen Link dafür. Wenn ihn jemand haben will, kann ich ihn zuschicken. Ist ca. 2-3 Seiten lang...

    Ansonsten empfehle ich den Weg in die Bibliothek und einen Blick in das Buch "Linux Sicherheit" von Tobias Klein. Das ist sehr ausführlich was PAM angeht...

  5. #5
    Registrierter Benutzer
    Registriert seit
    Jun 2001
    Ort
    Münhchen
    Beiträge
    48
    ich wollte mich nurnochmal für eure hilfe bedanken
    mercy
    snoopy

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •