Nettstaden svarar på 443, VPN svarar på 1194, brannmuren slepp nøyaktig dei to gjennom, og gjennomgangen består. Ingenting i den rekkjefølgja spurde kva webarbeidaren kan lese eller kva filer han kan skrive om. Ein kompromittert arbeidar treng ikkje ein open port dersom han kan nå ein styresocket eller ein skrivbar konfigurasjonskatalog. Grensa er myndigheit, og lyttarar er berre den delen som er lett å sjå.

Eit eige tenestenamn er ei etikett; ein eigen identitet er ein tryggleikseigenskap.

Tel myndigheita til arbeidaren, ikkje portane

Byrja med køyretidsbrukaren, gruppene hans, eigenskapane og filsystemvisinga. Ein tenestekonto som tilfeldigvis er med i ei VPN-gruppe, kan lese nøkkelmateriale utan at nokon port er open. Skrivbare monteringar er den andre halvdelen: opplastingar og cachear bør liggje langt frå policyfiler og løyndommar, og ein unødvendig delt skrivbar katalog øydelegg ryddig namngjeving. Kontroller prosessen som ville utført operasjonen, fordi ein privilegert forelder og uprivilegerte arbeidarar ikkje deler éi myndigheit.

At ein VPN-nøkkel er lesbar under oppstarten av daemonen, betyr ikkje at webarbeidaren treng han. Skil lesinga daemonen gjer, frå tilgangen applikasjonen får.

Sockets som gir meir enn dei ser ut som

Nokre endepunkt er administrative API-ar i kostyme som ein metrikkstraum. Administrasjonsgrensesnittet til VPN-et kan endre sesjonar, kople frå klientar og lese tilstand. Ein runtime-socket for containerar er endå breiare: tilgang til han er i praksis vertskontroll, langt utover det ein webapplikasjon treng. Ingen av dei høyrer til monteringssettet til ein vanleg applikasjon, og ingen av dei dukkar opp når du tel lyttande portar.

Å binde ein administrasjonslyttar til ei lokal adresse er ein start, ikkje ei fullstendig avgrensing, fordi kvar inngangsveg til den adressa framleis betyr noko. Tillat berre dei tiltenkte kjeldene og grensesnitta.

Containerar deler éin kjerne

Containerar legg til grenser for prosess, filsystem og nettverk, og dei deler éin kjerne med verten. Det gjer val av eigenskapar, vertsmonteringar og daemontilgang avgjerande: å montere vertsløyndommar eller gi privilegert runtime-kontroll viskar ut grensa containeretiketten antydar. Eigne VM-ar gir riktignok eigne gjestekjernar, medan hypervisoren, administrative identitetar, lagring og sikkerheitskopiar blir delte. Vel grensa der konfigurasjonen og oppdateringane hennar har ein namngitt eigar.

Eit meir innfløkt oppsett som ingen vedlikeheld, er dårlegare enn eit enkelt som faktisk blir gjennomgått.

Test avvisinga, deretter tenesta

Bruk godkjende kontrollar i den verkelege konteksten til arbeidaren for å stadfeste at han ikkje kan endre VPN-policy, lese unødvendige løyndommar eller røre administrasjonsgrensesnittet. Ei vellukka lesing som administrator testar ingenting om den avvisinga. Stadfest deretter nettstaden, ein vanleg tillaten VPN-operasjon, og kva som skjer med kvar av dei ved omstart. Hald på ein attopprettingsveg som ikkje er avhengig av at VPN-et blir reparert, slik at ein feil blir rettbar.

Begge rollene deler framleis CPU, minne, uplinkkapasitet og vedlikehaldshendingar. Desse delte ressursane høyrer heime i planen sjølv når myndigheitsgrensa er rein.

Skriv ned kva kvar prosess kan gjere, kva som sviktar om han stoppar, og kva grense som blir delt. Porttal er ikkje den oversikta.

Relaterte artiklar