Web lokacija odgovara na 443, VPN odgovara na 1194, vatrozid propušta tačno ta dva, i pregled prolazi. Ništa u tom nizu nije pitalo šta web radnik može čitati ili koje datoteke može prepisati. Kompromitovani radnik ne treba otvoren port ako može doći do kontrolnog socketa ili direktorija konfiguracije u koji se može pisati. Granica je ovlaštenje, a listeneri su samo dio koji je lako vidjeti.

Odvojeno ime usluge je oznaka; odvojeni identitet je sigurnosno svojstvo.

Brojite ovlaštenja radnika, ne portove

Počnite s korisnikom izvršavanja, njegovim grupama, njegovim mogućnostima i pogledom na datotečni sistem. Servisni račun koji slučajno pripada VPN grupi može čitati ključni materijal bez ijednog otvorenog porta. Montaže u koje se može pisati su druga polovina: uploadi i keševi treba da stoje daleko od datoteka politike i tajni, a nepotrebno dijeljeni direktorij u koji se može pisati poništava uredno imenovanje. Provjerite proces koji bi izvršio operaciju, jer privilegovani roditelj i neprivilegovani radnici ne dijele isto ovlaštenje.

To što je VPN ključ čitljiv tokom pokretanja daemona ne znači da ga web radnik treba. Odvojite čitanje koje obavlja daemon od pristupa koji se daje aplikaciji.

Soketi koji daju više nego što izgledaju

Neki endpointi su administrativni API-ji u kostimu toka metrika. Upravljački interfejs VPN-a može mijenjati sesije, prekidati klijente i čitati stanje. Socket kontejnerskog runtimea je još širi: pristup njemu je u praksi kontrola hosta, daleko iznad onoga što web aplikaciji treba. Ni jedno ni drugo ne pripada setu montaža obične aplikacije, i ni jedno se ne pojavljuje kada brojite portove koji slušaju.

Vezivanje upravljačkog listenera na lokalnu adresu je početak, ne potpuno ograničenje, jer je svaki ulazni put do te adrese i dalje važan. Dozvolite samo predviđene izvore i interfejse.

Kontejneri dijele jedno jezgro

Kontejneri dodaju granice procesa, datotečnog sistema i mreže, i dijele jedno jezgro s hostom. To čini izbor mogućnosti, montaže hosta i pristup daemonu presudnim: montiranje tajni hosta ili davanje privilegovane kontrole runtimea briše granicu koju oznaka kontejnera sugerira. Odvojeni VM-ovi zaista daju odvojena gostujuća jezgra, dok hipervizor, administrativni identiteti, pohrana i sigurnosne kopije ostaju dijeljeni. Odaberite granicu čija konfiguracija i ažuriranja imaju imenovanog vlasnika.

Složeniji aranžman koji niko ne održava gori je od jednostavnog koji se zaista pregleda.

Prvo testirajte uskraćivanje, pa uslugu

Koristite odobrene provjere u stvarnom kontekstu radnika da potvrdite da ne može mijenjati VPN politiku, čitati nepotrebne tajne ni dirati upravljački interfejs. Uspješno čitanje kao administrator ne testira ništa u vezi s tim uskraćivanjem. Zatim provjerite web lokaciju, običnu dozvoljenu VPN operaciju i šta se sa svakom dešava pri ponovnom pokretanju. Sačuvajte put oporavka koji ne zavisi od popravke VPN-a, da greška ostane popravljiva.

Obje uloge i dalje dijele CPU, memoriju, kapacitet uzlaznog linka i događaje održavanja. Ti dijeljeni resursi pripadaju planu čak i kada je granica ovlaštenja čista.

Zabilježite šta svaki proces može raditi, šta pada ako se zaustavi i koja granica ostaje dijeljena. Brojanje portova nije taj zapis.

Povezani članci