Firewall medzi portmi nie je hranica hostiteľa
Dva otvorené porty a jedno pravidlo firewallu vynechávajú to podstatné: čo webový pracovník môže čítať a ovládať. Testujte odmietnutie, nielen službu.
Web odpovedá na 443, VPN odpovedá na 1194, firewall prepúšťa presne tieto dva a kontrola prejde. Nič v tomto slede sa nepýtalo, čo webový pracovník môže čítať alebo ktoré súbory môže prepísať. Kompromitovaný pracovník nepotrebuje otvorený port, ak sa dokáže dostať k riadiacemu socketu alebo k zapisovateľnému adresáru konfigurácie. Hranicou je oprávnenie a poslucháči sú len tá časť, ktorú je ľahké vidieť.
Samostatný názov služby je štítok; samostatná identita je bezpečnostná vlastnosť.
Počítajte oprávnenia pracovníka, nie porty
Začnite používateľom behu, jeho skupinami, jeho schopnosťami a jeho pohľadom na súborový systém. Servisný účet, ktorý náhodou patrí do skupiny VPN, môže čítať kľúčový materiál bez jediného otvoreného portu. Zapisovateľné pripojenia sú druhá polovica: nahrávanie a medzipamäte majú byť ďaleko od súborov politiky a tajomstiev a zbytočne zdieľaný zapisovateľný adresár kazí úhľadné pomenovanie. Skontrolujte proces, ktorý by operáciu vykonal, pretože privilegovaný rodič a neprivilegovaní pracovníci nezdieľajú jedno oprávnenie.
To, že je kľúč VPN čitateľný pri štarte démona, neznamená, že ho webový pracovník potrebuje. Oddeľte čítanie, ktoré vykonáva démon, od prístupu, ktorý dostáva aplikácia.
Sockety, ktoré dávajú viac, než sa zdá
Niektoré koncové body sú administratívne API v kostýme toku metrík. Rozhranie na správu VPN môže meniť relácie, odpájať klientov a čítať stav. Socket behového prostredia kontajnerov je ešte širší: prístup k nemu je fakticky kontrola hostiteľa, ďaleko za potrebami webovej aplikácie. Ani jedno nepatrí do sady pripojení bežnej aplikácie a ani jedno sa neobjaví, keď počítate počúvajúce porty.
Pripojenie administratívneho poslucháča k miestnej adrese je začiatok, nie úplné obmedzenie, pretože na každej vstupnej ceste k tejto adrese stále záleží. Povoľte len zamýšľané zdroje a rozhrania.
Kontajnery zdieľajú jedno jadro
Kontajnery pridávajú hranice procesu, súborového systému a siete a zdieľajú jedno jadro s hostiteľom. To robí rozhodujúcimi voľby schopností, pripojenia hostiteľa a prístup k démonovi: pripojenie tajomstiev hostiteľa alebo udelenie privilegovanej kontroly behu vymazáva hranicu, ktorú naznačuje štítok kontajnera. Samostatné VM skutočne dávajú samostatné hosťovské jadrá, kým hypervisor, administratívne identity, úložisko a zálohy zostávajú zdieľané. Vyberte hranicu, ktorej konfigurácia a aktualizácie majú pomenovaného vlastníka.
Zložitejšie usporiadanie, ktoré nikto neudržiava, je horšie ako jednoduché, ktoré sa skutočne kontroluje.
Otestujte odmietnutie, potom službu
Použite schválené kontroly v reálnom kontexte pracovníka na potvrdenie, že nemôže meniť politiku VPN, čítať nepotrebné tajomstvá ani sa dotknúť rozhrania na správu. Úspešné čítanie ako správca nič neoverí o tomto odmietnutí. Potom overte web, bežnú povolenú operáciu VPN a čo sa s každou stane pri reštarte. Zachovajte cestu obnovy, ktorá nezávisí od opravy VPN, aby chyba zostala opraviteľná.
Obe roly stále zdieľajú CPU, pamäť, kapacitu vzostupného spoja a udalosti údržby. Tieto zdieľané zdroje patria do plánu, aj keď je hranica oprávnení čistá.
Zaznamenajte, čo môže robiť každý proces, čo zlyhá, keď sa zastaví, a ktorá hranica zostáva zdieľaná. Počet portov nie je taký záznam.