4.7 KiB
Selective Sender Rewriting Scheme (SRS)
Projektstatus
Archiviert am 20. Oktober 2026.
Die Entwicklung wurde eingestellt. Diese Implementierung ist nicht fuer den produktiven Einsatz freigegeben.
Dieses Verzeichnis dient ausschliesslich der Archivierung und Dokumentation des bisherigen Entwicklungsstands.
Die enthaltenen Installations- und Verwaltungsskripte duerfen nicht unveraendert fuer Neuinstallationen verwendet werden.
Urspruengliches Ziel
Ziel war eine selektive SRS-Implementierung fuer Postfix.
SRS sollte ausschliesslich bei externen Weiterleitungen zum Einsatz kommen, die durch lokale virtuelle Mail-Aliase entstehen.
Normale eingehende und ausgehende E-Mails sollten dagegen unveraendert verarbeitet werden.
Die Verwaltung virtueller Aliase erfolgt unter anderem ueber PostfixAdmin und PostgreSQL.
Technische Implementierung
Entwickelt wurde eine Loesung auf Basis von:
- Postfix
- PostSRSd 2.4.1
- einer zusaetzlichen Postfix-Instanz
- eigenen Python-Programmen zur Alias-Entscheidung, Weiterleitung und Rueckuebersetzung
- Shell-Skripten fuer Installation, Aktivierung und Deaktivierung
Die Implementierung enthielt unter anderem:
- selektive SRS-Entscheidungslogik
- SRS0-/SRS1-Umschreibung
- Verarbeitung von SRS-Ruecklaeufern
- persistente Speicherung des vorherigen Postfix-Zustands
- kontrollierte Aktivierung und Deaktivierung
- Sicherungs- und Rollback-Funktionen
- DNS- und SPF-Pruefungen
- Offline-Tests
Entwicklungs- und Testergebnis
Die Implementierung wurde im Oktober 2026 entwickelt und auf e.mx.oopen.de getestet.
Dabei wurden unter anderem folgende Funktionen erfolgreich geprueft:
- Aktivierung und Deaktivierung
- externe Alias-Weiterleitungen mit SRS
- SPF-Pruefung weitergeleiteter Nachrichten
- Rueckuebersetzung von SRS-Ruecklaeufern
- verschiedene Fehler- und Rollback-Szenarien
Die vorhandenen Tests belegen keine vollstaendige Produktionsreife.
Die Loesung wurde zeitweise auch auf mx.warenform.de produktiv eingesetzt.
Grund fuer die Einstellung
Bei der abschliessenden Architekturpruefung wurden grundlegende betriebliche Risiken festgestellt.
Insbesondere:
-
Die Verwendung von
default_transport = srs-forwardfuehrte dazu, dass auch regulaere Postfix-Zustellungen von der eigenen Python-SRS-Verarbeitung und der zusaetzlichen Postfix-Instanz abhaengig waren.
-
Die globale Einbindung der SRS-Reverse-Socketmap in die Empfaengeradressverarbeitung erzeugte eine weitere Abhaengigkeit von einem eigenen Dienst.
-
Fehler in der SRS-Entscheidungslogik konnten auch Nachrichten beeintraechtigen, fuer die ueberhaupt keine SRS-Umschreibung erforderlich war.
-
Der Betriebs- und Wartungsaufwand der Gesamtkonstruktion war fuer die urspruenglich begrenzte Aufgabenstellung zu hoch.
Damit wurde die wichtigste betriebliche Anforderung nicht erfuellt:
Der regulaere Mailbetrieb muss auch bei einem Ausfall der optionalen SRS-Verarbeitung unabhaengig weiterlaufen.
Eine weitere Ausweitung der eigenen Fehlerbehandlung wurde nicht als sinnvoll angesehen.
Entscheidung
Am 20. Oktober 2026 wurde entschieden, diese SRS-Implementierung nicht weiterzuentwickeln und nicht fuer weitere produktive Installationen zu verwenden.
Stattdessen wurde der bisherige Postfix-Betrieb ohne SRS wiederhergestellt.
Rueckbau
Die SRS-Integration wurde am 20. Oktober 2026 auf folgenden Systemen deaktiviert und entfernt:
- e.mx.oopen.de
- mx.warenform.de
Entfernt wurden insbesondere:
- SRS-spezifische Postfix-Konfigurationseintraege
- die zusaetzliche Postfix-Instanz
- SRS-spezifische systemd-Units
- PostSRSd und die eigenen SRS-Python-Programme
- nicht mehr benoetigte SRS-Socket- und PID-Dateien
Die Konfiguration und das jeweilige SRS-Secret wurden vor der Entfernung lokal gesichert.
Diese Sicherungen sind nicht Bestandteil des Git-Repositories.
Inhalt des Archivs
Die bisherigen Programme, Konfigurationsvorlagen, Verwaltungsskripte, Tests und Dokumentationen bleiben hier erhalten.
Die urspruenglichen README-Dateien beschreiben den damaligen Entwicklungsstand und sind als historische Dokumentation zu verstehen.
Da die Dateien in dieses Archivverzeichnis verschoben wurden, stimmen einige relative Pfade und Annahmen der Skripte nicht mehr mit der urspruenglichen Repository-Struktur ueberein.
Die Skripte und Tests sind daher nicht ohne weitere Anpassungen ausfuehrbar.
Moegliche spaetere Neubewertung
Eine erneute Beschaeftigung mit SRS sollte nur erfolgen, wenn eine deutlich einfachere und besser isolierte Architektur verfuegbar ist.
Dabei muss insbesondere gewaehrleistet sein, dass Fehler oder Ausfaelle der SRS-Verarbeitung keine Auswirkungen auf den regulaeren Postfix-Mailbetrieb haben.
Eine unveraenderte Wiederaufnahme der hier archivierten Implementierung wird nicht empfohlen.