A 19% legnépszerűbb Docker-képben nincs jelszó a root számára.

A múlt szombaton, május 18-án, Jerry Gamblin a Kenna Security-től ellenőrizte a Docker Hub-on elérhető 1000 legnépszerűbb képet a használt root felhasználói jelszó alapján. A legtöbbször, 19% esetben, az üres volt.

A 19% legnépszerűbb Docker-képben nincs jelszó a root számára.

Az Alpine háttér

A mini-kutatás okát az ezen a hónapon megjelent Talos Vulnerability Report adta (TALOS-2019-0782), melynek szerzői, Peter Adkins a Cisco Umbrella-tól, arról számoltak be, hogy a Docker képek népszerű Alpine Linux disztribúciója nem tartalmaz jelszót a root felhasználóhoz:

„A hivatalos Alpine Linux Docker képek (3.3-as verziótól kezdődően) NULL jelszót tartalmaznak a root felhasználóhoz. Ez a sebezhetőség egy 2015 decemberében bemutatott regressziónak köszönhető. Lényege, hogy azok a rendszerek, amelyeket problémás Alpine Linux verziók alapján telepítettek konténerekbe, és Linux PAM-ot vagy más olyan mechanizmust használnak, amely a shadow rendszerfájlt használja az azonosításhoz, NULL (üres) jelszót fogadhatnak el a root felhasználóhoz.”

A problémás Alpine Docker képeket a 3.3—3.9 közötti verziók, valamint az utolsó edge kiadás azonosította.

A szerzők a következő ajánlást tették a problémás felhasználóknak:

„A root fióknak egyértelműen ki kell lennie kapcsolva a problémás Alpine verziók alapján készült Docker képekben. A sebezhetőség kihasználása a környezettől függ, mivel a sikerhez egy, a külvilág felé megnyitott szolgáltatásra vagy alkalmazásra van szükség, amely Linux PAM-ot vagy más hasonló mechanizmust használ.”

A probléma eliminates az Alpine 3.6.5, 3.7.3, 3.8.4, 3.9.2 és edge (20190228 snapshot) verzióiban, a problémás küllemben lévő képek tulajdonosainak pedig azt javasolták, hogy kommentezzék ki a root sorát a /etc/shadow vagy győződjenek meg arról, hogy a linux-pam.

csomag nincs telepítve.

Folytatás a Docker Hub-ra Bash-scriptJerry Gamblin kíváncsi volt arra, „mennyire elterjedt lehet a null jelszavak használata a konténerekben”. Ennek érdekében írt egy kicsit

  • , amelynek lényege nagyon egyszerű:
  • curl kérés segítségével lekéri a Docker Hub-on található képek listáját; jq segítségével a listát rendezni kell anépszerűség
  • szerint, míg az így kapott eredmények közül az első ezret megtartják; docker pull;
  • minden egyes képnél végrehajtásra kerül docker run a Docker Hub-ból kapott képek egyikén olvasva az első sort; /etc/shadow;
  • ha az érték egyenlő root:::0:::::, a kép neve egy külön fájlba kerül mentésre.

Mi született tehát? A fájlban Kiderült, hogy 194 népszerű Docker-kép található Linux rendszerekkel, ahol a root felhasználónak nincs beállított jelszava:

„A lista legnevesebb nevei között szerepel a govuk/governmentpaas, hashicorp, microsoft, monsanto és mesosphere. A kylemanna/openvpn pedig a legnépszerűbb konténer a listán, melynek statisztikái szerint több mint 10 millió letöltés történt.”

Érdemes emlékeztetni arra, hogy ez a jelenség önmagában nem jelent közvetlen biztonsági sebezhetőséget a rendszerekben, amelyek használják őket: minden attól függ, hogy pontosan hogyan alkalmazzák őket. (lásd a fent említett Alpine esetre vonatkozó megjegyzést)Mindazonáltal a történet tanulságát már sokszor láttuk: a látszólagos egyszerűség gyakran rendelkezik hátrányos oldallal, amelyre mindig érdemes figyelni, és amelynek következményeit figyelembe kell venni a technológia alkalmazásában.

P.S.

Olvasson további információkat a blogunkban:

Forrás: habr.com

Megbízható hosting vásárlása weboldalak számára, DDoS védelemmel, VPS VDS szerverek. 🔥 Megbízható webtárhely vásárlása DDoS védelemmel, VPS VDS szerverek | ProHoster