Twee ontwerpe dek byna elke onbewaakte VPN-opstelling: ’n gedeelde menslike aanmelding wat in ’n skrip gehou word, of ’n masjiensertifikaat wat aan die gasheer gebind is. Hulle faal op verskillende plekke, en dit maak meer saak as die opstellingspoed. ’n Gestoorde wagwoord breek wanneer die eienaar dit verander of vertrek; ’n sertifikaat breek wanneer dit verval of wanneer die gasheer herbou word sonder die sleutel. Drie voorwaardes bepaal watter koste jy kan dra, en nie een van die ontwerpe beperk enigiets voordat die magtigingsbeleid dit doen nie.

Begin by die taak, nie by die rekening nie

Die taak definieer die grens: watter bestemmings, watter dienste, watter ure, hoe lank ’n sessie mag duur. ’n Tonnelroete is net die helfte van daardie grens. Die poort bepaal of die sessie toegelaat word; die hulpbron agter dit bepaal wat die sessie kan doen. Skryf eers die lys neer, met ’n genoemde eienaar, want albei identiteitsontwerpe moet dit bevredig.

Hou verifikasie en magtiging apart terwyl jy dit neerskryf. Verifikasie antwoord wie konnekteer; magtiging antwoord wat die sessie daarna mag bereik. RADIUS dra die tweede deel as eienskappe soos Filter-Id, Framed-IP-Address, Session-Timeout en Class, en die poort heg dit aan sodra die aanmelding slaag. ’n Ontwerp wat die aanmelding omruil en magtiging alleen laat, het niks beperk nie.

Gedeelde menslike aanmelding: die wagwoord word die grens

Om ’n menslike rekening te hergebruik is die vinnigste pad en die een wat die ergste verouder. Die geloofsbrief is ’n wagwoord, so dit beland in ’n skrip, ’n omgewingslêer en ’n skeduleerder-konfigurasie, en elke kopie moet geroteer word. Wanneer die eienaar dit op ’n Vrydag verander, faal die taak by die volgende lopie en niemand hou dop nie.

MFA is waar hierdie ontwerp gewoonlik ineenstort. ’n Skrip kan nie ’n push-oproep antwoord nie, so die rekening word van die beleid uitgesluit, en dit is juis die rekening wat ’n aanvaller sou kies. Uitsonderings, vertroude-ligging-omseilings en per-rekening-vrystellings vermeerder, en nie een daarvan is sigbaar vir die volgende persoon wat die huurder-instellings lees nie.

Toeskrywing is die ander koste. Elke sessie in die poortlog dra dieselfde gebruikersnaam, so die nagtelike sinchronisasie kan nie van die werk van die persoon wat dit geskryf het onderskei word nie, en die intrek van die taak beteken die intrek van daardie persoon.

Masjiensertifikaat: identiteit gebind aan die gasheer

’n Sertifikaat verander die vraag van wat die rekening weet na wat die gasheer is. Met EAP-TLS wys die kliënt ’n sertifikaat en bewys besit van die ooreenstemmende private sleutel; die beleidbediener karteer die onderwerp of die rekenaarrekenning na ’n groep en pas die beleid vir daardie groep toe. Geen oproep nie, geen gedeelde geheim wat in ’n tekslêer sit nie.

Die grens wat dit skep, is smaller as wat mense verwag. ’n Sertifikaat verifieer die gasheer, nie die taak nie, en enigiemand met root- of plaaslike administrateurregte kan daardie sleutel op daardie gasheer gebruik. Hou die sleutel waar die platform dit beskerm: nie-uitvoerbaar in die Windows-sertifikaatstoord, TPM-gedra waar die profiel dit toelaat, of ’n root-besitte 0600-lêer op Linux. Kompromittering van die gasheer is kompromittering van die geloofsbrief.

Verval is die herhalende fout. ’n Sertifikaat wat op ’n Sondag verval, stop die taak op Sondag, en die poort rapporteer gewoonlik ’n generiese verifikasiefout eerder as om die datum te noem. Kontroleer die datums vanaf die taakgasheer as deel van die runbook:

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

