VPN prieiga su paslaugos paskyra: sertifikatas ar bendras prisijungimas
Palyginkite mašinos sertifikatą su saugomu slaptažodžiu, skirtu nepriežiūrimai VPN prieigai, ir tikrąją leidimų ribą įdėkite į politiką, kuri vykdoma po prisijungimo.
Du sprendimai apima beveik kiekvieną nepriežiūrimą VPN sąranką: bendras žmogiškasis prisijungimas, laikomas scenarijuje, arba mašinos sertifikatas, susietas su hostu. Jie sugenda skirtingose vietose, o tai svarbiau už sąrankos greitį. Saugomas slaptažodis sugenda, kai jo savininkas jį pakeičia arba išeina; sertifikatas sugenda, kai pasibaigia jo galiojimas arba kai hostas atstatomas be rakto. Trys sąlygos nusprendžia, kokią kainą galite pakelti, ir nė vienas sprendimas nieko neriboja, kol to nepadaro autorizacijos politika.
Pradėkite nuo užduoties, ne nuo paskyros
Užduotis apibrėžia ribą: kokie tikslai, kokios paslaugos, kokios valandos, kiek gali trukti sesija. Tunelio maršrutas yra tik pusė šios ribos. Tinklo vartai nusprendžia, ar sesija leidžiama; ištekliai už jų nusprendžia, ką sesija gali daryti. Pirmiausia surašykite sąrašą su nurodytu savininku, nes abu tapatybės sprendimai turi jį atitikti.
Rašydami laikykite autentifikavimą ir autorizaciją atskirai. Autentifikavimas atsako, kas jungiasi; autorizacija atsako, ką sesija gali pasiekti vėliau. RADIUS antrąją dalį perduoda kaip atributus, pavyzdžiui, Filter-Id, Framed-IP-Address, Session-Timeout ir Class, o vartai juos prideda sėkmingai prisijungus. Sprendimas, kuris pakeičia prisijungimą ir palieka autorizaciją nepaliestą, nieko neribojo.
Bendras žmogiškasis prisijungimas: slaptažodis tampa riba
Žmogiškosios paskyros pakartotinis naudojimas yra greičiausias kelias ir tas, kuris sensta blogiausiai. Prisijungimo duomenys yra slaptažodis, todėl jie atsiduria scenarijuje, aplinkos faile ir planuoklio konfigūracijoje, ir kiekvieną kopiją reikia rotuoti. Kai savininkas jį pakeičia penktadienį, užduotis sugenda kitą kartą paleidus, ir niekas nežiūri.
MFA yra vieta, kurioje šis sprendimas paprastai sugriūva. Scenarijus negali atsakyti į push užklausą, todėl paskyra išbraukiama iš politikos, ir tai yra būtent ta paskyra, kurią pasirinktų užpuolikas. Išimtys, patikimos vietos apėjimai ir išimtys pagal paskyrą dauginasi, ir nė viena nėra matoma kitam žmogui, skaitančiam nuomininko nustatymus.
Priskyrimas yra kita kaina. Kiekviena sesija vartų žurnale turi tą patį vartotojo vardą, todėl naktinė sinchronizacija nesiskiria nuo ją parašiusio žmogaus darbo, ir užduoties atšaukimas reiškia to žmogaus atšaukimą.
Mašinos sertifikatas: prie hosto susieta tapatybė
Sertifikatas pakeičia klausimą iš to, ką žino paskyra, į tai, kas yra hostas. Su EAP-TLS klientas pateikia sertifikatą ir įrodo turintis atitinkamą privatų raktą; politikos serveris susieja subjektą arba kompiuterio paskyrą su grupe ir taiko tos grupės politiką. Jokio raginimo, jokios bendros paslapties tekstiniame faile.
Sukuriama riba yra siauresnė, nei žmonės tikisi. Sertifikatas autentifikuoja hostą, ne užduotį, ir bet kas su root arba vietinio administratoriaus teisėmis gali naudoti tą raktą tame hoste. Laikykite raktą ten, kur platforma jį saugo: neeksportuojamą Windows sertifikatų saugykloje, TPM palaikomą ten, kur profilis leidžia, arba root priklausantį 0600 failą Linux sistemoje. Hosto kompromitavimas yra prisijungimo duomenų kompromitavimas.
Galiojimo pabaiga yra pasikartojantis gedimas. Sertifikatas, kurio galiojimas baigiasi sekmadienį, sustabdo užduotį sekmadienį, ir vartai paprastai praneša bendrą autentifikavimo klaidą, o ne nurodo datą. Tikrinkite datas iš užduoties hosto kaip runbook dalį:
openssl x509 -in client.pem -noout -subject -issuer -dates
ipsec listcerts
Atšaukimui reikia kelio, kurį vartai tikrina. OpenVPN skaito CRL per parinktį crl-verify, o strongSwan priklauso nuo CRL arba OCSP pagal tai, kaip sudarytas ryšio profilis. Jei nė vienas neprijungtas, hosto pašalinimas reiškia laukimą, kol sertifikatas nustos galioti.
Trys sąlygos, lemiančios tarp jų
Palyginkite su platforma, kurią turite, o ne su etaloniniu sprendimu.
Pirmoji sąlyga: ar vartai gali autorizuoti mašinos tapatybę? Jei jie tik susieja RADIUS vartotojo vardą su katalogo vartotoju, sertifikatas autentifikuoja hostą ir tada sustoja ties autorizacija. Antroji sąlyga: ar užduočiai reikia prieigos prie ištekliaus, kurį turi tik vartotojo paskyra, pavyzdžiui, prijungto bendro katalogo ar licencijos vietai? Tada mašinos tapatybė negali pakeisti, ir sąžiningas atsakymas yra skirta vartotojo paskyra su apribota politika. Trečioji sąlyga: kas gali rotuoti prisijungimo duomenis be žmogaus cikle? Automatinė registracija sertifikatus padaro pigius išlaikyti; slaptažodis, kurį žino vienas žmogus, ne.
| Constraint | Machine certificate | Dedicated user account with stored secret |
|---|---|---|
| Unattended login | Private key proof, no prompt | Only if the account is exempted from MFA |
| Resource expects a user identity | Works only when the resource accepts computer accounts | Matches the access a person would have |
| Rotation | Re-enrollment, often automated | Secret change plus redeploy of every copy |
| Revocation speed | Tied to CRL or OCSP refresh | Disable the account, immediate |
Skaitykite lentelę kaip kainų sąrašą, ne kaip reitingą. Saugomos paslapties stulpelis laimi atšaukimo greičiu ir suderinamumu su ištekliais, kurie supranta tik vartotojo paskyras; sertifikato stulpelis laimi rotacija ir tuo, kad nesusilpnina MFA, kad scenarijus veiktų.
Įdėkite ribą į politiką, po autentifikavimo
Kad ir kokią tapatybę pasirinktumėte, leidimų riba priklauso politikai, kuri vykdoma po autentifikavimo. NPS tinklo politikos vertinamos eilės tvarka, ir pirmoji politika, atitinkanti visas sąlygas, taiko savo nustatymus, todėl plati politika, padėta virš siauros, nulemia rezultatą, nepaisant to, ką pateikia klientas. Microsoft dokumentuoja sąlygų ir nustatymų modelį savo NPS politikos apžvalgoje.
Suteikite užduočiai savo grupę arba politikos sąlygą, pagrįstą tuo, ką turi mašinos tapatybė: sertifikato šablonas, skambinančios stoties identifikatorius arba adresas iš skirto telkinio. Tada apribokite sesiją atributais: Filter-Id vaidmeniui, į kurį jūsų vartai jį susieja, trumpas Session-Timeout, kad įstrigusi užduotis iš naujo autentifikuotųsi, o ne laikytų sesiją dienas, ir Framed-IP-Address iš telkinio, kurį kitoje pusėje filtruojate užtvaru. Programų autorizacija lieka atskirai: tunelis į duomenų bazės serverį nėra leidimas skaityti lentelę jame.
Patikrinkite atmetimus, tada planuokite pašalinimą
Veikianti prieiga nieko neįrodo apie mažiausias teises. Išbandykite atmetimus: prisijunkite su užduoties tapatybe ir pabandykite pasiekti tikslą už sąrašo ribų, atidarykite antrą lygiagrečią sesiją, jei vartai turi leisti tik vieną, ir pakartokite prisijungimą atšaukę prisijungimo duomenis.
Tada patvirtinkite tą pačią sesiją dviejose vietose. Vartų žurnalas rodo autentifikuotą tapatybę; politikos serverio žurnalas rodo, kuri politika atitiko ir kokius atributus grąžino. OpenVPN serveryje įrašomas bendras sertifikato pavadinimas, o strongSwan ipsec statusall išspausdina nustatytą tunelį su naudojama tapatybe. Jei du žurnalai nesutaria dėl tapatybės, politika atitinka kažką kita, nei manote.
Pašalinimas priklauso sprendimui, o ne tvarkymo sprintui. Surašykite viską, ką reikia ištrinti (sertifikatą ar paskyrą, grupės narystę, tinklo politiką, telkinio įrašą, užtvaro taisyklę tiksle), ir atlikite tai vieną kartą, kol užduotį lengva atstatyti.
Jei pradedate šiandien, dirbkite šia tvarka: surašykite išteklių sąrašą, pasirinkite tapatybę pagal tris sąlygas, įdėkite ribą į politiką ir prieš užduočiai pradedant veikti išbandykite vieną atmetimą.