20. ledna 2026

2FA pro VPN přes RADIUS – kompletní nastavení auth-proxy

Předřaďte Notakey auth-proxy libovolnému RADIUS serveru (FreeRADIUS, NPS i MikroTik User Manager) a podmíníte přihlášení k VPN potvrzením na telefonu.

Tento návod přidává dvoufaktorové ověřování klepnutím na telefonu k VPN, která ověřuje uživatele přes RADIUS. Notakey auth-proxy stojí mezi vaším VPN koncentrátorem a RADIUS serverem: kontrolu hesla předá RADIUSu jako obvykle, na telefon uživatele odešle push notifikaci s žádostí o potvrzení a Access-Accept vrátí VPN jen tehdy, když uspějí obě kontroly.

Protože proxy mluví na obou stranách standardním RADIUSem, funguje s téměř jakýmkoli RADIUS serverem (FreeRADIUS, Microsoft NPS, nativní User Manager na MikroTiku i vlastní RADIUS plugin Notakey) a s jakýmkoli VPN koncentrátorem, který umí ověřovat proti RADIUS serveru.

Jak to funguje

VPN concentrator ──RADIUS──▶ Notakey auth-proxy ──RADIUS──▶ your RADIUS server

                                     └──▶ push notification ──▶ user's phone
  1. Uživatel se připojí k VPN se svým uživatelským jménem a heslem.
  2. Koncentrátor pošle RADIUS požadavek na auth-proxy (ne přímo na váš RADIUS server).
  3. Proxy předá požadavek dál na cílový server. Pokud kontrola hesla selže, přihlášení je okamžitě zamítnuto.
  4. Pokud heslo sedí, proxy odešle na telefon uživatele žádost o potvrzení a drží RADIUS výměnu otevřenou, dokud uživatel neodpoví, ve výchozím nastavení až 30 sekund (vpn_message_ttl).
  5. Potvrzení → do VPN se vrací Access-Accept. Zamítnutí nebo vypršení → odmítnutí.

Krok 4 má jeden důležitý důsledek: timeout RADIUS klienta na vaší VPN musí být přinejmenším stejně dlouhý jako okno pro potvrzení, tedy alespoň 30 sekund. Většina RADIUS klientů má ve výchozím stavu pár sekund nebo méně, protože prostá kontrola hesla odpoví okamžitě; tady ale musí člověk vytáhnout telefon.

Co budete potřebovat

  • Notakey Authentication Server: bezplatný cloudový tarif na signup.notakey.com, nebo on-premise zařízení
  • RADIUS server (nebo použijte RADIUS plugin Notakey, viz níže)
  • VPN, která ověřuje proti RADIUSu
  • Stejné uživatelské jméno ve službě Notakey, v RADIUSu i ve VPN; proxy podle něj adresuje push notifikaci

Krok 1 – Vytvořte aplikaci pro VPN

V dashboardu Notakey vytvořte pro VPN aplikaci (službu), zaregistrujte telefony uživatelů a zkopírujte Access ID aplikace: UUID, které níže vložíte do konfigurace proxy.

Krok 2 – Nakonfigurujte auth-proxy

On-premise zařízení: vestavěná proxy

Zařízení má auth-proxy již v sobě. Z CLI zařízení ji nakonfigurujete jedním JSON dokumentem:

ntk cfg set :ap '{
  "vpn_port_in": "1812",
  "vpn_port_out": "1812",
  "vpn_radius_address": "10.0.1.23",
  "vpn_secret_in": "secret_to_radius_server",
  "vpn_secret_out": "secret_to_radius_server",
  "vpn_access_id": "c468f008-485b-b11c-aad9672fbae1",
  "vpn_message_ttl": "30",
  "message_title": "VPN authentication",
  "message_description": "Allow {0} login?"
}' --json-input

Pak službu spusťte:

ntk ap start

Význam jednotlivých polí:

Pole Význam
vpn_port_in Port, na kterém proxy naslouchá RADIUS požadavkům z vaší VPN
vpn_port_out Port vašeho cílového RADIUS serveru
vpn_radius_address Adresa vašeho cílového RADIUS serveru
vpn_secret_in Sdílené tajemství mezi vaší VPN a proxy
vpn_secret_out Sdílené tajemství mezi proxy a vaším RADIUS serverem
vpn_access_id Access ID aplikace z kroku 1
vpn_message_ttl Kolik sekund má uživatel na potvrzení (30 je rozumná výchozí hodnota)
message_title / message_description Co se zobrazí v push notifikaci; {0} se nahradí uživatelským jménem