Herroeping benodig ’n pad wat die poort nagaan. OpenVPN lees ’n CRL deur die crl-verify-opsie, en strongSwan hang af van CRL of OCSP na gelang van hoe die verbindingsprofiel gebou is. As nie een van die twee gekoppel is nie, beteken die verwydering van ’n gasheer om te wag tot die sertifikaat verval.

Drie voorwaardes wat tussen hulle besluit

Voer die vergelyking uit teen die platform wat jy het, nie teen ’n verwysingsontwerp nie.

Eerste voorwaarde: kan die poort ’n masjienidentiteit magtig? As dit net ’n RADIUS-gebruikersnaam na ’n gidsgebruiker karteer, verifieer ’n sertifikaat die gasheer en staak dan by magtiging. Tweede voorwaarde: het die taak hulpbrontoegang nodig wat net ’n gebruikersrekening dra, soos ’n gekarteerde share of ’n lisensie per sitplek? Dan kan ’n masjienidentiteit nie vervang nie, en die eerlike antwoord is ’n toegewyde gebruikersrekening met ’n omlynde beleid. Derde voorwaarde: wie kan die geloofsbrief roteer sonder ’n persoon in die lus? Outomatiese inskrywing maak sertifikate goedkoop om te hou; ’n wagwoord wat een persoon ken, nie.

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

Lees die tabel as ’n lys koste, nie as ’n rangorde nie. Die gestoorde-geheim-kolom wen op herroepingspoed en op versoenbaarheid met hulpbronne wat net gebruikersrekeninge verstaan; die sertifikaat-kolom wen op rotasie en op die feit dat MFA nie verswak word om ’n skrip te laat werk nie.

Plaas die grens in die beleid, ná verifikasie

Watter identiteit jy ook kies, die toestemmingsgrens hoort in die beleid wat ná verifikasie loop. In NPS word netwerkbeleide in volgorde geëvalueer en die eerste beleid wat elke voorwaarde pas, pas sy instellings toe, so ’n breë beleid bo ’n noue een bepaal die uitkoms ongeag wat die kliënt voorlê. Microsoft dokumenteer die voorwaarde- en instellingsmodel in sy NPS-beleidsoorsig.

Gee vir die taak sy eie groep of beleidsvoorwaarde, gebaseer op iets wat die masjienidentiteit dra: ’n sertifikaatsjabloon, ’n oproepstasie-identifiseerder, of ’n adres uit ’n toegewyde poel. Beperk dan die sessie met eienskappe: ’n Filter-Id vir die rol waarna jou poort dit karteer, ’n kort Session-Timeout sodat ’n gestaakte taak weer verifieer eerder as om ’n sessie vir dae te hou, en ’n Framed-IP-Address uit ’n poel wat jy aan die ander kant firewall. Toepassing-magtiging bly apart: ’n tonnel na ’n databasisbediener is nie toestemming om ’n tabel binne dit te lees nie.

Verifieer weierings, beplan dan verwydering

Toegang wat werk, bewys niks oor die minste voorreg nie. Toets eerder die weierings: konnekteer met die taakidentiteit en reik na ’n bestemming buite die lys, open ’n tweede gelyktydige sessie as die poort net een bedoel is om toe te laat, en herhaal die aanmelding nadat die geloofsbrief herroep is.

Bevestig dan dieselfde sessie op twee plekke. Die poortlog wys die identiteit wat geverifieer het; die beleidbedienerlog wys watter beleid gepas het en watter eienskappe dit teruggegee het. Op OpenVPN teken die bediener die sertifikaat se algemene naam aan, en ipsec statusall op strongSwan druk die gevestigde tonnel met die identiteit in gebruik. As die twee logs oor die identiteit verskil, pas die beleid iets anders as wat jy aanneem.

Verwydering hoort in die ontwerp, nie in ’n opruimingsprint nie. Skryf alles neer wat verwyder moet word (sertifikaat of rekening, groepslidmaatskap, netwerkbeleid, poelinskrywing, firewallreël op die teiken) en voer dit een keer uit terwyl die taak maklik herbou kan word.

As jy vandag begin, werk in hierdie volgorde: skryf die hulpbronlys, kies die identiteit met die drie voorwaardes, plaas die grens in die beleid, en oefen een weiering voordat die taak in produksie gaan.

Verwante artikels