Image-ek, futtatási jogosultság, hálózati szabályok és titkok. Melyik hat beállítás adja a legnagyobb védelmet egy konténeres környezetben.
A konténer nem biztonsági határ. Ezt érdemes az elején tisztázni, mert sok döntés téves feltételezésre épül: a konténer izolációja lényegesen gyengébb, mint egy virtuális gépé, és a kitörés (container escape) valós kockázat.
Ez a lista arra fókuszál, ami a leggyakoribb hibákat lefedi.
Egy teljes disztribúciót tartalmazó alap image több száz csomagot hoz magával, saját sérülékenységekkel, amikből az alkalmazásnak egy sem kell.
latest címkévelErről a szoftverfüggőségekről szóló cikkünkben írtunk részletesen.
Alapértelmezetten a konténerben a folyamat root. Ha van kitörési sérülékenység, akkor a gazdagépen is root lesz.
runAsNonRoot: true és konkrét felhasználó megadásaallowPrivilegeEscalation: falseEz négy sor a konfigurációban, és a kitörési kockázat nagy részét lefedi.
Alapértelmezetten Kubernetesben minden pod elér minden pod-ot. Ez ugyanaz a lapos hálózat probléma, mint a hagyományos infrastruktúrában, csak kisebb léptékben.
Alapértelmezett tiltó házirend, majd névtér és alkalmazás szintjén engedélyezés. A kimenő forgalom korlátozása is fontos, mert a vezérlőcsatorna kiépítését akadályozza.
A konténerbe épített vagy környezeti változóban átadott titok több helyen látszik: az image rétegeiben, a folyamatlistában, a naplókban.
A megoldás külső titok-kezelő, ahonnan a konténer futásidőben olvassa ki. A Kubernetes beépített titok-objektuma alapértelmezetten csak base64-kódolt, nem titkosított, ezért a nyugalmi állapotú titkosítást külön be kell kapcsolni.
A Kubernetes API a legértékesebb célpont: onnan minden erőforrás elérhető.
cluster-admin mindenkinekkubeconfig fájlok kezelése ugyanolyan szigorú, mint bármely admin hitelesítő adatéAz admission controller a build és a futtatás közötti utolsó kapu: itt lehet megakadályozni, hogy privilegizált konténer, aláíratlan image vagy erőforrás-korlát nélküli pod induljon.
Először naplózó módban, hogy kiderüljön, mi bukna el, és csak utána blokkolva.
A gazdagép hardeningje. A konténer a gazdagép kernelét használja. Ha az nincs rendben, a konténer sem lesz. A Linux hardeningről szóló cikkünk itt is érvényes.
Az erőforrás-korlátok. Korlát nélkül egy elszabadult konténer az egész node-ot leviszi. Ez rendelkezésre állási és biztonsági kérdés is.
A naplózás. A konténerek rövid életűek, a naplónak túl kell élnie őket. Központi gyűjtés nélkül egy incidens után nincs mit vizsgálni.
Az IT biztonsági szolgáltatásaink között a konténeres környezetek biztonsági felülvizsgálata is szerepel.
SSH-konfiguráció, jogosultságok, szolgáltatás-minimalizálás és naplózás. Melyik nyolc lépés adja a…
A modern alkalmazás nagy része idegen kód. Hogyan tartsa nyilván, mi van benne, és mit tegyen, ha…
Nem kell teljes DevSecOps program. Melyik öt lépés adja a legnagyobb védelmet a fejlesztési folyamatban,…
Szakértőink szívesen átbeszélik, mit jelent mindez az Ön szervezetének környezetében.