Teil I Übersicht über die Sicherheit
1. Sicherheitsservices (Überblick)
Teil II System-, Datei- und Gerätesicherheit
2. Verwalten von Rechnersicherheit (Übersicht)
3. Steuern des Zugriffs auf Systeme (Aufgaben)
4. Steuern des Zugriffs auf Geräte (Aufgaben)
5. Verwenden von Basic Audit Reporting Tool (Aufgaben)
6. Steuern des Zugriffs auf Dateien (Aufgaben)
7. Verwenden von Automated Security Enhancement Tool (Aufgaben)
Teil III Rollen, Berechtigungsprofile und Berechtigungen
8. Verwenden von Rollen und Berechtigungen (Übersicht)
9. Rollenbasierte Zugriffssteuerung (Aufgaben)
10. Rollenbasierte Zugriffssteuerung (Übersicht)
Teil IV Kryptografische Services
13. Oracle Solaris Cryptographic Framework (Übersicht)
14. Oracle Solaris Cryptographic Framework (Aufgaben)
15. Oracle Solaris Key Management Framework
Teil V Authentifizierungsservices und sichere Kommunikation
16. Verwenden von Authentifizierungsservices (Aufgaben)
Vorteile der Verwendung von PAM
Änderungen am PAM in der Version Solaris 10
Planen Ihrer PAM-Implementierung
So fügen Sie ein PAM-Modul hinzu
So verhindern Sie mit PAM den Zugriff von Remote-Systemen im Rhost-Stil
So protokollieren Sie PAM-Fehlerberichte
19. Verwenden von Oracle Solaris Secure Shell (Aufgaben)
20. Oracle Solaris Secure Shell (Referenz)
21. Einführung zum Kerberos-Service
22. Planen des Kerberos-Service
23. Konfigurieren des Kerberos-Service (Aufgaben)
24. Kerberos-Fehlermeldungen und -Fehlerbehebung
25. Verwalten von Kerberos-Hauptelementen und Richtlinien (Aufgaben)
26. Verwenden von Kerberos-Anwendungen (Aufgaben)
27. Der Kerberos-Service (Referenz)
Teil VII Prüfung bei Oracle Solaris
28. Prüfung bei Oracle Solaris (Übersicht)
29. Planen der Oracle Solaris-Prüfung
30. Verwalten der Oracle Solaris-Prüfung (Aufgaben)
Die PAM-Konfigurationsdatei pam.conf(4) wird verwendet, um PAM-Servicemodule für Systemservices wie login, rlogin, su und cron zu konfigurieren. Diese Datei wird vom Systemadministrator verwaltet. Eine falsche Reihenfolge der Einträge in pam.conf kann unvorhersehbare Nebeneffekte haben. Durch falsche Konfiguration von pam.conf können z. B. Benutzer blockiert werden, sodass der Einzelbenutzermodus zur Reparatur erforderlich ist. Eine Beschreibung für die Festlegung der Reihenfolge finden Sie unter Funktionsweise von PAM-Stacking.
Die Einträge in der Konfigurationsdatei haben das folgende Format:
service-name module-type control-flag module-path module-options
Name des Service, z. B. ftp, login oder passwd. Eine Anwendung kann verschiedene Namen für die Services verwenden, die sie bereitstellt. Der Secure Shell-Dämon Oracle Solaris verwendet die folgenden Servicenamen: sshd-none, sshd-password, sshd-kbdint, sshd-pubkey und sshd-hostbased . Der Servicename other ist ein vordefinierter Name, der als Platzhalter-Servicename verwendet wird. Wenn ein bestimmter Servicename in der Konfigurationsdatei nicht gefunden wird, wird die Konfiguration für other verwendet.
Der Servicetyp, d. h. auth, account, session oder password.
Gibt die Rolle des Moduls durch Bestimmen des integrierten Erfolgs- oder Fehlerwerts für den Service an. Gültige Steuer-Flags sind binding, include, optional, required, requisite und sufficient. Informationen zur Verwendung dieser Flags erhalten Sie unter Funktionsweise von PAM-Stacking.
Der Pfad zu dem Bibliotheksobjekt, das der Service implementiert. Wenn der Pfadname nicht absolut ist, wird angenommen, dass der Pfadname relativ zu /usr/lib/security/$ISA/ ist. Verwenden Sie das architekturabhängige Makro $ISA, um zu veranlassen, dass libpam im Verzeichnis nach der spezifischen Architektur der Anwendung sucht.
Optionen, die an die Servicemodule weitergegeben werden. Auf der Manpage eines Moduls werden die Optionen beschrieben, die von diesem Modul akzeptiert werden. Zu den typischen Moduloptionen gehören nowarn und debug.
Wenn eine Anwendung die folgenden Funktionen aufruft, liest libpam die Konfigurationsdatei /etc/pam.conf, um zu bestimmen, welche Module an der Ausführung dieses Service beteiligt sind:
Wenn /etc/pam.conf nur ein Modul für die Ausführung dieses Service enthält, z. B. Authentifizierung oder Kontoverwaltung, bestimmt das Ergebnis dieses Moduls den Ausgang der Ausführung. Die Standardauthentifizierungsoperation für die Anwendung passwd enthält z. B. ein Modul, pam_passwd_auth.so.1 :
passwd auth required pam_passwd_auth.so.1
Falls jedoch mehrere Module für die Ausführung des Service festgelegt sind, werden diese Module als gestapelt angesehen und davon ausgegangen, dass ein PAM-Stack für diesen Service vorhanden ist. Betrachten Sie z. B. den Fall, in dem pam.conf die folgenden Einträge enthält:
login auth requisite pam_authtok_get.so.1 login auth required pam_dhkeys.so.1 login auth required pam_unix_cred.so.1 login auth required pam_unix_auth.so.1 login auth required pam_dial_auth.so.1
Diese Einträge stellen ein Beispiel für den auth-Stack des login-Service dar. Um das Ergebnis dieses Stacks zu bestimmen, erfordern die Ergebniscodes der individuellen Module einen Integrationsprozess. In diesem Integrationsprozess werden die Module der Reihe nach wie in /etc/pam.conf angegeben ausgeführt. Jeder Erfolgs- oder Fehlercode wird abhängig vom Steuer-Flag des Moduls in das Gesamtergebnis integriert. Das Steuer-Flag kann zur vorzeitigen Beendigung des Stacks führen. Ein requisite-Modul kann beispielsweise fehlschlagen, und ein sufficient- oder binding-Modul erfolgreich ausgeführt werden. Wenn der Stack verarbeitet wurde, werden die einzelnen Ergebnisse in einem einzigen Gesamtergebnis zusammengefasst, das an die Anwendung geliefert wird.
Ein Steuer-Flag gibt die Rolle an, die ein PAM-Modul beim Festlegen des Zugriffs auf den Service spielt. Im Folgenden werden die Steuer-Flags und ihre jeweiligen Effekte aufgelistet:
binding (Bindung): Wenn die Anforderungen eines Bindungsmoduls erfolgreich erfüllt wurden, wird der Erfolg direkt an die Anwendung zurückgegeben, falls keine zuvor erforderlichen Module fehlgeschlagen sind. Bei Erfüllung dieser Bedingungen werden keine weiteren Module ausgeführt. Bei Fehlschlagen wird ein optionaler Fehler aufgezeichnet und die Verarbeitung der Module fortgesetzt.
include (einschließen): Fügt Zeilen aus einer separaten PAM-Konfigurationsdatei zur Verwendung an diesem Punkt im PAM-Stack hinzu. Dieses Flag kontrolliert nicht das Erfolgs- oder Fehlerverhalten. Wenn eine neue Datei gelesen wird, wird der PAM-Einschließungs-Stack um 1 erhöht. Wenn die Stack-Prüfung in der neuen Datei beendet ist, wird der Einschließungs-Stack-Wert um 1 verringert. Wenn das Ende der Datei erreicht wird und der PAM-Einschließungs-Stack 0 beträgt, wird die Stack-Verarbeitung beendet. Der Höchstwert für den PAM-Einschließungs-Stack beträgt 32.
optional: Das erfolgreiche Erfüllen der Anforderungen eines optionalen Moduls ist für die Verwendung des Service nicht erforderlich. Bei Fehlschlagen wird ein optionaler Fehler aufgezeichnet.
required (erforderlich): Das erfolgreiche Erfüllen der Anforderungen eines erforderlichen Moduls ist für die Verwendung des Service erforderlich. Bei Fehlschlagen wird ein Fehler zurückgegeben, nachdem die verbleibenden Module für diesen Service ausgeführt wurden. Abschließender Erfolg für den Service wird nur zurückgegeben, wenn keine bindenden oder erforderlichen Module Fehler gemeldet haben.
requisite (obligatorisch): Das erfolgreiche Erfüllen der Anforderungen eines obligatorischen Moduls ist für die Verwendung des Service erforderlich. Fehlschlagen führt zu einer sofortigen Fehlerrückgabe ohne weitere Ausführung von Modulen. Alle obligatorischen Module für einen Service müssen einen Erfolg zurückgeben, damit die Funktion einen Erfolg an die Anwendung zurückgeben kann.
sufficient (ausreichend): Wenn zuvor keine Fehler für erforderliche Module aufgetreten sind, wird ein Erfolg in einem ausreichenden Modul sofort an die Anwendung zurückgegeben, ohne dass weitere Module ausgeführt werden. Bei Fehlschlagen wird ein optionaler Fehler aufgezeichnet.
Die folgenden beiden Diagramme zeigen, wie Zugriff während des Integrationsprozesses festgelegt wird. Das erste Diagramm zeigt, wie Erfolg oder Fehlschlagen für die einzelnen Arten von Steuer-Flags aufgezeichnet werden. Das zweite Diagramm zeigt, wie der integrierte Wert festgelegt wird.
Abbildung 17-2 PAM-Stacking: Auswirkungen von Steuer-Flags
Abbildung 17-3 PAM-Stacking: Vorgehensweise zum Bestimmen integrierter Werte
Berücksichtigen Sie das folgende Beispiel für einen rlogin-Service, der Authentifizierung erfordert.
Beispiel 17-1 Teilinhalte einer typischen PAM-Konfigurationsdatei
Die Datei pam.conf in diesem Beispiel enthält Folgendes für rlogin-Services:
# Authentication management ... # rlogin service rlogin auth sufficient pam_rhosts_auth.so.1 rlogin auth requisite pam_authtok_get.so.1 rlogin auth required pam_dhkeys.so.1 rlogin auth required pam_unix_auth.so.1 ...
Wenn der Service rlogin eine Authentifizierung erfordert, führt libpam zuerst das Modul pam_rhosts_auth(5) aus. Das Steuer-Flag wird für das Modul pam_rhosts_auth auf sufficient gesetzt. Wenn das Modul pam_rhosts_auth den Benutzer authentifizieren kann, wird die Verarbeitung angehalten und Erfolg an die Anwendung zurückgegeben.
Wenn das Modul pam_rhosts_auth den Benutzer nicht authentifizieren kann, wird das nächste PAM-Modul, pam_authtok_get(5), ausgeführt. Das Steuer-Flag für dieses Modul wird auf requisite gesetzt. Wenn pam_authtok_get fehlschlägt, wird der Authentifizierungsprozess beendet und der Fehler an rlogin zurückgegeben.
Wenn pam_authtok_get Erfolg hat, werden die beiden nächsten Module, pam_dhkeys(5) und pam_unix_auth(5), ausgeführt. Beide Module haben zugeordnete Steuer-Flags, die auf required gesetzt sind, sodass der Prozess unabhängig von der Rückgabe eines einzelnen Fehlers weiter ausgeführt wird. Nach der Ausführung von pam_unix_auth verbleiben keine Module für die Authentifizierung von rlogin. Wenn entweder pam_dhkeys oder pam_unix_auth einen Fehler zurückgegeben haben, wird dem Benutzer an dieser Stelle der Zugriff über rlogin verweigert.