Ana sayfa→Siber Güvenlik & Gizlilik
Siber Güvenlik & Gizlilik

Docker Varsayılan olarak Konteynerleri Kök Yetkileriyle Çalıştırıyor ve Bu Beklendenden Daha Büyük Bir Risk.

Add XDA on Google Add as Preferred Source Follow on Google Discover Bu arada, Docker'ın da kendi başlı başına bir dizi tuhaflığı var. Swarm işlevselliği...

User Avatar
Ahmet AvcıEditör
3 dk okuma

Add

XDA

on Google

SayarBilgi sitesini Google’da tercih edilen kaynak olarak seç

Add as Preferred Source

Follow on Google Discover

Running the docker network connect command in Debian
The script to run macOS inside Docker

Bu arada, Docker’ın da kendi başlı başına bir dizi tuhaflığı var. Swarm işlevselliği Kubernetes kadar güçlü değil; daemon hizmeti de belirli rakiplerin daemonless mimarisine kıyasla daha fazla kaynak tüketebilir. Yine de Docker’a dair en büyük sorunum, varsayılan olarak root düzeyinde erişimle çalışması—ki bu, rastgele GitHub depolarıyla denemeler yapmayı sevdiğiniz kadar benim gibi biriyse gerçekten bir güvenlik kabusu.

Taze bir Docker kurulumu, daemon sürecini (ve konteynerleri) root ayrıcalıklarıyla çalıştırır

