2026. gada 20. janvāris

VPN divfaktoru autentifikācija ar RADIUS — pilna auth-proxy uzstādīšana

Novietojiet Notakey auth-proxy jebkura RADIUS servera priekšā (FreeRADIUS, NPS, MikroTik), lai VPN pieteikšanās pieprasītu apstiprinājumu tālrunī.

Šajā rokasgrāmatā parādīts, kā VPN, kas autentificējas caur RADIUS, papildināt ar divfaktoru autentifikāciju: apstiprinājumu tālrunī ar vienu pieskārienu. Notakey auth-proxy atrodas starp jūsu VPN koncentratoru un RADIUS serveri: paroles pārbaudi tas kā ierasts pārsūta RADIUS serverim, lietotāja tālrunim nosūta apstiprinājuma pieprasījumu, un Access-Accept atbildi VPN atdod tikai tad, kad izdevušās abas pārbaudes.

Proxy abās pusēs izmanto standarta RADIUS protokolu, tāpēc tas darbojas ar teju jebkuru RADIUS serveri (FreeRADIUS, Microsoft NPS, MikroTik iebūvēto User Manager vai paša Notakey RADIUS spraudni) un ar jebkuru VPN koncentratoru, kam var norādīt RADIUS serveri.

Kā tas darbojas

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

                                     └──▶ push notification ──▶ user's phone
  1. Lietotājs pieslēdzas VPN ar savu lietotājvārdu un paroli.
  2. Koncentrators RADIUS pieprasījumu nosūta auth-proxy (nevis tieši jūsu RADIUS serverim).
  3. Proxy pieprasījumu pārsūta tālāk. Ja paroles pārbaude neizdodas, pieteikšanās tūlīt tiek noraidīta.
  4. Ja parole ir pareiza, proxy nosūta lietotāja tālrunim apstiprinājuma pieprasījumu un tur RADIUS apmaiņu atvērtu, kamēr lietotājs atbild, pēc noklusējuma līdz 30 sekundēm (vpn_message_ttl).
  5. Apstiprināt → VPN saņem Access-Accept. Noraidīt vai noildze → atteikums.

No šīs gaidīšanas izriet viena svarīga prasība: jūsu VPN RADIUS klienta noildzei jābūt vismaz tikpat garai kā apstiprinājuma logam, tātad vismaz 30 sekundes. Lielākajai daļai RADIUS klientu noklusējuma noildze ir dažas sekundes vai pat mazāk, jo parasta paroles pārbaude atbild acumirklī; šeit turpretī cilvēkam vēl jāpaspēj paņemt tālrunis rokā.

Priekšnosacījumi

  • Notakey autentifikācijas serveris: bezmaksas mākoņa versija vietnē signup.notakey.com vai lokālā (on-premise) iekārta
  • RADIUS serveris (vai Notakey RADIUS spraudnis, skatiet tālāk)
  • VPN, kas autentificējas pret RADIUS
  • Vienāds lietotājvārds Notakey servisā, RADIUS serverī un VPN: pēc tā proxy adresē push paziņojumu

1. solis — VPN lietotnes izveide

Notakey vadības panelī izveidojiet VPN paredzētu lietotni (servisu), reģistrējiet lietotāju tālruņus un nokopējiet lietotnes Access ID: UUID, kas tālāk būs jāielīmē proxy konfigurācijā.

2. solis — auth-proxy konfigurēšana

Lokālā iekārta: iebūvētais proxy

Iekārtā auth-proxy jau ir iebūvēts. Konfigurējiet to iekārtas komandrindā (CLI) ar vienu JSON dokumentu:

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

Pēc tam palaidiet servisu:

ntk ap start

Lauku nozīme:

Lauks Nozīme
vpn_port_in Ports, kurā proxy gaida jūsu VPN RADIUS pieprasījumus
vpn_port_out Jūsu lejupējā RADIUS servera ports
vpn_radius_address Jūsu lejupējā RADIUS servera adrese
vpn_secret_in Koplietotā slepenā atslēga starp jūsu VPN un proxy
vpn_secret_out Koplietotā slepenā atslēga starp proxy un jūsu RADIUS serveri
vpn_access_id Lietotnes Access ID no 1. soļa
vpn_message_ttl Cik sekunžu lietotājam ir laika apstiprināt (30 ir saprātīgs noklusējums)
message_title / message_description Push paziņojumā redzamais teksts; {0} tiek aizstāts ar lietotājvārdu

Mākonis: konteinerizētais proxy

