Skoraj vsako nenadzorovano nastavitev VPN pokrijeta dve zasnovi: skupna človeška prijava, shranjena v skriptu, ali potrdilo stroja, vezano na gostitelja. Odpovedujeta na različnih mestih in to je pomembnejše od hitrosti nastavitve. Shranjeno geslo se zlomi, ko ga lastnik spremeni ali odide; potrdilo se zlomi, ko poteče ali ko je gostitelj ponovno zgrajen brez ključa. Trije pogoji odločajo, kateri strošek lahko nosite, in nobena zasnova ničesar ne omejuje, dokler tega ne stori pravilnik o pooblastitvi.

Začnite pri nalogi, ne pri računu

Naloga določa mejo: katere cilje, katere storitve, ob katerih urah, kako dolgo lahko traja seja. Pot tunela je le polovica te meje. Prehod odloča, ali je seja dovoljena; vir za njim odloča, kaj seja lahko počne. Najprej napišite seznam, z imenovanim lastnikom, ker ga morata obe zasnovi identitete izpolniti.

Med pisanjem imejte preverjanje pristnosti in pooblastitev ločeno. Preverjanje pristnosti odgovarja, kdo se povezuje; pooblastitev odgovarja, kam lahko seja pozneje doseže. RADIUS prenaša drugi del kot atribute, kot so Filter-Id, Framed-IP-Address, Session-Timeout in Class, prehod pa jih pripne, ko prijava uspe. Zasnova, ki zamenja prijavo in pooblastitev pusti pri miru, ni ničesar omejila.

Skupna človeška prijava: geslo postane meja

Ponovna uporaba človeškega računa je najhitrejša pot in tista, ki se najslabše stara. Poverilnica je geslo, zato konča v skriptu, okoljski datoteki in konfiguraciji razporejevalnika, vsaka kopija pa potrebuje rotacijo. Ko ga lastnik spremeni v petek, naloga ob naslednjem zagonu odpove in nihče ne gleda.

MFA je mesto, kjer ta zasnova običajno propade. Skript ne more odgovoriti na zahtevo push, zato je račun izključen iz pravilnika, in to je natanko račun, ki bi ga napadalec izbral. Izjeme, obhodi za zaupanja vredne lokacije in oprostitve po računu se množijo, nobena pa ni vidna naslednji osebi, ki bere nastavitve najemnika.

Pripisovanje je drugi strošek. Vsaka seja v dnevniku prehoda nosi isto uporabniško ime, zato nočne sinhronizacije ni mogoče ločiti od dela osebe, ki jo je napisala, in preklic naloge pomeni preklic te osebe.

Potrdilo stroja: identiteta, vezana na gostitelja

Potrdilo spremeni vprašanje iz tega, kaj račun ve, v to, kaj gostitelj je. Pri EAP-TLS odjemalec predloži potrdilo in dokaže posedovanje ustreznega zasebnega ključa; strežnik pravilnikov preslika subjekt ali računalniški račun v skupino in uporabi pravilnik te skupine. Brez poziva, brez skupne skrivnosti v besedilni datoteki.

Meja, ki jo ustvari, je ožja, kot ljudje pričakujejo. Potrdilo preveri pristnost gostitelja, ne naloge, in vsakdo s pravicami root ali lokalnega skrbnika lahko uporabi ta ključ na tem gostitelju. Ključ hranite tam, kjer ga platforma ščiti: neizvozljiv v shrambi potrdil Windows, s podporo TPM, kjer profil to dovoljuje, ali datoteka 0600 v lasti root v Linuxu. Kompromitiran gostitelj je kompromitirana poverilnica.

Potek veljavnosti je ponavljajoča se okvara. Potrdilo, ki poteče v nedeljo, ustavi nalogo v nedeljo, prehod pa običajno sporoči splošno napako preverjanja pristnosti, namesto da bi navedel datum. Datume preverite z gostitelja naloge kot del navodil za izvajanje:

openssl x509 -in client.pem -noout -subject -issuer -dates
ipsec listcerts

Preklic potrebuje pot, ki jo prehod preveri. OpenVPN bere CRL prek možnosti crl-verify, strongSwan pa je odvisen od CRL ali OCSP glede na to, kako je zgrajen profil povezave. Če ni povezano nobeno od obeh, odstranitev gostitelja pomeni čakanje, da potrdilo poteče.

