CGroup Namespace
Last updated
Last updated
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Cgroup namespace to funkcja jądra Linux, która zapewnia izolację hierarchii cgroup dla procesów działających w obrębie namespace. Cgroups, skrót od control groups, to funkcja jądra, która pozwala organizować procesy w hierarchiczne grupy w celu zarządzania i egzekwowania ograniczeń na zasoby systemowe takie jak CPU, pamięć i I/O.
Chociaż cgroup namespaces nie są oddzielnym typem namespace, jak inne, o których rozmawialiśmy wcześniej (PID, mount, network itp.), są związane z koncepcją izolacji namespace. Cgroup namespaces wirtualizują widok hierarchii cgroup, tak że procesy działające w obrębie cgroup namespace mają inny widok hierarchii w porównaniu do procesów działających w hoście lub innych namespace.
Gdy tworzony jest nowy cgroup namespace, zaczyna się od widoku hierarchii cgroup opartego na cgroup procesu tworzącego. Oznacza to, że procesy działające w nowym cgroup namespace będą widziały tylko podzbiór całej hierarchii cgroup, ograniczony do poddrzewa cgroup zakorzenionego w cgroup procesu tworzącego.
Procesy w obrębie cgroup namespace będą widziały swoją własną cgroup jako korzeń hierarchii. Oznacza to, że z perspektywy procesów wewnątrz namespace, ich własna cgroup pojawia się jako korzeń, a one nie mogą widzieć ani uzyskiwać dostępu do cgroups poza swoim własnym poddrzewem.
Cgroup namespaces nie zapewniają bezpośrednio izolacji zasobów; zapewniają jedynie izolację widoku hierarchii cgroup. Kontrola i izolacja zasobów są nadal egzekwowane przez subsystemy cgroup (np. cpu, pamięć itp.) same w sobie.
Aby uzyskać więcej informacji na temat CGroups, sprawdź:
Mountując nową instancję systemu plików /proc
, używając parametru --mount-proc
, zapewniasz, że nowa przestrzeń montowania ma dokładny i izolowany widok informacji o procesach specyficznych dla tej przestrzeni.
Również, możesz wejść do innej przestrzeni procesów tylko jeśli jesteś rootem. I nie możesz wejść do innej przestrzeni bez deskryptora wskazującego na nią (jak /proc/self/ns/cgroup
).
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)