2026. július 8.

2FA régi webalkalmazások elé: a kód módosítása nélkül

SAML reverse proxy bármely régi webalkalmazás elé: minden bejelentkezéshez telefonos jóváhagyás kell, az alkalmazáshoz hozzá sem nyúlunk.

Minden cégnél akad egy: az a belső webalkalmazás, amelyen a fél üzletmenet múlik, amelynek a szállítója rég eltűnt, vagy amelynek a forráskódjához senki sem mer hozzányúlni, és amelyet az auditor most többfaktoros hitelesítés mögött szeretne látni.

Nem kell módosítania. Még azt sem kell tudnia, milyen nyelven íródott. A trükk az, hogy az alkalmazást fekete dobozként kezeljük, és a hitelesítést elé tesszük: egy SAML-t beszélő reverse proxy formájában, mögötte a Notakey SSO-szolgáltatással. Így minden felhasználónak egyetlen telefonos érintéssel jóvá kell hagynia a bejelentkezését, mielőtt akár egyetlen kérés is elérné az alkalmazást.

Hogyan működik

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

                 └──SAML──▶ Notakey SSO (IdP) ──▶ push ──▶ user's phone
  1. A böngésző lekér egy védett URL-t. A proxy nem talál SAML-munkamenetet, ezért átirányít a személyazonosság-szolgáltatóhoz, a Notakey készülék beépített SSO-szolgáltatásához.
  2. A felhasználó megadja a felhasználónevét; a hitelesítési szerver jóváhagyási kérést küld push értesítésben a telefonjára.
  3. Jóváhagyás után a böngésző aláírt SAML-állítással (assertion) tér vissza. A proxy ellenőrzi az aláírást, és csak ezután engedi tovább a kéréseket az alkalmazáshoz.

Maga az alkalmazás változatlan marad. Ha van saját bejelentkezési képernyője, az is a helyén marad. Ez a megoldás egy kaput állít elé, nem cseréli le azt, ami mögötte van.

Az egyetlen szabály, amelyen a biztonság áll vagy bukik

A proxy csak azt tudja megvédeni, amit nem lehet megkerülni. A régi alkalmazásnak kizárólag a proxyn keresztül szabad elérhetőnek lennie: egy belső tűzfalszabály, vagy konténerizált alkalmazás esetén egy dedikált docker-hálózat a telepítés része, nem opcionális extra. Ha a felhasználók továbbra is közvetlenül elérik az alkalmazás IP-címét, a kétfaktoros hitelesítés csupán dísz.

Mire lesz szüksége

  • Egy Notakey Authentication Appliance-re működő beépített SSO-szolgáltatással, valamint a Notakey Authenticatorban regisztrált felhasználókra
  • Dockerre egy olyan gépen, amely eléri az alkalmazást
  • DNS-bejegyzésre és TLS-tanúsítványokra az új, bejáratként szolgáló gépnévhez

A beállítás öt lépésben

A teljes, másolható-beilleszthető útmutató (az Apache-konfigurációs fájlokkal és minden paranccsal) a blackbox-webapp-2fa-howto repóban található. Nagy vonalakban:

  1. Generálja le a SAML SP tanúsítványokat és metaadatokat a mellon_create_metadata.sh szkripttel (egyetlen docker-parancs).
  2. Töltse le az IdP-metaadatokat az SSO-szolgáltatásból.
  3. Igazítsa a minta Apache-konfigurációt a saját környezetéhez: gépnév, backend URL, tanúsítványútvonalak.
  4. Indítsa el a proxykonténert, és ellenőrizze a naplóit.
  5. Regisztrálja a proxyt szolgáltatóként (service provider) az SSO föderációs oldalán, ahol a készülék az SP-metaadatokból kész ntk cfg set parancsot állítja elő.

Nyissa meg az alkalmazás új címét, hagyja jóvá a push értesítést, és máris az érintetlen, régi alkalmazását látja, immár erős hitelesítés mögött.

A repó egy opcionális változatot is bemutat: a proxy futtatását közvetlenül a készülék csomópontjain, azok meglévő TLS-tanúsítványainak vagy ACME-beállításának újrafelhasználásával, így külön gépre egyáltalán nincs szükség.

Hova illeszkedik ez a minta

Ez a minta mindenre alkalmazható, ami HTTP-n kommunikál. A régi rendszerek többi ajtaját ugyanez a készülék fedi le:

← Minden bejegyzés

Az első jelszó nélküli bejelentkezés már ezen a héten

30 perces beszélgetés egy mérnökkel – nem értékesítési prezentáció. Közösen megtervezzük, hogyan indulhat el egy működő pilotprojekt az Ön VPN-, SSO- vagy Windows-környezetében.