'n Sertifikaat wat teen 'n gedeelde owerheid valideer, het 'n toets van vertroue geslaag, nie 'n toets van lidmaatskap nie. Dié twee besluite word dikwels saamgevat omdat albei by verbindingstyd plaasvind, en die samestelling bly onsigbaar totdat iemand wat nie op 'n diens hoort nie, daarop toegelaat word. Die oplossing is nie 'n tweede owerheid nie; dit is 'n tweede besluit, per diens geneem en aangeteken waar die daemon dit lees. Hou die twee apart en die meeste verwarring in hierdie area verdwyn.

'n Vertroude ketting sê niks oor dienslidmaatskap

Twee dienste kan dieselfde uitreikhiërargie aanvaar en steeds verskillende bevolkings hê. Een skootrekenaar hoort op die eerste en mag nie die tweede bereik nie, terwyl ander kliënte van dieselfde hiërargie wel daar hoort. Om die owerheid uit daardie diens te verwyder, sou almal uitsluit wat dit wettig gebruik, so die werk is toelating eerder as vertroue.

Dit help om twee slotte op een deur te sien. Die sertifikaat maak die buitenste slot oop, en 'n per-diens besluit maak die binneste oop; nie een vervang die ander nie. 'n Diens met net die buitenste slot handhaaf glad nie lidmaatskap nie, dit verifieer bloot. Skryf albei besluite neer voordat jy iets wysig, want 'n beleid wat net in die vorm van 'n werkende verbinding bestaan, kan nie geoudit word nie. Wat volg, handel oor die binneste slot.

Maak opsionele oorheersings 'n toelatingshek

'n Kliëntkonfigurasiegids is gewoonlik 'n gerief: lêers daarin oorheers instellings vir die kliënte wat hulle noem, en 'n kliënt sonder 'n lêer loop bloot met die bediener se verstekke. Een riglyn omskep daardie gerief in 'n hek, sodat 'n ontbrekende lêer beteken die verbinding word geweier.

client-config-dir /etc/openvpn/service-a/clients
ccd-exclusive

Die gemeenskapsweergawe van OpenVPN 2.6 dokumenteer ccd-exclusive in sy handboek presies as hierdie voorwaarde, en die opsoek van die genoemde lêer berus op die effektiewe kliëntidentiteit. Ander bouwe en produkbestuurde bedieners kan verskil, so bevestig die geïnstalleerde weergawe voordat jy op dieselfde semantiek elders staatmaak.

Behandel die pad hierbo as 'n voorbeeld en kontroleer die ontplooide uitleg eerder as om 'n gids te skep wat 'n handleiding uitgedink het. Laat die bestaande sertifikaatkontroles, bedieneridentiteitskontroles en rekeningverifikasie presies soos hulle was, want die fragment voeg 'n voorwaarde by en verwyder niks. Berei die verandering voor produksie voor, aangesien 'n weiering wat op die verkeerde punt opduik soos 'n sertifikaatfout lyk en die ondersoek na die owerheid stuur. Bevestig daarna dat die logreël vir 'n geweierde kliënt die ontbrekende konfigurasielêer noem eerder as die ketting.

Een gids per diens, nie een gedeelde lys nie

Lidmaatskap behoort aan die diens wat dit handhaaf, so elke diens hou sy eie gids en sy eie lêers. Om twee dienste na een lys te wys, maak dat hulle lidmaatskap deel of iemand dit bedoel het of nie, en die gevolglike verandering is moeilik om na 'n besluit terug te spoor. Die gedeelde owerheid kan gedeeld bly; die toelatingslêers kan nie. Om hulle apart te hou beteken ook dat 'n fout in een diens nie 'n ander stilweg kan verbreed nie.

'n DEFAULT-inskrywing is die geval wat mense mislei. Dit voorsien terugvalinstellings wanneer geen genoemde lêer gevind word nie, maar dit is nie die genoemde lêer wat die hek vereis nie, so dit kan nie 'n kliënt op sy eie toelaat nie. Toets 'n kliënt wat glad geen inskrywing het nie en bevestig die weiering; as daardie kliënt toegelaat word, word die terugval toegepas en ccd-exclusive is nie in daardie geval van krag nie.

Die effektiewe identiteit bepaal watter lêer gelees word

Die opsoek gebruik die identiteit waarmee die kliënt werklik geauthentiseer het, wat gewoonlik die sertifikaat se algemene naam is. Waar die bediener ook 'n gebruikersnaam en wagwoord verifieer en daardie naam in die algemene naam in kaart bring, moet die lêer eerder met die geauthentiseerde gebruikersnaam ooreenstem. 'n Wanverhouding laat 'n gids vol geloofwaardige lêername wat nooit gekies word nie.

Lees is die ander helfte. Die daemon laat gewoonlik voorregte na die opstart val, so die verminderde rekening het leestoegang tot die gids en elke inskrywing daarin nodig. Kliënte mag nie hul eie inskrywing deur enige skryfbare pad kan skep nie, want selfdiens-toelating verydel die meganisme heeltemal. Kontroleer die monteer- en deeltoestemmings en nie net die lêermodus nie, want 'n gids wat vir een rekening gesluit lyk, kan vir 'n ander oop wees. Bevestig dan watter rekening die lopende proses werklik gebruik, eerder as watter rekening die eenheidslêer noem. Dié twee is net dieselfde wanneer niks anders hulle verander het nie.

Let afsonderlik op weiering, toelating en herroeping

Probeer 'n identiteit wat op die diens hoort en bevestig dat dit verbind. Probeer 'n geldige sertifikaat sonder 'n inskrywing en bevestig dat dit geweier word. Probeer 'n identiteit wat tot die ander diens toegelaat is en bevestig dat dit nie hier toegelaat word nie. Teken die diensinstansie en die effektiewe identiteit by elke resultaat aan, want 'n resultaat sonder daardie konteks kan deur niemand anders gereproduseer word nie.

Ontneming is 'n aparte bewerking van herroeping. Om 'n toelatingslêer te wysig, verwyder een diensbevoegdheid terwyl die identiteit oral elders geldig bly, terwyl 'n gekompromitteerde sleutel die organisasie se herroepingsreaksie nodig het. Besluit vooraf wat met sessies gebeur wat reeds op is, want nóg 'n gidswysiging nóg 'n herroepingslys beëindig hulle op sigself.

Toelating is ook net die eerste hek. Om by 'n diens aan te sluit, sê niks oor die subnetwerke, databasisse of bestuurskoppelvlakke daaragter nie, en daardie hulpbronbeleid moet op sy eie geskryf en getoets word.

Verwante artikels