Verkkosivusto vastaa portissa 443, VPN vastaa portissa 1194, palomuuri sallii täsmälleen ne kaksi ja katselmus menee läpi. Mikään tuossa järjestyksessä ei kysynyt, mitä verkkotyöntekijä voi lukea tai mitä tiedostoja se voi kirjoittaa uudelleen. Vaarantunut työntekijä ei tarvitse avointa porttia, jos se voi tavoittaa hallintasocketin tai kirjoitettavan asetushakemiston. Raja on valta, ja kuuntelijat ovat vain se osa, joka on helppo nähdä.

Erillinen palvelunimi on tarra; erillinen identiteetti on turvaominaisuus.

Laske työntekijän valta, älä portteja

Aloita suorituskäyttäjästä, sen ryhmistä, sen kyvyistä ja sen tiedostojärjestelmänäkymästä. Palvelutili, joka sattuu kuulumaan VPN-ryhmään, voi lukea avainmateriaalia ilman yhtään avointa porttia. Kirjoitettavat liitokset ovat toinen puoli: lataukset ja välimuistit pitäisi pitää kaukana käytäntötiedostoista ja salaisuuksista, ja tarpeettomasti jaettu kirjoitettava hakemisto tekee siistin nimeämisen tyhjäksi. Tarkista prosessi, joka suorittaisi toimenpiteen, koska etuoikeutettu vanhempi ja etuoikeudettomat työntekijät eivät jaa yhtä valtaa.

Se, että VPN-avain on luettavissa daemonin käynnistyessä, ei tarkoita, että verkkotyöntekijä tarvitsee sitä. Erota daemonin tekemä luku sovellukselle myönnettävästä pääsystä.

Socketit, jotka antavat enemmän kuin näyttävät

Jotkin päätepisteet ovat hallinnollisia API:ita metriikkasyötön asussa. VPN:n hallintaliittymä voi vaihtaa istuntoja, katkaista asiakkaita ja lukea tilaa. Konttien suoritusympäristön socket on vielä laajempi: pääsy siihen on käytännössä isännän hallintaa, paljon enemmän kuin verkkosovellus tarvitsee. Kumpikaan ei kuulu tavallisen sovelluksen liitosjoukkoon, eikä kumpikaan näy, kun lasket kuuntelevia portteja.

Hallintakuuntelijan sitominen paikalliseen osoitteeseen on alku, ei täydellinen rajoitus, koska jokainen sisääntuloreitti tuohon osoitteeseen on yhä merkitsevä. Salli vain aiottu lähteet ja liittymät.

Kontit jakavat yhden ytimen

Kontit lisäävät prosessi-, tiedostojärjestelmä- ja verkkorajat, ja ne jakavat yhden ytimen isännän kanssa. Se tekee kykyvalinnoista, isännän liitoksista ja daemonin pääsystä ratkaisevia: isännän salaisuuksien liittäminen tai etuoikeutetun suoritusympäristön hallinnan myöntäminen pyyhkii pois rajan, jota kontin tarra vihjaa. Erilliset VM:t antavat todella erilliset vierasytimet, kun taas hypervisor, hallinnolliset identiteetit, tallennus ja varmuuskopiot pysyvät jaettuina. Valitse raja, jonka määrityksellä ja päivityksillä on nimetty omistaja.

Monimutkaisempi järjestely, jota kukaan ei ylläpidä, on huonompi kuin yksinkertainen, jota todella katselmoidaan.

Testaa kielto ja sitten palvelu

Käytä hyväksyttyjä tarkistuksia työntekijän todellisessa kontekstissa vahvistaaksesi, ettei se voi muuttaa VPN-käytäntöä, lukea tarpeettomia salaisuuksia tai koskea hallintaliittymään. Onnistunut luku ylläpitäjänä ei testaa tuosta kiellosta mitään. Tarkista sitten verkkosivusto, tavallinen sallittu VPN-toiminto ja mitä kummallekin tapahtuu uudelleenkäynnistyksessä. Säilytä palautumispolku, joka ei riipu VPN:n korjaamisesta, jotta virhe pysyy korjattavana.

Molemmat roolit jakavat yhä CPU:n, muistin, ylälinkin kapasiteetin ja huoltotapahtumat. Ne jaetut resurssit kuuluvat suunnitelmaan, vaikka valtaraja olisi puhdas.

Kirjaa, mitä kukin prosessi voi tehdä, mikä epäonnistuu jos se pysähtyy, ja mikä raja pysyy jaettuna. Porttien lukumäärä ei ole se kirjaus.

Aiheeseen liittyvät artikkelit