A Kubernetes messze a legnépszerűbb felhőtároló rendszerré vált. Tehát valójában csak idő kérdése volt, amíg felfedezték első nagyobb biztonsági hibáját.
És így is volt, mert nemrégiben A Kubernetes első jelentős biztonsági hibáját a CVE-2018-1002105 alatt hozták nyilvánosságra, más néven a privilégium eszkalációs kudarca.
Ez a Kubernetes fő hiba problémát jelent, mivel ez egy kritikus CVSS 9.8 biztonsági lyuk. Az első nagyobb Kubernetes biztonsági hiba esetén.
A hiba részletei
Egy speciálisan kialakított kérési hálózaton keresztül bármely felhasználó létrehozhat kapcsolatot az alkalmazás programozási felület kiszolgálóról (API) Kubernetes egy háttérszerverhez.
Miután létrejött, a támadó önkényes kéréseket küldhet a hálózati kapcsolaton keresztül közvetlenül annak a háttérprogramnak amelyben a cél mindig az a szerver.
Ezeket a kéréseket a TLS hitelesítő adatokkal hitelesítik (Transport Layer Security) a Kubernetes API szerverről.
Még ennél is rosszabb, hogy az alapértelmezett konfigurációban minden felhasználó (hitelesítve vagy nem) futtathat olyan API-felfedezési hívásokat, amelyek lehetővé teszik ezt a privilégiumterjesztést a támadó által.
Így aztán bárki, aki ismeri ezt a lyukat, megragadhatja az alkalmat, hogy átvegye Kubernetes-klaszterének irányítását.
Jelenleg nincs egyszerű módszer annak felismerésére, hogy ezt a biztonsági rést korábban használták-e.
Mivel a jogosulatlan kérelmek létrehozott kapcsolaton keresztül történnek, nem jelennek meg a Kubernetes API kiszolgáló naplójában vagy a kiszolgáló naplójában.
A kérések megjelennek a kubelet naplókban vagy az összesített API-kiszolgálón, de a Kubernetes API kiszolgálón keresztül megkülönböztetik őket a megfelelően engedélyezettektől és a proxy kérelmektől.
Visszaélés a Kubernetes új biztonsági rése nem hagyna nyilvánvaló nyomokat a naplókban, így most, hogy a Kubernetes hibája lelepleződik, csak idő kérdése, amíg felhasználják.
Más szavakkal, Red Hat azt mondta:
A privilégium eszkalációs hibája lehetővé teszi, hogy minden illetéktelen felhasználó teljes rendszergazdai jogosultságot szerezzen a Kubernetes podban futó bármely csomóponton.
Ez nem csak lopás vagy rosszindulatú kód beinjektálásának megnyitása, hanem csökkentheti az alkalmazás és a termelési szolgáltatásokat is a szervezet tűzfalon belül.
Bármely program, így a Kubernetes is, sebezhető. A Kubernetes forgalmazók már kiadják a javításokat.
A Red Hat jelentése szerint az összes Kubernetes-alapú termékét és szolgáltatását, beleértve a Red Hat OpenShift Container Platformot, a Red Hat OpenShift Online-ot és a Red Hat OpenShift Dedicated-t, ez érinti.
A Red Hat javításokat és szolgáltatásfrissítéseket kezdett nyújtani az érintett felhasználóknak.
Amennyire ismeretes, még senki nem használta a biztonsági rést támadásra. Darren Shepard, a Rancher laboratóriumának főépítésze és társalapítója felfedezte a hibát, és a Kubernetes sebezhetőségi jelentési folyamata segítségével jelentette.
Hogyan lehet kijavítani ezt a hibát?
Szerencsére ennek a hibának a javítása már megjelent.. Amelyben csak felkérést kapnak Kubernetes frissítés végrehajtására így kiválaszthatják a Kubernetes javított verzióinak v1.10.11, v1.11.5, v1.12.3 és v1.13.0-RC.1 változatát.
Tehát, ha továbbra is a Kubernetes v1.0.x-1.9.x verziókat használja, akkor ajánlott frissíteni egy fix verzióra.
Ha valamilyen oknál fogva nem tudják frissíteni a Kubernetes-t és meg akarják állítani ezt a kudarcot, el kell végezni a következő folyamatot.
Fel kell hagynia a kiszolgáló-összesítő API használatával, vagy el kell távolítania a pod exec / attach / portforward engedélyeket azoknak a felhasználóknak, akiknek nem kellene teljes hozzáféréssel rendelkezniük a kubelet API-hoz.
Jordan Liggitt, a hibát javító Google szoftvermérnök szerint ezek az intézkedések valószínűleg károsak lesznek.
Tehát az egyetlen igazi megoldás e biztonsági hiba ellen a megfelelő Kubernetes frissítés végrehajtása.