Puan ders bitince hesaba yazılır. Bu dersi tamamlayınca +55 XP alacaksın. Giriş yapmadan ilerlersen puan yalnız bu tarayıcıda durur.
Kaçış ve kalıcılık
Bir konteynerin içinde root olmak, ana makinede root olmak değildir. Ad alanları süreçleri ayırır, yetenek listesi ise root'un yapabileceklerini kısar. Yalıtım bu iki mekanizmayla kurulur.
Kaçış, bu mekanizmalardaki bir gevşeklikten doğar. Ayrıcalıklı kipte çalışan konteyner neredeyse tam çekirdek yetkisi alır. Bağlanmış bir yönetim soketi, konteynerin ana makinede yeni konteyner başlatmasına yol açar.
# Konteyner içinde miyim? $ ls -la /.dockerenv $ grep -E 'docker|containerd' /proc/1/cgroup # Riskli yapılandırma göstergeleri $ capsh --print | grep sys_admin $ ls -l /var/run/docker.sock
Bu iki komut ortamı hızlıca tanımlatır. /.dockerenv dosyasının varlığı ve cgroup satırındaki docker izi, çalıştığın yerin bir konteyner olduğunu doğrular. capsh çıktısı hangi yeteneklerin açık kaldığını gösterir, docker.sock dosyasının izinleri ise bu soketin konteynerden erişilebilir olup olmadığını ortaya koyar. Gerçek bir denetimde bu dört satır ilk dakikada çalıştırılır.
Yapılandırma dosyaları da aynı özenle okunur. docker-compose içinde privileged: true satırı, konteynere ana makineyle neredeyse eşit çekirdek yetkisi verir. Bu satır genelde donanıma erişmesi gereken tek bir servis için eklenir, ama kopyalanan şablonlarda diğer servislere de sessizce taşınır.