Cloudové zařízení: proxy v Dockeru

S cloudovým serverem Notakey spustíte tutéž proxy jako kontejner ve vlastní síti, před svým RADIUS serverem:

docker run --name auth-proxy \
  -e NOTAKEY_HOST="https://2fa.your_company.com/api" \
  -e NOTAKEY_ACCESS_ID="c468f008-485b-b11c-aad9672fbae1" \
  -p 1812:1812/udp \
  -e LISTEN_ADDRESS=0.0.0.0 \
  -e ADDRESS_SECRET_IN=0.0.0.0:secret_to_radius_server \
  -e DOWNSTREAM_ADDRESS=10.0.1.23 \
  -e SECRET_OUT=secret_to_radius_server \
  notakey/authproxy:latest

Stejné součástky, jen jiné balení: NOTAKEY_HOST je API URL vaší cloudové instance, DOWNSTREAM_ADDRESS váš RADIUS server a dvě tajemství se párují se stranou VPN, respektive se stranou RADIUS serveru.

Úplnou referenci k oběma variantám (včetně MSI instalátoru pro běh proxy na Windows, požadavků na síťovou konektivitu a umístění logů) najdete v manuálu Authentication Proxy.

Krok 3 – Ještě nemáte RADIUS server? Použijte náš

Pokud RADIUS zatím neprovozujete, nemusíte ho kvůli tomu stavět:

  • RADIUS plugin Notakey: zařízení obsahuje RADIUS service plugin (postavený na FreeRADIUSu). Ověřuje proti uživatelům, které už máte ve službě Notakey definované, takže žádnou samostatnou databázi RADIUS uživatelů udržovat nemusíte. Nastavení popisuje článek naší znalostní báze RADIUS service plugin (bez konfigurace uživatelů).
  • MikroTik User Manager: pokud vaše VPN už končí na MikroTiku, jako cílový RADIUS server poslouží jeho nativní balíček User Manager.
  • Jakýkoli stávající firemní RADIUS (FreeRADIUS, Microsoft NPS a podobné) funguje beze změny; proxy je pro něj transparentní.

Krok 4 – Nasměrujte VPN na proxy

Překonfigurujte RADIUS klienta na VPN koncentrátoru: stejné tajemství jako vpn_secret_in, ale adresou serveru je teď proxy, ne RADIUS server. A zvyšte timeout.

Na MikroTiku to vypadá takto:

/radius
add service=ppp address=<proxy-address> secret=secret_to_radius_server timeout=30s

/ppp aaa
set use-radius=yes

Na timeout=30s opravdu záleží. Výchozí RADIUS timeout na MikroTiku je 300 milisekund: pro kontrolu hesla dostačující, pro potvrzení člověkem beznadějně málo. Nastavte alespoň 30 sekund (ve shodě s vpn_message_ttl), jinak přihlášení selžou dřív, než uživatel stihne sáhnout po telefonu. Totéž pravidlo platí pro nastavení RADIUS klienta u kteréhokoli jiného výrobce.

Vyzkoušejte to

Připojte se k VPN. Kontrola hesla projde a na telefon dorazí push, a to i na zamčenou obrazovku, takže uživatel ani nemusí mít aplikaci otevřenou:

Push notifikace s žádostí o potvrzení na zamčené obrazovce: „VPN připojení — přihlásit tohoto uživatele z této IP?“ (uživatelské jméno a IP jsou začerněny).

Po otevření se zobrazí celý požadavek: kdo se přihlašuje a z jaké IP adresy, s odpočtem, zatímco proxy drží RADIUS výměnu otevřenou:

Požadavek v aplikaci Notakey Authenticator: název služby, přihlašovací jméno a zdrojová IP k ověření, odpočet a tlačítka Deny / Approve.

Připojení se dokončí až po klepnutí na Approve. A právě tato obrazovka je hlavním bezpečnostním přínosem celého nastavení: uživatel, kterému tento push přijde, zatímco se k VPN nepřipojuje, se dívá na někoho cizího s jeho heslem (z IP adresy, kterou má před očima) a jedno klepnutí na Deny přihlášení zastaví a zanechá auditní stopu. Pokud přihlášení vyprší, i když potvrzujete rychle, zkontrolujte nejdřív timeout RADIUS klienta; je to nejčastější chyba v tomto nastavení.

Související návody

← Všechny články

První přihlášení bez hesla už tento týden

30minutový rozhovor s inženýrem, žádná prodejní prezentace. Společně naplánujeme, jak ve vašem prostředí s VPN, SSO nebo Windows spustit funkční pilotní projekt.