32. pepsi-stage-srs

Sender Rewriting Scheme — sorgt dafür, dass SPF beim nächsten Hop besteht.

32.1. Rolle

pepsi-stage-srs schreibt den Umschlagabsender in eine lokale Adresse einer von Pepsi kontrollierten SRS_DOMAIN um, sodass die SPF-Prüfung des nächsten Hops besteht. Die Gegenrichtung (das Dekodieren von an eine SRS-Adresse zurückgesendeten Bounces) erledigt pepsi-ingress zur RCPT-Zeit. Beide lesen den gemeinsamen [pepsi-srs]-Abschnitt. Referenz: pepsi-stage-srs(1).

32.2. Funktionen

  • Vorwärts-Umschreibung: MAIL FROM wird zu SRS0=HHHH=TT=domain=local@srs, wobei der ursprüngliche Absender per HMAC signiert und ein taggenauer Zeitstempel aufgeprägt wird; der gekürzte MAC ist base32-kodiert (RFC 4648).

  • Kompakte Neusignierung: Eine Adresse, die bereits SRS ist (die Mail erreichte Pepsi über einen anderen Weiterleiter), wird in der SRS1-Form neu signiert, statt verschachtelt zu werden, sodass ein Bounce einen Weiterleiter nach dem anderen zurückspringt.

  • Idempotent / sicher: Der Null-Absender (ein zurückkehrender Bounce) wird nie umgeschrieben, und ein bereits in SRS_DOMAIN liegender Absender bleibt unverändert.

  • Rückwärts-Dekodierung (in Ingress): Ein Empfänger, der ein gültiges SRS-Token ist, wird verifiziert (Signatur + Zeitstempel) und an den dekodierten ursprünglichen Absender weitergeleitet, auch außerhalb bedienter Domains; ein gefälschtes/abgelaufenes Token wird mit 550 abgelehnt.

  • Nachrichtentext unberührt: Nur der Umschlagabsender ändert sich; DKIM-Body-Hashes bleiben gültig.

  • Operator-Werkzeuge: Die forward/reverse-Unterbefehle berechnen eine Umschreibung oder dekodieren eine Adresse von Hand.

32.3. Konfiguration

[stage-<name>]: PROGRAM = pepsi-stage-srs und NEXT_STAGE. Die SRS-Parameter stehen gemeinsam in [pepsi-srs]: SRS_DOMAIN, SECRET/SECRET_FILE (der HMAC-Schlüssel; muss stabil und über Instanzen hinweg identisch bleiben) und MAX_AGE_DAYS (Gültigkeitsfenster, Standardwert 21). Das Weglassen von [pepsi-srs] deaktiviert SRS. Siehe pepsi-stage-srs(1).

32.4. State

  • Eingaben: keine (operiert auf der mail_from-Spalte).

  • Ausgaben: state.srs.original — der Umschlagabsender, wie er vor dem Umschreiben lautete, nur geschrieben, wenn ein Umschreiben stattgefunden hat, und nur, sofern der Schlüssel nicht bereits vorhanden ist (sodass ein zweiter SRS1-Durchgang den frühesten echten Korrespondenten behält). pepsi-stage-bounce adressiert eine von dieser Installation erzeugte DSN an ihn statt an unseren eigenen SRS-Alias. Alles Übrige in state, einschließlich state.dsn, bleibt erhalten.

32.5. Siehe auch

pepsi-ingress, pepsi-stage-relay-to-internet, Unterstützte Funktionen, pepsi-stage-srs(1).