8. Juli 2026

2FA für eine Legacy-Webanwendung: ohne ihren Code anzufassen

Ein SAML-Reverse-Proxy vor der Legacy-Webanwendung: jede Anmeldung erfordert eine Bestätigung am Telefon, ohne jede Änderung an der App selbst.

Jedes Unternehmen hat sie: die interne Webanwendung, an der das halbe Geschäft hängt, deren Hersteller längst vom Markt verschwunden ist oder an deren Quellcode sich niemand mehr herantraut, und die der Auditor jetzt hinter einer Multi-Faktor-Authentifizierung sehen will.

Sie müssen sie nicht verändern. Sie müssen nicht einmal wissen, in welcher Sprache sie geschrieben ist. Der Trick: Behandeln Sie die Anwendung als Black Box und setzen Sie die Authentifizierung davor: einen Reverse-Proxy, der SAML spricht und an den Notakey-SSO-Dienst angebunden ist. Jeder Benutzer muss seine Anmeldung per Fingertipp am Telefon bestätigen, bevor auch nur eine einzige Anfrage die App erreicht.

So funktioniert es

Browser ──▶ reverse proxy (Apache + mod_auth_mellon) ──▶ legacy app

                 └──SAML──▶ Notakey SSO (IdP) ──▶ push ──▶ user's phone
  1. Der Browser fordert eine geschützte URL an. Der Proxy findet keine SAML-Sitzung und leitet zum Identity Provider weiter, dem SSO-Dienst, der mit der Notakey Appliance ausgeliefert wird.
  2. Der Benutzer gibt seinen Benutzernamen ein; der Authentifizierungsserver sendet eine Push-Benachrichtigung mit der Bestätigungsanfrage an sein Telefon.
  3. Nach der Bestätigung kehrt der Browser mit einer signierten SAML-Assertion zurück. Der Proxy prüft die Signatur und reicht Anfragen erst dann an die Anwendung durch.

Die Anwendung selbst bleibt unverändert. Hat sie eine eigene Anmeldemaske, bleibt auch die bestehen. Dieses Setup stellt ein Tor davor, es ersetzt nicht, was dahinter liegt.

Die eine Regel, die das Ganze sicher macht

Ein Proxy schützt nur, was sich nicht umgehen lässt. Die Legacy-Anwendung darf ausschließlich über den Proxy erreichbar sein: eine interne Firewall-Regel oder, bei containerisierten Anwendungen, ein eigenes Docker-Netzwerk gehört fest zum Setup und ist kein optionales Extra. Können Benutzer die IP der Anwendung weiterhin direkt ansprechen, ist die 2FA reine Dekoration.

Was Sie brauchen

  • Eine Notakey Authentication Appliance mit laufendem, mitgeliefertem SSO-Dienst sowie Benutzer, die im Notakey Authenticator registriert sind
  • Docker auf einem beliebigen Host, der die Anwendung erreichen kann
  • DNS und TLS-Zertifikate für den neuen, vorgelagerten Hostnamen

Das Setup in fünf Schritten

Die vollständige Anleitung zum Kopieren und Einfügen (mit den Apache-Konfigurationsdateien und jedem einzelnen Befehl) finden Sie in unserem Repository blackbox-webapp-2fa-howto. Im Überblick:

  1. Erzeugen Sie die SAML-SP-Zertifikate und -Metadaten mit mellon_create_metadata.sh (ein einziger Docker-Befehl).
  2. Holen Sie die IdP-Metadaten von Ihrem SSO-Dienst.
  3. Passen Sie die Apache-Beispielkonfiguration an: Ihr Hostname, Ihre Backend-URL, die Zertifikatspfade.
  4. Starten Sie den Proxy-Container und prüfen Sie seine Logs.
  5. Registrieren Sie den Proxy als Service Provider auf der Föderationsseite des SSO. Die Appliance wandelt die SP-Metadaten in einen fertigen ntk cfg set-Befehl um.

Rufen Sie die neue Adresse der App auf, bestätigen Sie den Push – und vor Ihnen liegt Ihre unveränderte Legacy-Anwendung, jetzt hinter starker Authentifizierung.

Das Repository beschreibt auch eine optionale Variante: den Proxy direkt auf den Appliance-Knoten zu betreiben und deren vorhandene TLS-Zertifikate oder das ACME-Setup mitzunutzen. Dann brauchen Sie gar keinen separaten Host.

Einordnung

Dieses Muster eignet sich für alles, was HTTP spricht. Für den Rest des Legacy-Bestands deckt dieselbe Appliance die übrigen Türen ab:

← Alle Artikel

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.