Inhaltsverzeichnis
Mailserver Alias Skript
Allgemeines
- Es befindet sich auf dem Server mit den homefreigaben, da es aus den user homes (mit root rechten) die
~/.listsForward
ausliest. - Das Skript wird jede Nacht von Cron ausgeführt
- Skript braucht Schreibzugriff aufs LDAP
fseiUserForwardDoNotEdit
wird aktualisiertfseiMailDeliverTo
wird aktualisiert
Funktionalität
Damit Postfix mit nur einer LDAP Abfrage alle Weiterleitungen, die für eine Listenmail notwendig sind, bekommen kann, wird das LDAP als Cache missbraucht.
Es werden aus den ~/.listsForward
alle Listennamen ausgelesen, geprüft ob der User diese Listen lesen darf (ACL aber per LDAP Abfrage!) und dann der Eintrag fseiUserForwardDoNotEdit
automatisch aktualisiert.
Ablauf des Programms
Zuerst werden alle User durchlaufen, und die zu abbonierenden Listen gefetched. Dann wird dieses Datenarray umgebaut, sodass man nun in erster Ebene die Listen hat und darunter die User, die diese Listen lesen wollen.
Jetzt iteriert man über alle Listen. Dabei werden dann pro Liste die aktuell eingetragenen User und die neuen User verglichen und nur die Änderungen angewendet.
Zuletzt wird noch fseiMailDeliverTo geprüft, ob es existiert und wenn nicht, dann hinzugefügt.
LDAP Injections
Da dieses Skript sowohl mit den User über die ~/.listsForward
in Kontakt kommt, sowie mit einem Schreibzugriff auf das LDAP ausführt, muss man hier darauf achten, dass keine Sicherheitslücken entstehen.
Daher existiert die Methode isValidCN, die einen Listennamen prüft.
Meines Wissens nach ist es aktuell nicht möglich, dass Skript dazu zu bewegen, unerlaubtes ins LDAP zu schreiben.
Das größte Risiko ist ein Absturz durch zu große Files. Hier könnte man noch einen entsprechden Schutz einbauen. Auch ein detailliertes Logging könnte in diesem Zuge sinnvoll sein!
Die hier im BuFaTa ET Wiki dargestellten Arbeitsdokumente sind Einzelbeiträge der jeweiligen Autoren und i.d.R. nicht repräsentativ für die BuFaTa ET als Organisation. Veröffentlichte Beschlüsse und Stellungnahmen der BuFaTa ET befinden sich ausschließlich auf der offiziellen Homepage.