VPN-tilgang med tenestekonto: sertifikat eller delt innlogging
Samanlikn eit maskinsertifikat med eit lagra passord for uovervaka VPN-tilgang, og legg den reelle tillatingsgrensa i policyen som køyrer etter innlogging.
To design dekkjer nesten alle uovervaka VPN-oppsett: ei delt menneskeleg innlogging halden i eit skript, eller eit maskinsertifikat bunde til verten. Dei sviktar på ulike stader, og det tyder meir enn hastigheita på oppsettet. Eit lagra passord ryker når eigaren endrar det eller sluttar; eit sertifikat ryker når det går ut eller når verten vert bygd opp att utan nøkkelen. Tre vilkår avgjer kva kostnad du kan bera, og ingen av designa avgrensar noko før autorisasjonspolicyen gjer det.
Start med oppgåva, ikkje kontoen
Oppgåva definerer grensa: kva destinasjonar, kva tenester, kva timar, kor lenge ei økt kan køyre. Ei tunnellrute er berre halvparten av den grensa. Gatewayen avgjer om økta er tillaten; ressursen bak bestemmer kva økta kan gjere. Skriv lista først, med ein namngjeven eigar, fordi begge identitetsdesigna må oppfylle henne.
Hald autentisering og autorisasjon frå kvarandre medan du skriv det ned. Autentisering svarar på kven som koplar til; autorisasjon svarar på kva økta kan nå etterpå. RADIUS ber den andre delen som attributtar som Filter-Id, Framed-IP-Address, Session-Timeout og Class, og gatewayen festar dei når innlogginga lukkast. Eit design som byter innlogginga og lèt autorisasjonen vere urørt, har ikkje avgrensa noko.
Delt menneskeleg innlogging: passordet vert grensa
Gjenbruk av ein menneskeleg konto er den snøggaste vegen og den som eldast dårlegast. Legitimasjonen er eit passord, så det endar i eit skript, ei miljøfil og ein planleggarkonfigurasjon, og kvar kopi må roterast. Når eigaren endrar det på ein fredag, feilar jobben ved neste køyring, og ingen følgjer med.
MFA er der dette designet vanlegvis kollapsar. Eit skript kan ikkje svare på ein push-førespurnad, så kontoen vert utelaten frå policyen, og det er nøyaktig den kontoen ein åtakar ville valt. Unntak, omgåingar av klarerte plasseringar og unntak per konto multipliserer seg, og ingen av dei er synlege for neste person som les innstillingane til leigetakaren.
Tilskriving er den andre kostnaden. Kvar økt i gateway-loggen ber same brukarnamn, så nattsynkroniseringa kan ikkje skiljast frå arbeidet til personen som skreiv henne, og å tilbakekalle jobben tyder å tilbakekalle den personen.
Maskinsertifikat: identitet bunde til verten
Eit sertifikat endrar spørsmålet frå kva kontoen veit til kva verten er. Med EAP-TLS legg klienten fram eit sertifikat og beviser at han har den tilhøyrande private nøkkelen; policyserveren kartlegg subjektet eller datamaskinkontoen til ei gruppe og brukar policyen for den gruppa. Ingen førespurnad, inga delt løyndom i ei tekstfil.
Grensa det skaper er smalare enn folk ventar. Eit sertifikat autentiserer verten, ikkje oppgåva, og kven som helst med root- eller lokale administratorrettar kan bruke den nøkkelen på den verten. Oppbevar nøkkelen der plattforma vernar han: ikkje-eksporterbar i Windows-sertifikatlagret, TPM-støtta der profilen tillèt det, eller ei root-eigd 0600-fil på Linux. Kompromittering av verten er kompromittering av legitamasjonen.
Utløp er den tilbakevendande feilen. Eit sertifikat som går ut ein sundag, stoppar jobben på sundag, og gatewayen rapporterer vanlegvis ein generisk autentiseringsfeil i staden for å nemne datoen. Kontroller datoane frå jobbverten som ein del av runbooken:
openssl x509 -in client.pem -noout -subject -issuer -dates
ipsec listcerts
Tilbakekalling treng ein veg som gatewayen kontrollerer. OpenVPN les ein CRL via crl-verify-valet, og strongSwan er avhengig av CRL eller OCSP etter korleis tilkoplingsprofilen er bygd. Viss ingen av dei er kopla til, tyder fjerning av ein vert å vente på at sertifikatet går ut.
Tre vilkår som avgjer mellom dei
Køyr samanlikninga mot plattforma du har, ikkje mot eit referansedesign.
Fyrste vilkår: kan gatewayen autorisere ein maskinidentitet? Viss han berre kartlegg eit RADIUS-brukarnamn til ein katalogbrukar, autentiserer eit sertifikat verten og stoppar så ved autorisasjonen. Andre vilkår: treng jobben ressurstilgang som berre ein brukarkonto ber, som ei tilkopla deling eller ein lisens per sete? Då kan ein maskinidentitet ikkje erstatte, og det ærlege svaret er ein dedikert brukarkonto med ein avgrensa policy. Tredje vilkår: kven kan rotere legitamasjonen utan ein person i loopen? Automatisk registrering gjer sertifikat billege å halde; eit passord som éin person kjenner, ikkje.
| 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 |
Les tabellen som ei kostnadsliste, ikkje som ei rangering. Kolonnen for lagd løyndom vinn på tilbakekallingshastigheit og på kompatibilitet med ressursar som berre forstår brukarkontoar; sertifikatkolonnen vinn på rotasjon og på å ikkje svekkje MFA for å få eit skript til å verke.
Legg grensa i policyen, etter autentisering
Uansett kva identitet du vel, høyrer tillatingsgrensa til policyen som køyrer etter autentisering. I NPS vert nettverkspolicyar vurderte i rekkjefølgje, og den fyrste policyen som samsvarar med kvart vilkår, brukar innstillingane sine, så ein brei policy plassert over ein smal avgjer resultatet uansett kva klienten presenterer. Microsoft dokumenterer vilkårs- og innstillingsmodellen i sin NPS-policyoversikt.
Gje jobben si eiga gruppe eller policyvilkår, basert på noko maskinidentiteten ber: ein sertifikatmal, ein identifikator for den kallande stasjonen eller ei adresse frå ein dedikert pool. Avgrens deretter økta med attributtar: ein Filter-Id for rolla gatewayen din kartlegg henne til, ein kort Session-Timeout slik at ein fastlåst jobb autentiserer seg på nytt i staden for å halde ei økt i dagar, og ein Framed-IP-Address frå ein pool du brannmur på den andre sida. Applikasjonsautorisasjon er halden skild: ein tunnel til ein databaseserver er ikkje løyve til å lese ein tabell i han.
Stadfest avvisingane, planlegg deretter fjerning
Tilgang som verkar, beviser ingenting om minste privilegium. Test avvisingane i staden: kople til med jobbidentiteten og prøv å nå ein destinasjon utanfor lista, opne ei andre samtidig økt viss gatewayen skal tillate berre éi, og gjer innlogginga om att etter at legitamasjonen er tilbakekalla.
Stadfest deretter den same økta på to stader. Gateway-loggen viser identiteten som autentiserte; policyserverloggen viser kva policy som svara og kva attributtar han returnerte. På OpenVPN registrerer serveren common name til sertifikatet, og ipsec statusall på strongSwan skriv ut den etablerte tunnelen med identiteten som vert brukt. Viss dei to loggane er usamde om identiteten, svarar policyen til noko anna enn du reknar med.
Fjerning høyrer til i designet, ikkje i ein oppryddingssprint. Skriv ned alt som skal slettast (sertifikat eller konto, gruppemedlemskap, nettverkspolicy, pooloppføring, brannmurregel på målet), og køyr det éin gong medan jobben er lett å byggje opp att.
Viss du startar i dag, arbeid i denne rekkjefølgja: skriv ressurslista, vel identiteten med dei tre vilkåra, legg grensa i policyen, og øv på éi avvising før jobben vert sett i drift.