Site-ul răspunde pe 443, VPN-ul răspunde pe 1194, firewall-ul permite exact acele două, iar revizuirea trece. Nimic din acea secvență nu a întrebat ce poate citi lucrătorul web sau ce fișiere poate rescrie. Un lucrător compromis nu are nevoie de un port deschis dacă poate ajunge la un socket de control sau la un director de configurare în care se poate scrie. Granița este autoritatea, iar ascultătorii sunt doar partea ușor de văzut.

Un nume de serviciu separat este o etichetă; o identitate separată este o proprietate de securitate.

Numărați autoritatea lucrătorului, nu porturile

Începeți cu utilizatorul de execuție, grupurile sale, capacitățile sale și vederea sa asupra sistemului de fișiere. Un cont de serviciu care aparține întâmplător unui grup VPN poate citi material de cheie fără niciun port deschis. Montările scriptibile sunt cealaltă jumătate: încărcările și cache-urile ar trebui să stea departe de fișierele de politică și de secrete, iar un director partajat scriptibil fără necesitate strică o denumire îngrijită. Verificați procesul care ar efectua operația, deoarece un părinte privilegiat și lucrători neprivilegiați nu împart o singură autoritate.

Faptul că o cheie VPN este lizibilă la pornirea daemonului nu înseamnă că lucrătorul web are nevoie de ea. Separați citirea făcută de daemon de accesul acordat aplicației.

Socket-uri care acordă mai mult decât par

Unele puncte finale sunt API administrative îmbrăcate ca flux de metrici. Interfața de administrare a VPN-ului poate schimba sesiuni, deconecta clienți și citi starea. Socket-ul mediului de execuție al containerelor este și mai larg: accesul la el este efectiv controlul gazdei, mult peste ce are nevoie o aplicație web. Niciunul nu aparține setului de montări al unei aplicații obișnuite și niciunul nu apare când numărați porturile care ascultă.

Legarea unui ascultător de administrare la o adresă locală este un început, nu o restricție completă, pentru că fiecare cale de intrare către acea adresă contează în continuare. Permiteți doar sursele și interfețele prevăzute.

Containerele împart un nucleu

Containerele adaugă granițe de proces, sistem de fișiere și rețea și împart un nucleu cu gazda. Asta face decisive alegerile de capacități, montările gazdei și accesul la daemon: montarea secretelor gazdei sau acordarea controlului privilegiat al mediului de execuție șterge granița pe care o sugerează eticheta containerului. VM-urile separate oferă într-adevăr nuclee oaspete separate, în timp ce hipervizorul, identitățile administrative, stocarea și copiile de siguranță rămân partajate. Alegeți granița a cărei configurație și actualizări au un proprietar numit.

Un aranjament mai elaborat pe care nimeni nu îl întreține este mai rău decât unul simplu care este chiar revizuit.

Testați refuzul, apoi serviciul

Folosiți verificări aprobate în contextul real al lucrătorului pentru a confirma că nu poate modifica politica VPN, citi secrete inutile sau atinge interfața de administrare. O citire reușită ca administrator nu testează nimic despre acel refuz. Apoi verificați site-ul, o operație VPN obișnuită permisă și ce se întâmplă cu fiecare la repornire. Păstrați o cale de recuperare care nu depinde de repararea VPN-ului, ca o greșeală să rămână recuperabilă.

Ambele roluri împart în continuare CPU, memorie, capacitate de uplink și evenimente de mentenanță. Acele resurse partajate fac parte din plan chiar și când granița autorității este curată.

Înregistrați ce poate face fiecare proces, ce eșuează dacă se oprește și care graniță rămâne partajată. Numărul de porturi nu este acea înregistrare.

Articole similare