See juhend lisab telefonipuudutusega kaheastmelise autentimise VPN-ile, mis autendib kasutajaid RADIUS-e kaudu. Notakey auth-proxy paikneb teie VPN-kontsentraatori ja RADIUS-serveri vahel: see edastab paroolikontrolli tavapäraselt RADIUS-serverile, saadab kasutaja telefoni kinnituspäringu ja tagastab VPN-ile Access-Accept alles siis, kui mõlemad õnnestuvad.
Kuna proksi kõneleb mõlemal pool standardset RADIUS-protokolli, töötab see peaaegu iga RADIUS-serveriga (FreeRADIUS, Microsoft NPS, MikroTiku enda User Manager või Notakey oma RADIUS-plugin) ning iga VPN-kontsentraatoriga, mida saab RADIUS-serveri poole suunata.
Kuidas see töötab
VPN concentrator ──RADIUS──▶ Notakey auth-proxy ──RADIUS──▶ your RADIUS server
│
└──▶ push notification ──▶ user's phone
- Kasutaja loob VPN-ühenduse oma kasutajanime ja parooliga.
- Kontsentraator saadab RADIUS-päringu auth-proxy’le (mitte otse teie RADIUS-serverile).
- Proksi edastab päringu allavoolu. Kui paroolikontroll ebaõnnestub, lükatakse sisselogimine kohe tagasi.
- Kui parool on õige, saadab proksi kasutaja telefoni kinnituspäringu ja
hoiab RADIUS-vahetust avatuna, kuni kasutaja vastab, vaikimisi
kuni 30 sekundit (
vpn_message_ttl). - Kinnitamine → VPN-ile läheb Access-Accept. Keeldumine või aegumine → tagasilükkamine.
Neljandal sammul on üks oluline tagajärg: teie VPN-i RADIUS-kliendi ajalimiit peab olema vähemalt sama pikk kui kinnitusaken: vähemalt 30 sekundit. Enamiku RADIUS-klientide vaikeväärtus on paar sekundit või vähem, sest tavaline paroolikontroll vastab silmapilkselt; siin peab aga inimene telefoni kätte võtma.
Eeldused
- Notakey autentimisserver: tasuta pilvetase aadressil signup.notakey.com või kohapealne seade
- RADIUS-server (või kasutage Notakey RADIUS-pluginat; vt allpool)
- VPN, mis autendib kasutajaid RADIUS-e vastu
- Sama kasutajanimi Notakey teenuses, RADIUS-es ja VPN-is (proksi kasutab seda tõukesõnumi adresseerimiseks)
1. samm – looge VPN-i rakendus
Looge Notakey halduspaneelil VPN-i jaoks rakendus (teenus), registreerige kasutajate telefonid ja kopeerige rakenduse Access ID ehk UUID, mille kleebite allpool proksi seadistusse.
2. samm – seadistage auth-proxy
Kohapealne seade: sisseehitatud proksi
Auth-proxy on seadmega kaasas. Seadistage see seadme käsurealt üheainsa JSON-dokumendiga:
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
Seejärel käivitage teenus:
ntk ap start
Väljade tähendused:
| Väli | Tähendus |
|---|---|
vpn_port_in |
Port, millel proksi kuulab teie VPN-i RADIUS-päringuid |
vpn_port_out |
Teie allavoolu RADIUS-serveri port |
vpn_radius_address |
Teie allavoolu RADIUS-serveri aadress |
vpn_secret_in |
Jagatud saladus teie VPN-i ja proksi vahel |
vpn_secret_out |
Jagatud saladus proksi ja teie RADIUS-serveri vahel |
vpn_access_id |
1. sammus kopeeritud rakenduse Access ID |
vpn_message_ttl |
Sekundite arv, mille jooksul kasutaja saab kinnitada (30 on mõistlik vaikeväärtus) |
message_title / message_description |
Mida tõukesõnum kuvab; {0} asendatakse kasutajanimega |
Pilveseade: dockeriseeritud proksi
Pilves majutatud Notakey serveri puhul käivitage sama proksi konteinerina omaenda võrgus, RADIUS-serveri ees:
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
Samad osad, teistsugune pakend: NOTAKEY_HOST on teie pilveinstantsi API
URL, DOWNSTREAM_ADDRESS teie RADIUS-server ning kaks saladust käivad
vastavalt VPN-i poole ja RADIUS-e poole kohta.
Mõlema variandi täieliku kirjelduse (sealhulgas MSI-paigalduspaketi proksi käitamiseks Windowsis, võrguühenduse nõuded ja logide asukohad) leiate Authentication Proxy käsiraamatust.
3. samm – RADIUS-serverit veel pole? Kasutage meie oma
Kui te RADIUS-t seni ei kasuta, ei pea te seda ainuüksi selle tarbeks üles ehitama:
- Notakey RADIUS-plugin. Seadmega on kaasas RADIUS-teenuse plugin (FreeRADIUS-e põhjal). See autendib kasutajaid, kes on teie Notakey teenuses juba olemas, nii et eraldi RADIUS-e kasutajabaasi pole vaja hallata. Seadistust kirjeldab meie teabebaasi artikkel RADIUS-teenuse plugin (kasutajaid pole vaja seadistada).
- MikroTik User Manager. Kui teie VPN lõpeb juba MikroTikus, sobib selle enda User Manageri pakett allavoolu RADIUS-serveriks.
- Iga olemasolev ettevõtte RADIUS (FreeRADIUS, Microsoft NPS ja muud sarnased) töötab muutmata kujul; proksi on selle jaoks läbipaistev.
4. samm – suunake VPN proksi poole
Seadistage VPN-kontsentraatori RADIUS-klient ümber: sama saladus kui
vpn_secret_in, kuid serveri aadress on nüüd proksi, mitte
RADIUS-server. Ja tõstke ajalimiiti.
MikroTikus näeb see välja nii:
/radius
add service=ppp address=<proxy-address> secret=secret_to_radius_server timeout=30s
/ppp aaa
set use-radius=yes
timeout=30s on oluline. MikroTiku RADIUS-e vaikimisi ajalimiit on
300 millisekundit: paroolikontrolliks piisav, inimese kinnituse jaoks
lootusetu. Määrake vähemalt 30 sekundit (võrdne vpn_message_ttl
väärtusega), muidu ebaõnnestuvad sisselogimised enne, kui kasutaja jõuab
telefoni kätte võtta. Sama reegel kehtib iga teise tootja RADIUS-kliendi
seadete kohta.
Katsetage
Looge VPN-ühendus. Paroolikontroll õnnestub ja tõukesõnum jõuab telefoni, ka lukustuskuvale, nii et kasutaja ei pea rakendust isegi avama:

