2026 m. spalio 11 d.

Palo Alto GlobalProtect 2FA per RADIUS be atskiro RADIUS serverio

Patvirtinimo telefonu 2FA Palo Alto GlobalProtect su Notakey auth-proxy ir RADIUS papildiniu: laukimo limitai, protokolas, dvigubos užklausos.

Palo Alto Networks užkardos GlobalProtect VPN prisijungimus gali siųsti į RADIUS serverį. Notakey auth-proxy daugiau nieko ir nereikia: jis įsiterpia į RADIUS kelią ir prisijungimą praleidžia tik tada, kai naudotojas jį patvirtina savo telefone.

Dažniausias prieštaravimas – pats RADIUS serveris. Daugelis komandų jo neturi, o diegti FreeRADIUS ar Microsoft NPS vien tam, kad atsirastų antras veiksnys, yra atskiras projektas. Todėl šiame vadove naudojamas RADIUS papildinys, įtrauktas į vietinio Notakey įrenginio komplektą, ir visa serverio pusė telpa į vieną įrenginį: tarpinis serveris, RADIUS ir patvirtinimas telefonu.

Palo Alto užkardos patys laboratorijoje neišbandėme. Toliau pateikti Palo Alto nustatymai paimti iš Palo Alto dokumentacijos, su nuorodomis. Užkarda su auth-proxy bendrauja standartiniu RADIUS protokolu, lygiai taip pat kaip VPN koncentratoriai mūsų kituose vadovuose.

Kaip tai veikia

GlobalProtect app ──▶ Palo Alto portal/gateway ──RADIUS──▶ Notakey auth-proxy ──RADIUS──▶ RADIUS plugin
                                                                  │
                                                                  └──▶ approval request ──▶ user's phone
  1. Naudotojas jungiasi per GlobalProtect ir įveda naudotojo vardą bei slaptažodį.
  2. Užkarda RADIUS užklausą siunčia į įrenginyje veikiantį auth-proxy.
  3. Tarpinis serveris slaptažodžio patikrą perduoda RADIUS papildiniui. Neteisingas slaptažodis atmetamas iš karto.
  4. Jei slaptažodis priimtas, tarpinis serveris į naudotojo telefoną išsiunčia patvirtinimo užklausą ir laiko RADIUS seansą atvirą, kol naudotojas apsisprendžia, pagal numatytuosius nustatymus 30 sekundžių.
  5. Patvirtinus užkarda gauna Access-Accept. Atmetus arba neatsakius prisijungimas atmetamas.

Ką papildinys keičia slaptažodžio atžvilgiu

Prieš rinkdamiesi papildinį, įvertinkite vieną kompromisą. Papildinys netikrina naudotojo katalogo (directory) slaptažodžio. Jis priima arba vieną visiems bendrą globalų slaptažodį, arba trumpą asmeninių slaptažodžių sąrašą, saugomą papildinio konfigūracijoje (RADIUS paslaugos papildinys).

Praktiškai tai reiškia, kad prisijungimą saugo būtent patvirtinimas telefonu: užklausa keliauja į telefoną, užregistruotą tam naudotojo vardui, o jį laikantis žmogus mato, ką tvirtina. Su globaliu slaptažodžiu slaptažodžio žingsnis yra bendri vartai, o ne antra kiekvieno naudotojo paslaptis.

Jei jūsų politika ar auditorius tikisi, kad vienas iš dviejų veiksnių bus katalogo slaptažodis, vietoj papildinio nukreipkite auth-proxy į RADIUS serverį, kuris tikrina Active Directory, pavyzdžiui, Microsoft NPS. Visa šio vadovo Palo Alto pusė lieka tokia pati; tarpinio serverio nustatymuose keičiasi tik galutinio RADIUS serverio adresas ir paslaptis, kaip aprašyta mūsų VPN 2FA per RADIUS vadove.

1 žingsnis. Sukurkite VPN programą Notakey sistemoje

Notakey valdymo skydelyje sukurkite VPN skirtą programą (servisą), užregistruokite naudotojų telefonus ir nusikopijuokite programos Access ID.

Naudotojo vardas, kurį naudotojas įveda GlobalProtect, turi pasiekti tarpinį serverį lygiai toks, koks buvo užregistruotas Notakey. Tai turėkite omenyje 4 žingsnyje, kur Palo Alto gali pridėti arba nukirpti domeną.

2 žingsnis. Paleiskite RADIUS papildinį įrenginyje

Įrenginio komandinėje eilutėje nurodykite papildinio atvaizdą, pakeiskite numatytąją paslaptį ir slaptažodį, tada papildinį paleiskite. Numatytųjų reikšmių nepalikite: jos paskelbtos mūsų dokumentacijoje.