Bu, hassas konteynerlerin patlama yarıçapını büyütür

          Linux dağıtımlarıyla daha önce çalıştıysanız, muhtemelen kısıtlamasız sistem erişimine sahip, root olarak adlandırılan bir yönetici hesabınız olduğunun farkındasınız. Docker’ı ilk kez kurduğunuzda, altta yatan daemon süreci olan dockerd, bu root kullanıcısına ait olan Unix soketine bağlanır. Bir konteynerin Dockerfile’ında belirli parametreleri düzenlemedikçe, dockerd’den üretilen ortamlar da root ayrıcalıklarıyla çalışır ve işte güvenlik açısından işler buradan itibaren karmaşıklaşır.

          Yeni bir çekirdek ve işletim sistemi taklit eden sanal makinelerin aksine, konteynerler çekirdeği altta yatan ana makineyle paylaşır. Bunu da dockerd daemon’unun sisteme tam anlamıyla root düzeyinde erişimiyle birleştirdiğinizde, Docker’ın rootful (root’lu) tasarımı devasa bir güvenlik kabusuna dönüşür. Diyelim ki bir konteyner görüntüsüne son güncellemede kötü amaçlı kod eklenmiş. Varsayılan bir Docker kurulumunda, bu kötü amaçlı kodun konteyner içindeki sınırlardan çıkıp ana makinenizde büyük yıkım yaratması çok daha kolay olur.

          İşte sadece kötü amaçlı kodla dolu konteyner görüntüleriyle değil, ayrıca dikkat etmeniz gereken bir durum daha var. Yanlışlıkla bir sistem dizinini bir konteynera bağlarsanız, FOSS hizmetiniz bu klasördeki kritik dosyalara tam anlamıyla süper kullanıcı erişimi kazanır. Ve altta yanan ana makineyi erişilemez hale getirmek için tek yapmanız gereken bir konteyner denemesinin başarısız olması.

          Kendi kendine barındırdığım iş istasyonlarımda köksüz (rootless) Docker kurulumlarını tercih ediyorum

          Ayrıca etkin bir şekilde de etkinleştirilebilir

          Teknik olarak, Docker denemelerinizi daha güvenli hale getirmenin birkaç yolu var. Konteynerın kök olmayan ayrıcalıklarla çalışmasını zorlamak için Dockerfile’ınızı düzenleyebilirsiniz. Ya da önceden hazırlanmış Docker görüntüleri kullananlar için, docker run veya compose.yml dosyalarında kullanıcıyı manuel olarak geçersiz kılabilirsiniz. Ancak her iki yöntem de her Docker konteyneri için aynı adımları tekrarlamayı gerektirdiğinden, bu süreç kısa süre içinde sıkıcı hale gelebilir.

          Bunun yerine, köksüz mod yoluna gitmenizi öneririm; bu aynı zamanda dockerd daemon’unun süper kullanıcı ayrıcalıklarıyla çalışmasına dair sorunu da çözer. Konteyner ve daemon, ayrıcalıksız bir kullanıcı arkasında kilitli kaldığından, bu modla arızalanan bir Docker ortamı ana makineye tam anlamıyla root erişimi sağlayamaz. Üstelik, aşağıdaki komutları çalıştırarak bunu tek seferinde etkinleştirebilir ve her yeni Docker konteynerının köksüz ayrıcalıklarla çalışmasını sağlayabilirsiniz:

          sudo apt install uidmap -ycurl -fsSL https://get.docker.com/rootless | shexport PATH=/usr/bin:$PATH

          export DOCKER_HOST=unix:///run/user/1000/docker.sock

          Bu arada, köksüz modun da kendi başına bir dizi sakıncası var

          Kişisel olarak, Docker iş istasyonlarımda köksüz konteynerları tercih ediyorum ve FOSS arsenalimdaki hizmetlerin çoğu herhangi bir sorun olmadan iyi çalışıyor. Ancak Docker ortamlarını kök olmayan ayrıcalıklarla çalıştırmak bazı küçük sorunlar doğurabilir. Bunlardan biri, köksüz bir Docker kurulumunda konteynerler için ayrıcalıklı portları eşleyememeniz—yani 1024’ün altındaki portların konteynerleştirilmiş ortamlarınız için kullanılamaz olduğu anlamına gelir. Tipik üretkenlik uygulamaları, arşivleme araçları veya yedekleme hizmetleri için büyük bir mesele değil, ancak ağ araçları tamamen farklı bir hikâye.

          Pi-hole’u örnek alalım; temel DNS hizmetleri için port 53’e erişim gerekir. Elbette, belirli yapılandırma dosyalarını düzenleyerek bunu köksüz (rootless) bir kurulum üzerinde dağıtabilirsiniz, ancak varsayılan Docker yapılandırmasında bir docker run komutu çalıştırmaktan daha kolay değildir. Ağ tarafına ek olarak, özellikle deneyleriniz OverlayFS bağlamalarını içeriyorsa, belirli depolama kısıtlamalarıyla da uğraşmanız gerekecek. Benzer şekilde, container’lar için kaynakları cgroups v2 aracılığıyla sınırlamak biraz zahmetli olabilir ve özel AppArmor profilleri için de durum böyledir.

          Ancak üretkenlik araçlarıyla, sevimli (quirky) container görüntüleriyle ve veri arşivleme araçlarıyla oynamak isteyenler için Docker’da köksüz modu etkinleştirmek iyi bir fikirdir.

          İlginizi Çekebilir: Küçük Şehirlerin Hizmet Şirketleri Yapay Zekâ Saldırıları İçin En Hassas Hedefler →
          Kaynak: XDA Developers ↗Kaynak yazarı: Ayush Pande
          🛡️ SayarBilgi Topluluğu

          Bu Gelişmeyi Toplulukta Değerlendirin

          Haber hakkındaki düşüncelerinizi, donanım deneyimlerinizi ve teknik sorularınızı topluluk üyeleriyle anlık olarak tartışın.

          🛡️ Siber Güvenlik & Gizlilik Odası →
          💬 Topluluk Masası & Tartışma

          Bu gelişme hakkında düşüncelerinizi, donanım deneyimlerinizi veya sorularınızı Topluluk Forumumuzda paylaşın.

          Foruma Katıl & Yanıtla ➔
          Forumda sor / tartış
          TOPLULUĞUN SESİ

          Söz sizde.

          0 yorum

          Deneyiminizi, sorularınızı ve katkılarınızı paylaşın. E-posta adresiniz yayımlanmaz.

          Sohbete katıl

          E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

          Yorumunuz yayımlanmadan önce onay bekleyebilir.

          BİR SONRAKİ OKUMA

          Merak etmeye devam

          Tümünü gör ↗

          Neyi merak ediyorsun?

          En az 3 karakter yazın.

          Keşfet