Sõnumi avamisel kuvatakse kogu päring, kes ja milliselt IP-aadressilt sisse logib, koos taimeriga, mille jooksul proksi hoiab RADIUS-vahetust avatuna:

Ühendus valmib alles pärast vajutust Kinnita. Ja just see kuva ongi kogu seadistuse turvavõit: kasutaja, kes saab sellise tõukesõnumi hetkel, mil ta ise VPN-i ei ava, näeb, et keegi teine kasutab tema parooli, nähtavalt IP-aadressilt – ning üksainus vajutus nupule Keela peatab sisselogimise ja jätab auditijälje. Kui sisselogimised aeguvad ka kiire kinnitamise korral, kontrollige kõigepealt RADIUS-kliendi ajalimiiti; see on selle seadistuse kõige levinum viga.
Seotud juhendid
- MikroTiku ruuteri sisselogimise 2FA: sama proksi, suunatud ruuteri enda WinBoxi/SSH sisselogimisele
- Linuxi SSH 2FA pam_radius-ega: sama proksi kaitseb SSH-d, sudo’t ja su-d
- MikroTiku VPN-i 2FA – täielik skriptipõhine seadistus: ühe ruuteri alternatiiv, kus RADIUS-t pole üldse
- Windowsi Credential Provider kaugtöölaua jaoks