Was im Browser-Schritt eines föderierten VPN-Logins passiert
Verfolge einen SAML-Login vom VPN-Client durch den Identity Provider und zurück. Browser-Sitzung und VPN-Sitzung enden nach unterschiedlichen Uhren.
Du klickst auf Verbinden, und statt eines Passwortfelds öffnet der VPN-Client deinen Browser. Diese Übergabe verwirrt Menschen, die erwarten, dass sich der Tunnel selbst authentifiziert. Der Browser ist kein Umweg: Dort authentifiziert der Identity Provider tatsächlich die Person, und der Client wartet nur auf das Ergebnis.
Ein Login von Anfang bis Ende zu verfolgen zeigt, zu welchem Schritt welcher Fehler gehört — und genau diesen Teil lassen die meisten Runbooks aus.
Beim Client anfangen, nicht bei der Gateway-Konfiguration
Der Client baut eine Anfrage und schickt den Browser zum Identity Provider, zusammen mit einer Service-Provider-Kennung und einer Rücksprungadresse. Dann führt der IdP deiner Organisation aus, was konfiguriert ist: Passwort, MFA, Geräteprüfung, Conditional Access. Hat der Browser bereits eine gültige Sitzung, kann der sichtbare Teil ein bis zwei Sekunden dauern. Diese Kürze ist Sitzungswiederverwendung, keine übersprungene Prüfung.
Lies in der Föderationskonfiguration des Clients zuerst zwei Werte: die IdP-Metadaten bzw. URL, der er vertraut, und die Callback-Adresse, die er erwartet. Eine Abweichung dort scheitert, bevor irgendein Passwort getippt wird.
Was der Identity Provider zurückgeben muss
Der IdP antwortet mit einer signierten SAML-Antwort, die eine Assertion enthält: wer das Subjekt ist, wer sie ausgestellt hat, für wen sie gilt und wie lange sie gültig bleibt. Diese Felder sind der Vertrag. Aussteller, Audience, Empfänger und Gültigkeitsfenster müssen alle zu dem passen, was der Dienst erwartet.
Eine Antwort, die vom richtigen IdP signiert, aber an eine andere Audience adressiert ist, bleibt ungültig. Diese Prüfung überspringt man, wenn Metadaten aus einem Labor in die Produktion kopiert werden.
Was der VPN-Dienst prüft, bevor er dir vertraut
Der Dienst verifiziert die Signatur gegen das vertrauenswürdige Zertifikat, prüft Aussteller, Audience und Empfänger und bewertet dann die Zeitbedingungen. Erst danach ordnet er die Assertion einem Benutzer oder einer Gruppe zu und wendet die VPN-Autorisierungsrichtlinie an. Authentifizierung und Autorisierung sind hier getrennte Schritte, und eine gültige Assertion ohne passende Gruppe ergibt eine Sitzung, die sich verbindet und nichts erreicht.
Die Assertion ist Authentifizierungsmaterial, kein Passwort. Sie in einen anderen Client einzufügen oder für eine spätere Wiederverbindung aufzubewahren ist kein unterstützter Login.
Zwei Lebensdauern, die getrennt enden
Die Browser-Sitzung beim IdP und die VPN-Sitzung am Gateway laufen nach unterschiedlichen Uhren ab. Das Abmelden beim IdP baut einen bestehenden Tunnel nicht zwingend ab, und das Trennen des Tunnels meldet dich nicht im Browser ab.
AWS Client VPN dokumentiert, dass sein föderierter Ablauf kein SAML-Single-Logout unterstützt, was ein konkretes Beispiel für diese Lücke ist. Prüfe deinen eigenen Dienst, statt Symmetrie anzunehmen.
Deshalb verhält sich eine Wiederverbindung um 09:00 anders als um 15:00. Sie kann die IdP-Sitzung still wiederverwenden, erneut MFA verlangen oder scheitern, weil die Sitzungsdauer des Endpunkts abgelaufen ist, die Browser-Sitzung aber nicht. Der AWS-Föderationsablauf beschreibt seine eigenen Client- und Antwortanforderungen, und andere Dienste nutzen andere Übergaben.
Wenn der Browser-Schritt scheitert, prüfe dies in dieser Reihenfolge
Arbeite vom Browser nach außen, denn die Fehlermeldung nennt meist den letzten Schritt statt den ersten.
Lädt die Seite nie, ist die IdP-URL des Clients oder der Pfad dorthin falsch. Lehnt der IdP die Anfrage ab, stimmen Service-Provider-Kennung oder Callback nicht mit seiner Konfiguration überein. Zeigt der Browser Erfolg und der Client scheitert trotzdem, ist die Antwort am falschen Ort gelandet oder an Audience- und Zeitprüfung gescheitert. Und kommt der Tunnel ohne Zugriff hoch, wurde die Assertion akzeptiert, aber die Gruppenzuordnung nicht.
Halte erwartete Seite, Callback und Gruppenzuordnung in einem Dokument fest. Dann kann ein Nutzer mit kaputtem VPN-Login sagen, welche dieser vier Dinge er gesehen hat, und die Antwort ist schon halb geschrieben.