Integrationen · Legacy-Webanwendungen

Zwei-Faktor-Authentifizierung für Legacy-Webanwendungen per SAML-Proxy

Für die interne Webanwendung, an der das halbe Geschäft hängt, deren Hersteller nicht mehr existiert oder deren Quellcode niemand anzufassen wagt – und die der Prüfer nun hinter einer Multi-Faktor-Authentifizierung sehen will. Ein vorgeschalteter Reverse Proxy, gestützt auf den Notakey-SSO-Dienst, ergänzt die Bestätigung am Telefon, ohne eine Zeile der Anwendung zu ändern.

So wird es angebunden

Die Anwendung als Blackbox behandeln

Ein Apache-Reverse-Proxy mit mod_auth_mellon sitzt vor der Anwendung und spricht SAML mit dem SSO-Dienst, der mit der Notakey-Appliance geliefert wird. Fordert der Browser eine geschützte URL ohne SAML-Sitzung an, leitet der Proxy zum Identity Provider weiter. Der Benutzer gibt seinen Benutzernamen ein, der Authentifizierungsserver sendet eine Bestätigungsanfrage per Push an sein Telefon, und nach der Bestätigung kehrt der Browser mit einer signierten SAML-Assertion zurück. Der Proxy prüft die Signatur und lässt erst dann Anfragen durch.

An der Anwendung ändert sich nichts. Hat sie einen eigenen Anmeldebildschirm, bleibt der erhalten; hier wird ein Tor davorgesetzt, statt zu ersetzen, was dahinter liegt. In welcher Sprache die Anwendung geschrieben ist, müssen Sie nicht wissen.

Der Proxy läuft als Docker-Container auf jedem Host, der die Anwendung erreicht, oder direkt auf den Appliance-Knoten und nutzt dort deren TLS-Zertifikate oder ACME-Setup mit, sodass kein separater Host nötig ist.

Was Sie vorab wissen sollten

  • Die Anwendung darf nur über den Proxy erreichbar sein. Eine interne Firewall-Regel – oder ein eigenes Docker-Netzwerk, wenn die Anwendung containerisiert ist – gehört zum Setup und ist kein optionales Extra. Erreichen Benutzer die IP der Anwendung weiterhin direkt, ist die 2FA reine Dekoration.
  • Sie brauchen eine Notakey Authentication Appliance mit laufendem mitgeliefertem SSO-Dienst, im Notakey Authenticator registrierte Benutzer, Docker auf einem Host, der die Anwendung erreicht, sowie DNS und TLS-Zertifikate für den neuen Hostnamen.
  • Das ist das Muster für alles, was HTTP spricht. VPNs, Windows-Anmeldungen und Linux-Server nutzen stattdessen die Integrationen über RADIUS und den Credential Provider.
  • Das Tor steht vor der Anwendung. Behält die Anwendung ihren eigenen Anmeldebildschirm, sehen die Benutzer ihn nach der Bestätigung am Telefon weiterhin.

Von null zur ersten Bestätigung

  1. 01

    SP-Zertifikate erzeugen und IdP-Metadaten abrufen

    Erzeugen Sie die Zertifikate und Metadaten des SAML-Service-Providers mit mellon_create_metadata.sh (ein einziger docker-Befehl) und rufen Sie dann die Metadaten des Identity Providers von Ihrem SSO-Dienst ab.

  2. 02

    Apache-Konfiguration anpassen und den Proxy starten

    Tragen Sie in der Beispielkonfiguration aus dem Repository blackbox-webapp-2fa-howto Ihren öffentlichen Hostnamen, die Backend-URL und die Zertifikatspfade ein, starten Sie den Container und prüfen Sie seine Logs.

  3. 03

    Proxy auf der SSO-Federation-Seite registrieren und testen

    Registrieren Sie den Proxy als Service Provider; die Appliance wandelt die SP-Metadaten in einen fertigen ntk cfg set-Befehl um. Rufen Sie die neue Adresse der Anwendung auf, bestätigen Sie den Push – und Sie sehen die unveränderte Anwendung hinter starker Authentifizierung.

Häufig gestellte Fragen

Muss die Anwendung selbst geändert werden?
Nein. Ein Apache-Reverse-Proxy mit mod_auth_mellon spricht SAML mit dem Notakey-SSO-Dienst und kontrolliert jede Anfrage. Die Anwendung und ihr eigener Anmeldebildschirm bleiben genau so, wie sie sind.
Was brauche ich, bevor ich anfange?
Eine Notakey Authentication Appliance mit laufendem mitgeliefertem SSO-Dienst, im Notakey Authenticator registrierte Benutzer, Docker auf einem Host, der die Anwendung erreicht, sowie DNS und TLS-Zertifikate für den neuen Hostnamen.
Können Benutzer den Proxy umgehen?
Nur, wenn die Anwendung weiterhin direkt erreichbar ist. Unterbinden Sie das mit einer internen Firewall-Regel oder, bei einer containerisierten Anwendung, mit einem eigenen Docker-Netzwerk; das gehört zum Setup und ist kein optionales Extra.

Anleitungen und Dokumentation

Verwandte Produkte

← Alle Integrationen

Ihre erste passwortlose Anmeldung – noch diese Woche

30 Minuten mit einem Ingenieur statt einer Vertriebspräsentation. Gemeinsam planen wir, wie in Ihrer VPN-, SSO- oder Windows-Umgebung ein funktionierendes Pilotprojekt an den Start geht.