chroot ve seccomp
Kısaca: chroot bir süreç için görünürdeki kök dizini değiştirir, seccomp ise hangi sistem çağrılarını çalıştırabileceğini sınırlar. İkisi de konteynerlerin ve sandbox’ların yapı taşlarıdır.
Biraz daha ayrıntılı: Birbirini tamamlarlar: biri görünen dosyaları, diğeri çekirdeğe karşı izin verilen yetenekleri kısıtlar.
Ayrıntılı
- chroot:
chroot /yeni/kok program, programın/yeni/kok’u/olarak görmesini sağlar. Canlı bir sistemden onarımlar ve derleme ortamları için kullanışlı. - chroot’un sınırı: Kendi başına bir güvenlik mekanizması değildir. Root haklarıyla bir süreç kaçabilir. Konteynerler bu yüzden ek olarak ad alanları (namespace) kullanır.
- seccomp: Bir filtre (seccomp-bpf) tek tek sistem çağrılarına izin verir veya yasaklar ya da yasak olana rastlayınca süreci öldürür.
- Kullanım: Tarayıcı sandbox’ları, Docker’ın varsayılan profili, systemd (
SystemCallFilter=). - İlke:
openvereadgerektiren,ptraceveyamountgerektirmez. Bu, en az yetki ilkesine uyar.
Ayrıca bak: Docker