Trije pogoji, ki odločijo med njima

Primerjavo izvedite z platformo, ki jo imate, ne z referenčno zasnovo.

Prvi pogoj: ali lahko prehod pooblasti strojno identiteto? Če samo preslika uporabniško ime RADIUS v uporabnika imenika, potrdilo preveri gostitelja in se nato ustavi pri pooblastitvi. Drugi pogoj: ali naloga potrebuje dostop do virov, ki ga prinaša le uporabniški račun, na primer preslikana skupna mapa ali licenca na sedež? Takrat strojna identiteta ne more nadomestiti, in pošten odgovor je namenski uporabniški račun z omejenim pravilnikom. Tretji pogoj: kdo lahko zamenja poverilnico brez človeka v zanki? Samodejno vpisovanje naredi potrdila poceni za vzdrževanje; geslo, ki ga pozna ena oseba, ne.

ConstraintMachine certificateDedicated user account with stored secret
Unattended loginPrivate key proof, no promptOnly if the account is exempted from MFA
Resource expects a user identityWorks only when the resource accepts computer accountsMatches the access a person would have
RotationRe-enrollment, often automatedSecret change plus redeploy of every copy
Revocation speedTied to CRL or OCSP refreshDisable the account, immediate

Tabelo berite kot seznam stroškov, ne kot lestvico. Stolpec s shranjeno skrivnostjo zmaga pri hitrosti preklica in pri združljivosti z viri, ki razumejo le uporabniške račune; stolpec s potrdilom zmaga pri rotaciji in pri tem, da ne oslabi MFA, da bi skript deloval.

Mejo vstavite v pravilnik, po preverjanju pristnosti

Ne glede na izbrano identiteto meja dovoljenj pripada pravilniku, ki se izvede po preverjanju pristnosti. V NPS se omrežni pravilniki ocenjujejo po vrsti in prvi pravilnik, ki ustreza vsem pogojem, uveljavi svoje nastavitve, zato širok pravilnik, postavljen nad ozkim, odloči izid, ne glede na to, kaj predloži odjemalec. Microsoft opisuje model pogojev in nastavitev v svojem pregledu pravilnikov NPS.

Nalogi dajte lastno skupino ali pogoj pravilnika, ki temelji na nečem, kar nosi strojna identiteta: predloga potrdila, identifikator klicne postaje ali naslov iz namenskega bazena. Nato sejo omejite z atributi: Filter-Id za vlogo, v katero jo prehod preslika, kratek Session-Timeout, da se zataknjena naloga ponovno preveri, namesto da bi držala sejo več dni, in Framed-IP-Address iz bazena, ki ga na drugi strani filtrira požarni zid. Pooblastitev aplikacije ostaja ločena: tunel do strežnika podatkovne baze ni dovoljenje za branje tabele v njej.

Preverite zavrnitve, nato načrtujte odstranitev

Dostop, ki deluje, ne dokazuje ničesar o najmanjših pravicah. Namesto tega preizkusite zavrnitve: povežite se z identiteto naloge in segajte po cilju zunaj seznama, odprite drugo sočasno sejo, če naj prehod dovoli samo eno, in ponovite prijavo po preklicu poverilnice.

Nato potrdite isto sejo na dveh mestih. Dnevnik prehoda kaže identiteto, ki se je preverila; dnevnik strežnika pravilnikov kaže, kateri pravilnik se je ujemal in katere atribute je vrnil. Pri OpenVPN strežnik zabeleži skupno ime potrdila, ipsec statusall na strongSwan pa izpiše vzpostavljen tunel z identiteto v uporabi. Če se dnevnika ne strinjata glede identitete, se pravilnik ujema z nečim drugim, kot predvidevate.

Odstranitev spada v zasnovo, ne v čistilni sprint. Zapišite vse, kar je treba izbrisati (potrdilo ali račun, članstvo v skupini, omrežni pravilnik, vnos v bazenu, pravilo požarnega zidu na cilju) in to izvedite enkrat, dokler je nalogo lahko obnoviti.

Če začenjate danes, delajte v tem vrstnem redu: napišite seznam virov, izberite identiteto s tremi pogoji, vstavite mejo v pravilnik in vadite eno zavrnitev, preden naloga zaživi.

Sorodni članki