Weshalb pam?
Zur Navigation springen
Zur Suche springen
Warum PAM?
Geschichte
- Früher mussten alle Programme mit Anmeldung die üblichen Systemdatenbanken lesen.
- /etc/passwd, /etc/group, /etc/shadow
- Dies waren, außer dem Login, auch die damals verbreiteten Programme wie FTP, telnet, etc.
- Das war sehr unflexibel
- Bei Änderungen der Verschlüsselung oder des Anmeldevorgangs mussten diese Programmen einzeln angepasst werden
- Nach und nach kam der Wunsch auf, eine zentrale Authentifizierung zu nutzen.
Vorreiter
- Der Vorreiter hier war NIS
- Die Idee war nun eine Abstraktionsschicht zwischen Dienstprogramm und Authentifizierungdienst zu schaffen.
- Die Dienste sollten mit einer einheitlichen standardisierten Schnittstell kommunizieren.
- Diese wiederum sollte mit verschiedenen Authentifizierungsdiensten sprechen.
- Wichtig war auch das diese Kommunikation zur Authentifizierung erweiterbar war.
PAM
- Hier trat nun PAM auf die Bühne.
- Die PAM-Bibliothek liefert dann (einfach gesagt) nur noch die Antwort »Zulassen« oder »Abweisen«
- Um dies Details des Anmeldevorgangs musste sich das Dienstprogramm nicht mehr kümmern.
- PAM ist nicht zu verwechseln mit dem Name Service Switch
- NSS kümmert sich darum, dass der richtige User zu einer ID angezeigt wird.
- Die wird über Funktion in C-Bibliotheken gehandelt.
- Die Hauptaufgabe von PAM ist die Authentisierung
- Hier interagiert es mit den Dienstprogrammen.
- Es fordert beispielsweise die Passworteingabe auf eine angemessene Art ein.
- Um PAM zu konfigurieren muss man in der Regel nur Konfigurationsdateien verändern.
- Man muss keinen Dienst neustarten die Änderungern ziehen direkt.
Vorteile
- Der große Vorteil von PAM ist die flexibilität
- So ist es möglich neue Authentifizierungsverfahren einzubinden.
- Theoretisch könnte man sogar selbst etwas entwickeln.
- Smartcards, Biometrische Daten, OTP, LDAP, Radius und vieles mehr ist möglich.
- Es ist auch möglich mehrere Authdienste nach und nach "abzuklappern"
- Oft wird zur lokalen Benutzerdatenbank noch Ldap genutzt.
- Wenn Ldap keinen Erfolg liefert wird die Authentifizierung gegen die lokale Datenbank gecheckt.