Integrace · Starší webové aplikace
Dvoufaktorové ověření pro starší webové aplikace přes SAML proxy
Pro interní webovou aplikaci, na které stojí půlka firmy, jejíž dodavatel už neexistuje nebo do jejíhož kódu se nikdo neodváží sáhnout, a kterou teď auditor chce mít za vícefaktorovým ověřováním. Reverzní proxy před ní, napojená na službu Notakey SSO, přidá schválení na telefonu bez úpravy jediného řádku aplikace.
Jak se připojuje
Aplikace jako černá skříňka
Před aplikací stojí reverzní proxy Apache s modulem mod_auth_mellon a přes SAML komunikuje se službou SSO, která je součástí zařízení Notakey. Když prohlížeč požádá o chráněnou URL bez SAML relace, proxy ho přesměruje na poskytovatele identity. Uživatel zadá své uživatelské jméno, ověřovací server mu na telefon pošle žádost o schválení a po schválení se prohlížeč vrátí s podepsaným SAML tvrzením (assertion). Proxy ověří podpis a teprve pak požadavky propustí dál.
Aplikace se nijak nemění. Pokud má vlastní přihlašovací obrazovku, zůstane taková, jaká je; přibude jen brána před ní, nic za ní se nenahrazuje. Nemusíte ani vědět, v jakém jazyce je aplikace napsaná.
Proxy běží jako kontejner Docker na libovolném hostiteli, který na aplikaci dosáhne, nebo přímo na uzlech zařízení, kde využije jejich TLS certifikáty nebo nastavení ACME, takže žádný další hostitel není potřeba.
Co vědět, než začnete
- Aplikace nesmí být dostupná jinak než přes proxy. Pravidlo interního firewallu, případně vyhrazená docker síť, pokud aplikace běží v kontejneru, je součástí nastavení, ne volitelným doplňkem. Pokud se uživatelé stále dostanou přímo na IP adresu aplikace, je 2FA jen na ozdobu.
- Potřebujete Notakey Authentication Appliance se spuštěnou přibalenou službou SSO, uživatele zaregistrované v Notakey Authenticator, Docker na hostiteli, který na aplikaci dosáhne, a DNS záznam a TLS certifikáty pro nový název hostitele.
- Tento postup platí pro cokoli, co mluví HTTP. VPN, přihlašování do Windows a linuxové servery používají místo toho integrace přes RADIUS a credential provider.
- Brána stojí před aplikací. Pokud si aplikace ponechá vlastní přihlašovací obrazovku, uživatelé ji po schválení na telefonu uvidí i nadále.
Od nuly k prvnímu schválení
- 01
Vygenerujte certifikáty SP a stáhněte metadata IdP
Pomocí mellon_create_metadata.sh (jeden příkaz docker) vytvořte certifikáty a metadata poskytovatele služeb SAML a pak ze své služby SSO stáhněte metadata poskytovatele identity.
- 02
Upravte konfiguraci Apache a spusťte proxy
Ve vzorové konfiguraci z repozitáře blackbox-webapp-2fa-howto nastavte veřejný název hostitele, URL backendu a cesty k certifikátům, spusťte kontejner a zkontrolujte jeho logy.
- 03
Zaregistrujte proxy na stránce federace SSO a otestujte
Zaregistrujte proxy jako poskytovatele služeb; zařízení převede metadata SP na hotový příkaz ntk cfg set. Otevřete novou adresu aplikace, schvalte push notifikaci a máte před sebou nedotčenou aplikaci za silným ověřením.
Časté dotazy
- Musí se samotná aplikace nějak měnit?
- Ne. Reverzní proxy Apache s modulem mod_auth_mellon komunikuje přes SAML se službou Notakey SSO a hlídá každý požadavek. Aplikace i její vlastní přihlašovací obrazovka zůstávají přesně takové, jaké jsou.
- Co potřebuji, než začnu?
- Notakey Authentication Appliance se spuštěnou přibalenou službou SSO, uživatele zaregistrované v Notakey Authenticator, Docker na hostiteli, který má k aplikaci síťový přístup, a DNS záznam a TLS certifikáty pro nový název hostitele.
- Mohou uživatelé proxy obejít?
- Jen pokud zůstane aplikace dostupná napřímo. Zablokujte to pravidlem interního firewallu, případně vyhrazenou docker sítí, pokud aplikace běží v kontejneru; je to součást nastavení, ne volitelný doplněk.
Návody a dokumentace
- Přidejte 2FA ke starší webové aplikaci – bez zásahu do jejího kódu
- blackbox-webapp-2fa-howto na GitHubu
Související produkty