Ja Notakey serveris darbojas mākonī, to pašu proxy palaidiet kā konteineru savā tīklā, RADIUS servera priekšā:

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

Sastāvdaļas tās pašas, tikai citā iesaiņojumā: NOTAKEY_HOST ir jūsu mākoņa instances API URL, DOWNSTREAM_ADDRESS — jūsu RADIUS serveris, un abas slepenās atslēgas atbilst attiecīgi VPN pusei un RADIUS pusei.

Pilns abu variantu apraksts (tostarp MSI instalators proxy darbināšanai Windows vidē, tīkla savienojamības prasības un žurnālfailu atrašanās vietas) atrodams Authentication Proxy rokasgrāmatā.

3. solis — vēl nav RADIUS servera? Izmantojiet mūsējo

Ja sava RADIUS servera jums vēl nav, tikai šī iemesla dēļ tas nav jāievieš:

  • Notakey RADIUS spraudnis. Iekārtai ir RADIUS servisa spraudnis (tā pamatā ir FreeRADIUS). Tas pārbauda lietotājus, kas jau definēti jūsu Notakey servisā, tāpēc atsevišķa RADIUS lietotāju datubāze nav jāuztur. Uzstādīšana aprakstīta mūsu zināšanu bāzes rakstā RADIUS servisa spraudnis (lietotāju konfigurācija nav nepieciešama).
  • MikroTik User Manager. Ja jūsu VPN jau noslēdzas MikroTik ierīcē, par lejupējo RADIUS serveri var kalpot tās iebūvētā User Manager pakotne.
  • Derēs arī jebkurš esošs uzņēmuma RADIUS serveris (FreeRADIUS, Microsoft NPS un līdzīgi) bez jebkādām izmaiņām: no servera puses proxy nemaz nav manāms.

4. solis — VPN novirzīšana uz proxy

Pārkonfigurējiet VPN koncentratora RADIUS klientu: slepenā atslēga tā pati, kas vpn_secret_in, bet servera adrese tagad ir proxy, nevis RADIUS serveris. Un palieliniet noildzi.

MikroTik ierīcē tas izskatās šādi:

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

/ppp aaa
set use-radius=yes

timeout=30s ir būtisks. MikroTik noklusējuma RADIUS noildze ir 300 milisekundes: paroles pārbaudei ar to pietiek, bet cilvēka apstiprinājumam ne tuvu ne. Iestatiet vismaz 30 sekundes (atbilstoši vpn_message_ttl), citādi pieteikšanās izgāzīsies, pirms lietotājs vispār paspēs paņemt tālruni rokā. Tas pats attiecas uz jebkura cita ražotāja RADIUS klienta iestatījumiem.

Pārbaudiet darbību

Pieslēdzieties VPN. Kad parole pārbaudīta, tālrunī parādās push paziņojums. Tas redzams arī bloķētā ekrānā, tāpēc lietotne pat nav jāatver:

Apstiprinājuma push paziņojums bloķēšanas ekrānā: “VPN savienojums — pieteikties kā šim lietotājam, no šīs IP adreses?” (lietotājvārds un IP adrese aizklāti).

Paziņojumu atverot, redzams pilns pieprasījums (kurš piesakās un no kādas IP adreses) līdz ar atlikušā laika atskaiti, kamēr proxy tur RADIUS apmaiņu atvērtu:

Pieprasījums Notakey Authenticator lietotnē: servisa nosaukums, pieteikšanās un avota IP adrese pārbaudei, atlikušā laika skaitītājs, kā arī pogas Noraidīt / Apstiprināt.

Savienojums izveidojas tikai pēc Apstiprināt. Tieši šajā ekrānā slēpjas visas shēmas drošības ieguvums: ja push paziņojums pienāk brīdī, kad lietotājs pats VPN nemaz nemēģina pieslēgties, viņš redz, ka viņa paroli izmanto kāds cits — turklāt no IP adreses, ko var pārbaudīt. Viens pieskāriens pogai Noraidīt pieteikšanos aptur un atstāj ierakstu auditam. Savukārt, ja pieteikšanās beidzas ar noildzi pat tad, kad apstiprināt paspējat ātri, vispirms pārbaudiet RADIUS klienta noildzi: tā ir visbiežākā kļūda šajā uzstādīšanā.

Saistītās rokasgrāmatas

← Visi raksti

Pirmā pieteikšanās bez paroles — jau šonedēļ

30 minūšu saruna ar inženieri, nevis pārdošanas prezentācija. Kopīgi izplānosim, kā jūsu VPN, SSO vai Windows vidē palaist strādājošu pilotprojektu.