2.4 KiB
SecurityContext
#kubernetes #security #słownik
Co to jest?
SecurityContext to konfiguracja bezpieczeństwa na poziomie poda lub kontenera. Definiuje jak kontener jest uruchamiany z perspektywy systemu operacyjnego.
Kluczowe pola
securityContext:
runAsNonRoot: true # Nie uruchamiaj jako root
runAsUser: 1000 # UID procesu
runAsGroup: 1000 # GID procesu
readOnlyRootFilesystem: true # Root FS tylko do odczytu
allowPrivilegeEscalation: false # Blokuj setuid/setgid
capabilities:
drop: ["ALL"] # Usuń WSZYSTKIE Linux capabilities
add: ["NET_BIND_SERVICE"] # Dodaj konkretne (opcjonalnie)
seccompProfile:
type: RuntimeDefault # Seccomp profil
Pola wyjaśnione
runAsNonRoot
Wymusza uruchomienie kontenera jako użytkownik inny niż root (UID != 0). Jeśli obraz ma USER root, pod nie wystartuje.
readOnlyRootFilesystem
System plików kontenera jest read-only. Kontener może pisać tylko do zamontowanych woluminów (/tmp, /workspace). Zapobiega modyfikacji binariów.
capabilities
Linux capabilities to granularne uprawnienia (zamiast "all-or-nothing" root):
| Capability | Opis |
|---|---|
CAP_NET_ADMIN |
Konfiguracja sieci |
CAP_SYS_ADMIN |
Operacje administracyjne |
CAP_NET_BIND_SERVICE |
Bindowanie portów < 1024 |
ALL |
Wszystkie naraz |
drop: ["ALL"] usuwa WSZYSTKIE capabilities - kontener ma minimalne uprawnienia.
seccompProfile
Seccomp (Secure Computing Mode) filtruje syscalls na poziomie kernela:
RuntimeDefault- profil domyślny containerd (blokuje niebezpieczne syscalls)Unconfined- brak filtrowaniaLocalhost- custom profil z pliku
allowPrivilegeEscalation
Blokuje mechanizmy eskalacji uprawnień:
- setuid/setgid bity na plikach
no_new_privsflag w kernelu
Użycie w Sympozium
Agent containers mają hardened SecurityContext:
SecurityContext: &corev1.SecurityContext{
ReadOnlyRootFilesystem: true,
AllowPrivilegeEscalation: false,
Capabilities: &corev1.Capabilities{
Drop: []corev1.Capability{"ALL"},
},
}
W połączeniu z NetworkPolicy i RBAC, tworzy to defense-in-depth.
Więcej: Model bezpieczeństwa Defence-in-Depth | Cykl życia Agent Pod
Powiązane: Model bezpieczeństwa Defence-in-Depth | gVisor | Kata Containers | Pod