Dva rešenja pokrivaju skoro svako VPN podešavanje bez nadzora: zajednička ljudska prijava sačuvana u skripti ili sertifikat mašine vezan za host. Oni padaju na različitim mestima, a to je važnije od brzine podešavanja. Sačuvana lozinka puca kada je vlasnik promeni ili ode; sertifikat puca kada istekne ili kada se host ponovo izgradi bez ključa. Tri uslova odlučuju koji trošak možete da nosite, i nijedno rešenje ništa ne ograničava dok to ne uradi politika autorizacije.

Pođite od zadatka, ne od računa

Zadatak definiše granicu: koja odredišta, koje usluge, u kojim satima, koliko dugo sesija može da traje. Ruta tunela je samo polovina te granice. Gejtvej odlučuje da li je sesija dozvoljena; resurs iza njega odlučuje šta sesija može da radi. Prvo napišite listu, sa imenovanim vlasnikom, jer oba rešenja identiteta moraju da je zadovolje.

Držite autentifikaciju i autorizaciju odvojeno dok to zapisujete. Autentifikacija odgovara ko se povezuje; autorizacija odgovara do čega sesija može da stigne posle toga. RADIUS nosi drugi deo kao atribute kao što su Filter-Id, Framed-IP-Address, Session-Timeout i Class, a gejtvej ih prikači kada prijava uspe. Rešenje koje zameni prijavu i ostavi autorizaciju netaknutom nije ništa ograničilo.

Zajednička ljudska prijava: lozinka postaje granica

Ponovno korišćenje ljudskog računa je najbrži put i onaj koji najgore stari. Akreditiv je lozinka, pa završi u skripti, u datoteci okruženja i u konfiguraciji planera, i svaka kopija zahteva rotaciju. Kada je vlasnik promeni u petak, zadatak padne pri sledećem pokretanju i niko ne gleda.

MFA je mesto gde ovo rešenje obično pada. Skripta ne može da odgovori na push zahtev, pa se račun izuzme iz politike, a to je tačno račun koji bi napadač izabrao. Izuzeci, zaobilaženja za pouzdane lokacije i oslobađanja po računu se množe, i nijedno nije vidljivo sledećoj osobi koja čita podešavanja zakupca.

Pripisivanje je drugi trošak. Svaka sesija u dnevniku gejtveja nosi isto korisničko ime, pa se noćna sinhronizacija ne može razlikovati od rada osobe koja ju je napisala, a opozivanje zadatka znači opozivanje te osobe.

Sertifikat mašine: identitet vezan za host

Sertifikat menja pitanje sa onoga što račun zna na ono što host jeste. Sa EAP-TLS klijent predstavlja sertifikat i dokazuje posedovanje odgovarajućeg privatnog ključa; server politike mapira subjekat ili računar računa na grupu i primenjuje politiku te grupe. Bez upita, bez zajedničke tajne koja stoji u tekstualnoj datoteci.

Granica koju stvara uža je nego što ljudi očekuju. Sertifikat autentifikuje host, ne zadatak, i svako sa root ili lokalnim administratorskim pravima može da koristi taj ključ na tom hostu. Držite ključ tamo gde ga platforma štiti: neizvoziv u Windows prodavnici sertifikata, sa TPM podrškom gde profil dozvoljava, ili datoteka 0600 u vlasništvu root-a na Linuxu. Kompromitovanje hosta je kompromitovanje akreditiva.

Isticanje je povratni otkaz. Sertifikat koji istekne u nedelju zaustavlja zadatak u nedelju, a gejtvej obično prijavi opštu grešku autentifikacije umesto da navede datum. Proverite datume sa hosta zadatka kao deo runbook-a:

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

Opoziv zahteva putanju koju gejtvej proverava. OpenVPN čita CRL kroz opciju crl-verify, a strongSwan zavisi od CRL ili OCSP u zavisnosti od toga kako je profil veze izgrađen. Ako nijedno nije povezano, uklanjanje hosta znači čekanje da sertifikat istekne.

Tri uslova koja odlučuju između njih

Uporedite sa platformom koju imate, ne sa referentnim rešenjem.

Prvi uslov: može li gejtvej da autorizuje identitet mašine? Ako samo mapira RADIUS korisničko ime na korisnika imenika, sertifikat autentifikuje host i zatim se zaglavi na autorizaciji. Drugi uslov: da li zadatku treba pristup resursima koji nosi samo korisnički račun, kao što je mapirani deljeni resurs ili licenca po mestu? Tada identitet mašine ne može da zameni, i iskren odgovor je namenski korisnički račun sa ograničenom politikom. Treći uslov: ko može da rotira akreditiv bez osobe u petlji? Automatska registracija čini sertifikate jeftinim za održavanje; lozinka koju zna jedna osoba 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

Čitajte tabelu kao listu troškova, ne kao rangiranje. Kolona sa sačuvanom tajnom pobeđuje u brzini opoziva i u kompatibilnosti sa resursima koji razumeju samo korisničke račune; kolona sa sertifikatom pobeđuje u rotaciji i u tome što ne slabi MFA da bi skripta radila.

Stavite granicu u politiku, posle autentifikacije

Kakav god identitet izabrali, granica dozvola pripada politici koja se izvršava posle autentifikacije. U NPS-u se mrežne politike ocenjuju po redu, i prva politika koja se poklapa sa svim uslovima primenjuje svoja podešavanja, pa široka politika postavljena iznad uske odlučuje rezultat, bez obzira šta klijent predstavi. Microsoft dokumentuje model uslova i podešavanja u svom pregledu NPS politika.

Dajte zadatku sopstvenu grupu ili uslov politike, zasnovan na nečemu što nosi identitet mašine: šablon sertifikata, identifikator stanice koja poziva ili adresa iz namenskog pula. Zatim ograničite sesiju atributima: Filter-Id za ulogu u koju ga gejtvej mapira, kratak Session-Timeout da se zaglavljeni zadatak ponovo autentifikuje umesto da drži sesiju danima, i Framed-IP-Address iz pula koji filterišete firewall-om na drugoj strani. Autorizacija aplikacije ostaje odvojena: tunel do servera baze podataka nije dozvola da se čita tabela u njoj.

Proverite odbijanja, pa planirajte uklanjanje

Pristup koji radi ne dokazuje ništa o najmanjim ovlašćenjima. Umesto toga testirajte odbijanja: povežite se sa identitetom zadatka i posegnite za odredištem van liste, otvorite drugu istovremenu sesiju ako gejtvej treba da dozvoli samo jednu, i ponovite prijavu posle opoziva akreditiva.

Zatim potvrdite istu sesiju na dva mesta. Dnevnik gejtveja pokazuje identitet koji se autentifikovao; dnevnik servera politike pokazuje koja se politika poklopila i koje atribute je vratila. Na OpenVPN-u server beleži common name sertifikata, a ipsec statusall na strongSwan-u ispisuje uspostavljeni tunel sa identitetom u upotrebi. Ako se dva dnevnika ne slažu o identitetu, politika se poklapa sa nečim drugim nego što pretpostavljate.

Uklanjanje pripada rešenju, ne spremanju za čišćenje. Zapišite sve što treba obrisati (sertifikat ili račun, članstvo u grupi, mrežna politika, unos u pulu, firewall pravilo na cilju) i prođite kroz to jednom dok je zadatak lako ponovo izgraditi.

Ako počinjete danas, radite ovim redom: napišite listu resursa, izaberite identitet sa tri uslova, stavite granicu u politiku i uvežbajte jedno odbijanje pre nego što zadatak ode u produkciju.

Povezani članci