En iyi Docker görüntülerinin %19'unun kök parolası yok

Geçen Cumartesi, 18 Mayıs, Kenna Güvenlik'ten Jerry Gamblin ben test Kullandıkları root şifresine göre Docker Hub'daki en popüler 1000 görsel. Vakaların %19'unda boştu.

En iyi Docker görüntülerinin %19'unun kök parolası yok

Alp ile arka plan

Mini araştırmanın nedeni bu ayın başlarında ortaya çıkan Talos Güvenlik Açığı Raporu'ydu (TALOS-2019-0782), yazarları - Cisco Umbrella'dan Peter Adkins'in keşfi sayesinde - popüler Alpine konteyner dağıtımına sahip Docker görüntülerinin root şifresine sahip olmadığını bildirdi:

“Alpine Linux Docker görüntülerinin resmi sürümleri (v3.3'ten beri) kök kullanıcı için NULL şifresi içeriyor. Bu güvenlik açığı Aralık 2015'te uygulamaya konulan bir gerilemeden kaynaklanmıştır. Bunun özü, bir kapsayıcıda Alpine Linux'un sorunlu sürümleriyle konuşlandırılan ve Linux PAM'i veya sistem gölge dosyasını kimlik doğrulama veritabanı olarak kullanan başka bir mekanizmayı kullanan sistemlerin, kök kullanıcı için NULL parolayı kabul edebilmesidir.

Alpine'ın sorun için test ettiği Docker görüntülerinin sürümleri, Edge'in en son sürümünün yanı sıra 3.3-3.9'u da içeriyordu.

Yazarlar etkilenen kullanıcılar için aşağıdaki öneride bulundu:

“Alpine'in sorunlu sürümlerinden oluşturulan Docker görüntülerinde kök hesabın açıkça devre dışı bırakılması gerekiyor. Başarısı Linux PAM veya benzeri bir mekanizma kullanan dışarıdan iletilen bir hizmet veya uygulamayı gerektirdiğinden, bu güvenlik açığından yararlanma olasılığı çevreye bağlıdır."

Sorun şuydu: elendi Alpine sürüm 3.6.5, 3.7.3, 3.8.4, 3.9.2 ve edge'de (20190228 anlık görüntü) ve etkilenen görsellerin sahiplerinden kök içeren satırı yorumlamaları istendi. /etc/shadow veya paketin eksik olduğundan emin olun linux-pam.

Docker Hub ile devam etti

Jerry Gamblin, "kaplarda boş parola kullanma uygulamasının ne kadar yaygın olabileceğini" merak etmeye karar verdi. Bu amaçla küçük bir yazı yazdı. Bash betiğiözü çok basittir:

  • Docker Hub'daki API'ye yapılan kıvrılma isteği aracılığıyla orada barındırılan Docker görüntülerinin bir listesi istenir;
  • jq aracılığıyla alana göre sıralanır popularityve elde edilen sonuçlardan geriye ilk bin kalıyor;
  • her biri için yerine getirildi docker pull;
  • Docker Hub'dan alınan her görüntü için yürütülür docker run dosyadan ilk satırı okuyarak /etc/shadow;
  • dizenin değeri eşitse root:::0:::::, görüntünün adı ayrı bir dosyaya kaydedilir.

Ne oldu? İÇİNDE bu dosya Kök kullanıcının parola belirlemediği, Linux sistemlerindeki popüler Docker görüntülerinin adlarını içeren 194 satır vardı:

“Bu listedeki en tanınmış isimler arasında govuk/governmentpaas, hashicorp, microsoft, monsanto ve mesosfer vardı. Ve kylemanna/openvpn listedeki en popüler kapsayıcıdır; istatistiklerinin toplamı 10 milyonun üzerinde çekimdir."

Bununla birlikte, bu olgunun kendi başına onları kullanan sistemlerin güvenliğinde doğrudan bir güvenlik açığı anlamına gelmediğini hatırlamakta fayda var: her şey onların tam olarak nasıl kullanıldıklarına bağlıdır. (yukarıdaki Alp vakasındaki yoruma bakınız). Bununla birlikte, "hikayeden alınan dersi" birçok kez gördük: görünürdeki basitliğin çoğu zaman bir dezavantajı vardır ve bu her zaman hatırlanması gereken ve sonuçları teknoloji uygulama senaryolarınızda dikkate alınması gereken bir durumdur.

PS

Blogumuzda da okuyun:

Kaynak: habr.com

Yorum ekle