Linux Namespace, Capability ve seccomp - Container Gerçekte Nedir?
Container izolasyonunun namespace, capability ve seccomp katmanlarıyla nasıl kurulduğunu inceliyoruz.
Hakan E. · · Akademi

Container kernel açısından ayrı bir mini sanal makine değildir. Aynı kernel üzerinde çalışan process'ler namespace mekanizmalarıyla farklı process tree, network stack, mount point, hostname ve kullanıcı görünümü elde eder. PID namespace içindeki process kendini PID 1 olarak görebilirken host aynı process'i tamamen farklı PID ile görür.
Capabilities root yetkisini küçük parçalara böler. Bir process'e tüm root gücünü vermek yerine yalnızca ihtiyaç duyduğu capability'ler bırakılabilir. seccomp ise process'in kullanabileceği syscall setini filtreleyebilir. Böylece uygulama ele geçirilse bile saldırganın kernel'a ulaşabileceği yüzey daraltılır. Container'a root verdim ama namespace içinde diyerek huzur bulmak güvenlik modeli değildir.
Gerçek izolasyon tasarımında namespace, cgroup, capabilities, seccomp, LSM politikaları ve filesystem izinleri birlikte düşünülür. Container runtime yalnızca bunları sizin yerinize paketler. Sihir yoktur, sadece çok iyi organize edilmiş kernel özellikleri vardır.