Web odpovídá na 443, VPN odpovídá na 1194, firewall propouští přesně tyto dva a kontrola projde. Nic v této posloupnosti se neptalo, co webový pracovník může číst nebo které soubory může přepsat. Kompromitovaný pracovník nepotřebuje otevřený port, pokud se dostane ke kontrolnímu socketu nebo k zapisovatelnému adresáři konfigurace. Hranice je pravomoc a posluchači jsou jen ta část, kterou je snadné vidět.

Samostatný název služby je štítek; samostatná identita je bezpečnostní vlastnost.

Počítejte pravomoci pracovníka, ne porty

Začněte uživatelem běhu, jeho skupinami, jeho schopnostmi a jeho pohledem na souborový systém. Servisní účet, který náhodou patří do skupiny VPN, může číst klíčový materiál, aniž by byl otevřený jediný port. Zapisovatelná připojení jsou druhá polovina: nahrávání a mezipaměti mají být daleko od souborů zásad a tajemství a zbytečně sdílený zapisovatelný adresář kazí úhledné pojmenování. Zkontrolujte proces, který by operaci provedl, protože privilegovaný rodič a neprivilegovaní pracovníci nesdílejí jednu pravomoc.

To, že je klíč VPN čitelný při startu démona, neznamená, že ho webový pracovník potřebuje. Oddělte čtení, které provádí démon, od přístupu, který dostává aplikace.

Sockety, které dávají víc, než se zdá

Některé koncové body jsou administrativní API v kostýmu toku metrik. Rozhraní pro správu VPN může měnit relace, odpojovat klienty a číst stav. Socket kontejnerového běhového prostředí je ještě širší: přístup k němu je fakticky kontrola hostitele, daleko za potřebami webové aplikace. Ani jedno nepatří do sady připojení běžné aplikace a ani jedno se neobjeví, když počítáte naslouchající porty.

Připoutání administrativního posluchače k místní adrese je začátek, ne úplné omezení, protože na každé vstupní cestě k této adrese stále záleží. Povolte jen zamýšlené zdroje a rozhraní.

Kontejnery sdílejí jedno jádro

Kontejnery přidávají hranice procesu, souborového systému a sítě a sdílejí jedno jádro s hostitelem. To činí volby schopností, připojení hostitele a přístup k démonu rozhodujícími: připojení tajemství hostitele nebo udělení privilegované kontroly běhového prostředí maže hranici, kterou štítek kontejneru naznačuje. Samostatné VM skutečně dávají samostatná hostovská jádra, zatímco hypervisor, administrativní identity, úložiště a zálohy zůstávají sdílené. Vyberte hranici, jejíž konfigurace a aktualizace mají jmenovaného vlastníka.

Složitější uspořádání, které nikdo neudržuje, je horší než jednoduché, které se skutečně kontroluje.

Otestujte odepření, pak službu

Použijte schválené kontroly v reálném kontextu pracovníka k potvrzení, že nemůže měnit zásady VPN, číst nepotřebná tajemství ani se dotknout rozhraní pro správu. Úspěšné čtení jako správce nic o tomto odepření neověří. Poté ověřte web, běžnou povolenou operaci VPN a co se s každým stane při restartu. Zachovejte cestu obnovy, která nezávisí na opravě VPN, aby chyba zůstala opravitelná.

Obě role stále sdílejí CPU, paměť, kapacitu vzestupného spoje a události údržby. Tyto sdílené zdroje patří do plánu, i když je hranice pravomocí čistá.

Zaznamenejte, co každý proces může dělat, co selže, když se zastaví, a která hranice zůstává sdílená. Počet portů takovým záznamem není.

Související články