ntk cfg setc :plugins.radius.image "notakey/radius-all:latest"
ntk cfg setc :plugins.radius.env.SECRET "<long-random-secret>"
ntk cfg setc :plugins.radius.env.PASSWORD "<global-password>"
ntk plugins update
ntk plugins start

PASSWORD – tai globalus slaptažodis, kurį naudotojai įveda GlobalProtect. Jei norite konkretiems naudotojams suteikti atskirus slaptažodžius, pridėkite USER1/PASSW1, USER2/PASSW2 ir t. t.; visas parinkčių sąrašas pateiktas papildinio straipsnyje.

3 žingsnis. Nukreipkite auth-proxy į papildinį

Tarpinis serveris papildinį randa pagal jo konteinerio pavadinimą radius. Abiejose pusėse naudokite tą pačią paslaptį, kaip aprašyta papildinio straipsnyje; ją naudos ir užkarda.

ntk cfg set :ap.vpn_port_in "1812"
ntk cfg set :ap.vpn_radius_address "radius"
ntk cfg set :ap.vpn_secret_in "<long-random-secret>"
ntk cfg set :ap.vpn_secret_out "<long-random-secret>"
ntk cfg set :ap.vpn_access_id "<access-id-from-step-1>"
ntk cfg set :ap.vpn_message_ttl "30"
ntk cfg set :ap.message_title "VPN login"
ntk cfg set :ap.message_description "Allow {0} to connect to the VPN?"
ntk ap start

vpn_message_ttl nurodo, kiek laiko naudotojas turi užklausai patvirtinti. {0} aprašyme pakeičiamas naudotojo vardu. Tarpinis serveris RADIUS užklausų laukia UDP prievadu 1812; užkarda turi galėti pasiekti įrenginį šiuo prievadu.

Vienas skirtumas nuo kitų VPN: su GlobalProtect nesitikėkite patvirtinimo kortelėje matyti naudotojo IP adreso. Auth-proxy kliento adresą skaito iš tam skirto standartinio RADIUS atributo Calling-Station-Id. GlobalProtect kliento IP ten neįrašo; jį siunčia tik Palo Alto gamintojo specifiniame (vendor-specific) atribute (SecureAuth pastaba apie šį elgesį). Aprašymą suformuluokite taip, kad kortelė vis tiek pasakytų naudotojui, ką jis tvirtina: servisą ir naudotojo vardą.

4 žingsnis. Sukonfigūruokite Palo Alto užkardą

Bendri žingsniai aprašyti Palo Alto vadove Set Up RADIUS or TACACS+ Authentication. Čia – nustatymai, kurie svarbūs patvirtinimui telefonu.

RADIUS serverio profilis (Device → Server Profiles → RADIUS) (laukų aprašas):

  • Server: įrenginio adresas, prievadas 1812 ir paslaptis iš 3 žingsnio.
  • Timeout (laukimo limitas): numatytoji reikšmė yra 3 sekundės. To pakanka slaptažodžio patikrai, bet anaiptol nepakanka, kad žmogus surastų telefoną. Leistinas intervalas – nuo 1 iki 120 sekundžių, o pati Palo Alto kelių veiksnių sąrankoms pataria skirti naudotojams pakankamai laiko atsakyti. Nustatykite reikšmę su atsarga ilgesnę už tarpinio serverio 30 sekundžių langą, pavyzdžiui, 60.
  • Retries (pakartojimai): numatytoji reikšmė yra 3. Esant ilgam laukimo limitui, pakanka 1. Jei užkarda vis dėlto išsiunčia užklausą pakartotinai, auth-proxy ją atpažįsta ir ignoruoja, todėl naudotojas antros patvirtinimo užklausos negauna.
  • Authentication Protocol: pasirinkite PAP. Numatytasis PEAP-MSCHAPv2 apgaubia prisijungimą šifruotu tuneliu ir pagal numatytuosius nustatymus išorinėje užklausoje paslepia naudotojo tapatybę. O tarpiniam serveriui reikia perskaityti naudotojo vardą, kad žinotų, kieno telefono klausti. PAP – tai parinktis, kurią Palo Alto nurodo RADIUS serveriui, nenaudojančiam EAP ar CHAP. Naudojant PAP, RADIUS naudotojo vardą siunčia atviru tekstu, o bendrąja paslaptimi paslepia tik slaptažodį (RFC 2865). Ryšį tarp užkardos ir įrenginio laikykite patikimame tinkle, o paslaptį – ilgą ir atsitiktinę.

