Ich schreibe mein eigenes PAM-Modul, das Teil einer von mir entwickelten Anwendung sein wird, bin mir aber nicht sicher, wo ich es genau platzieren soll. Mein Modul führt im Grunde eine Authentifizierung auf Netzwerkebene durch (natürlich mit anderen Mojo), ähnlich wie LDAP.
In meinem /etc/pam.d/
Verzeichnis befinden sich viele Konfigurationsdateien , und ich weiß, was die meisten Dienste tun (außer ein paar wie atd, polkit, ppp). Ich gehe davon aus, dass die Authentifizierung mit dem PAM-Stack ungefähr so aussieht:
- Führt einen Stapel basierend auf dem Dienstnamen aus (falls eine Konfigurationsdatei vorhanden ist)
- Wenn Sie nicht authentifiziert sind, greifen Sie auf common- * zurück, wobei * der Modultyp ist (auth, account usw.).
- Erfolg zurückgeben oder Anwendung nicht aufrufen (und natürlich alle anderen Daten)
Bin ich in dieser Annahme richtig? Verfügen alle Plattformen über Common-Auth, Common-Account, Common-Passwort und Common-Session?
Wenn ja, habe ich darüber nachgedacht, es als sufficient
Modul ganz oben auf common- * zu setzen, damit der reguläre PAM-Stack bei einem Ausfall nicht betroffen ist. Dies ist besonders vorteilhaft, da ich dies bei der Softwareinstallation programmgesteuert tun kann.
Vermisse ich potenzielle Sicherheitslücken?
Ich konnte keine sehr gute Dokumentation darüber finden, wo benutzerdefinierte PAM-Module integriert werden sollen, oder Sicherheitsprobleme im Zusammenhang mit der Platzierung von Modulen.