Archive discontinued selective SRS implementation

This commit is contained in:
2026-10-20 14:41:48 +02:00
parent 3af1c29a16
commit 39b933b798
25 changed files with 488 additions and 0 deletions
+170
View File
@@ -0,0 +1,170 @@
# 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:
1. Die Verwendung von
default_transport = srs-forward
fuehrte dazu, dass auch regulaere Postfix-Zustellungen
von der eigenen Python-SRS-Verarbeitung und der
zusaetzlichen Postfix-Instanz abhaengig waren.
2. Die globale Einbindung der SRS-Reverse-Socketmap
in die Empfaengeradressverarbeitung erzeugte eine
weitere Abhaengigkeit von einem eigenen Dienst.
3. Fehler in der SRS-Entscheidungslogik konnten auch
Nachrichten beeintraechtigen, fuer die ueberhaupt
keine SRS-Umschreibung erforderlich war.
4. 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.