Autentifikavimo profilis (Device → Authentication Profile):

  • Type: RADIUS, su aukščiau aprašytu serverio profiliu.
  • Username Modifier: %USERINPUT% perduoda naudotojo vardą nepakeistą. Jei nustatysite User Domain, Palo Alto domeną prijungs priekyje ar gale arba nukirps naudotojo įvestą domeną. Kad ir koks būtų rezultatas, jis turi sutapti su Notakey užregistruotu naudotojo vardu.
  • Allow List (skirtukas Advanced): pagal numatytuosius nustatymus sąrašas tuščias, o tai blokuoja visus. Pridėkite naudotojus ar grupes, kurie turi jungtis, arba all.

Portalas ir šliuzas: pridėkite autentifikavimo profilį prie GlobalProtect portalo ir šliuzo klientų autentifikavimo nustatymų, tada atlikite commit.

5 žingsnis. Išvenkite dviejų patvirtinimų vienam ryšiui

GlobalProtect ryšys autentifikuojamas du kartus: vieną kartą portale ir vieną kartą šliuze. Jei abiem atvejais naudojamas RADIUS, vienam ryšiui naudotojas gauna dvi patvirtinimo užklausas. Tai būtent toks triukšmas, kuris įpratina žmones tvirtinti neskaičius.

Šią problemą sprendžia Palo Alto autentifikavimo nepaisymo (authentication override) slapukai (portalo autentifikavimo nustatymai). Po pirmo sėkmingo prisijungimo portalas išduoda šifruotą slapuką, o šliuzas jį priima, užuot klausęs dar kartą:

  • Portale įjunkite Generate cookie for authentication override.
  • Šliuze įjunkite Accept cookie for authentication override.
  • Slapukui šifruoti ir iššifruoti portale ir šliuze naudokite tą patį sertifikatą.
  • Slapuko galiojimo laiką rinkitės sąmoningai. Kol slapukas galioja, naudotojo dar kartą neklausiama, todėl ilgas galiojimas reiškia mažiau patvirtinimų, bet ir silpnesnę apsaugą, jei nešiojamasis kompiuteris pavogiamas.

Išbandykite

Prisijunkite per GlobalProtect. Įvedus slaptažodį, į telefoną atkeliauja patvirtinimo užklausa su 3 žingsnyje nustatytu pavadinimu ir aprašymu. Patvirtinkite, ir tunelis užmezgamas. Tada pabandykite dar kartą ir atmeskite: ryšys turi nepavykti.

Jei prisijungimai nepavyksta net greitai patvirtinus, pirmiausia patikrinkite laukimo limitus:

  • užkardos RADIUS serverio profilio laukimo limitą, kuris turi būti ilgesnis už tarpinio serverio 30 sekundžių;
  • paties GlobalProtect ryšio laukimo limitą. Palo Alto bendruomenės forume administratoriai rašo jį padidinę kelių veiksnių prisijungimams (forumo gija). Jei lango pabaigoje duoti patvirtinimai nepavyksta, o greiti veikia, priežastis greičiausiai yra ši; padidinkite šį laukimo limitą arba sutrumpinkite vpn_message_ttl.

Ko tai neapima

  • Persiunčiamų sukčiavimo prisijungimų. Patvirtinimas telefonu užtikrina, kad pavogto ar atspėto slaptažodžio vieno nebepakaktų. Tačiau jis nesustabdo užpuoliko, kuris tikrą prisijungimą realiu laiku persiunčia per netikrą puslapį; tai padaro tik prie svetainės susieti metodai, pavyzdžiui, FIDO raktai. Skirtumą paaiškiname įraše apie MFA nuovargį ir persiuntimo atakas.
  • Pačios užkardos pažeidžiamumo. Kodėl VPN ar administravimo prisijungimas vien su slaptažodžiu yra problema ir ką dar reikia sutvarkyti pirmiausia, rašome įraše apie FortiBleed. Šios pamokos tinka bet kurio gamintojo užkardai.

Išbandykite tiesioginę demonstraciją ir maždaug per dvi minutes patvirtinkite prisijungimą savo telefonu arba užsisakykite demonstraciją, ir mes padėsime suplanuoti GlobalProtect bandomąjį diegimą.

← Visi įrašai

Pirmasis prisijungimas be slaptažodžio – jau šią savaitę

30 minučių pokalbis su inžinieriumi, o ne pardavimų prezentacija. Kartu suplanuosime, kaip jūsų VPN, SSO ar Windows aplinkoje paleisti veikiantį bandomąjį projektą.