Wenn die Herkunft unterwegs verloren geht
Einführung · 6 Abschnitte · ~15 Min Lesezeit · Stand
Betriebsfrage
NAT, Proxys und Load Balancer setzen Adressen um. Was für den Transport ein Detail ist, ist für Betrieb und Sicherheit ein Verlust: Auf der Zielseite sieht jedes Log dieselbe Adresse — die des Vermittlers.
Mentales Modell
- Client
- Umsetzung
- Verteilung
- Backend
- Log
Adressumsetzung nach dem klassischen NAT-Modell ersetzt Quelladresse und Port. Damit geht die ursprüngliche Herkunft verloren, sofern sie nicht auf einer anderen Ebene ausdrücklich mitgegeben wird.
Herkunft zurückholen
| HTTP | Ein definiertes Kopffeld für weitergeleitete Anfragen trägt die Herkunft. Es darf nur akzeptiert werden, wenn die Anfrage vom vertrauenswürdigen Vermittler stammt. |
|---|---|
| TCP allgemein | Ein vorangestelltes Protokollstück zwischen Vermittler und Backend überträgt Quelladresse und Port vor den Nutzdaten. |
| Ohne Weitergabe | Die Zuordnung ist nur über die Umsetzungstabelle des Vermittlers zum Zeitpunkt der Verbindung möglich — und nach deren Ablauf verloren. |
Health-Checks
Ein Load Balancer entscheidet anhand seines Health-Checks, ob ein Backend Verkehr bekommt. Ein zu flacher Check hält kaputte Instanzen im Verkehr; ein zu tiefer Check nimmt bei einer gemeinsamen Abhängigkeit alle Instanzen gleichzeitig heraus.
Sitzungszustand
- Klebt eine Sitzung an einer Instanz, wird jede Instanz zum einzelnen Ausfallpunkt für ihre Nutzer.
- Liegt der Zustand im Dienst, ist die Verteilung frei — Instanzen werden austauschbar.
- Persistenz ist ein Zugeständnis an Anwendungen, die Zustand lokal halten, keine Architektur-Entscheidung des Netzes.