Az Azure Kubernetes Service (AKS) alkalmazásainak és fürtjeinek biztonsági fogalmai

A tárolóbiztonság védi a teljes teljes folyamatot az Azure Kubernetes Service-ben (AKS) futó alkalmazás-számítási feladatokra való buildeléstől.

A biztonságos ellátási lánc tartalmazza a buildkörnyezetet és a beállításjegyzéket.

A Kubernetes biztonsági összetevőket, például podbiztonsági szabványokat és titkos kulcsokat tartalmaz. Az Azure olyan összetevőket tartalmaz, mint az Active Directory, a Microsoft Defender for Containers, az Azure Policy, az Azure Key Vault, a hálózati biztonsági csoportok és a konvenciós fürtfrissítések. Az AKS a következő biztonsági összetevőket egyesíti a következőkkel:

  • Adjon meg egy teljes hitelesítési és engedélyezési történetet.
  • Az alkalmazások védelméhez alkalmazza a beépített AKS Azure Policyt.
  • Végpontok közötti megállapítások az alkalmazáson keresztüli buildelésből a Microsoft Defender for Containers használatával.
  • Tartsa az AKS-fürtön a legújabb operációsrendszer-biztonsági frissítéseket és Kubernetes-kiadásokat.
  • Biztonságos podforgalmat és hozzáférést biztosít a bizalmas hitelesítő adatokhoz.

Ez a cikk bemutatja azokat az alapvető fogalmakat, amelyek biztosítják az alkalmazásokat az AKS-ben.

Biztonság összeállítása

Az ellátási lánc belépési pontjaként fontos, hogy statikus elemzést végezzen a rendszerkép-buildekről, mielőtt előléptetné őket a folyamaton. Ez magában foglalja a biztonsági rések és a megfelelőség értékelését. Nem arról van szó, hogy egy build meghibásodik, mert biztonsági rése van, mivel ez megszakítja a fejlesztést. A szállítói állapotnak a fejlesztői csapatok által végrehajtható biztonsági rések alapján történő szegmentálásáról van szó. A türelmi időszakok használatával a fejlesztőknek időt kell hagyniuk az azonosított problémák elhárítására.

Beállításjegyzék biztonsága

A rendszerkép biztonságirés-állapotának felmérése a beállításjegyzékben észleli a eltérést, és olyan képeket is észlel, amelyek nem a buildkörnyezetből származnak. A Jegyző V2 használatával aláírásokat csatolhat a rendszerképekhez, így meggyőződhet arról, hogy az üzembe helyezés megbízható helyről érkezik.

Fürtbiztonság

Az AKS-ben a Kubernetes fő összetevői a Microsoft által biztosított, felügyelt és karbantartott felügyelt szolgáltatás részét képezik. Minden AKS-fürt saját egybérlős, dedikált Kubernetes-főkiszolgálóval rendelkezik, amely biztosítja az API Servert, a Schedulert stb. További információ: Az Azure Kubernetes Service sebezhetőségi kezelése.

A Kubernetes API-kiszolgáló alapértelmezés szerint nyilvános IP-címet és teljes tartománynevet (FQDN) használ. Engedélyezett IP-tartományok használatával korlátozhatja az API-kiszolgáló végpontjának elérését. Létrehozhat egy teljesen privát fürtöt is, amely korlátozza az API-kiszolgáló hozzáférését a virtuális hálózathoz.

Az API-kiszolgálóhoz való hozzáférést a Kubernetes szerepköralapú hozzáférés-vezérlésével (Kubernetes RBAC) és az Azure RBAC-vel szabályozhatja. További információ: Microsoft Entra integráció az AKS-sel.

Csomópont biztonsága

Az AKS-csomópontok az Ön által felügyelt és karbantartott Azure-beli virtuális gépek (VM-ek).

  • A Linux-csomópontok az Ubuntu vagy az Azure Linux optimalizált verzióit futtatják.
  • A Windows Server-csomópontok egy optimalizált Windows Server 2019-kiadást futtatnak a Docker-tároló futtatókörnyezetével containerd .

Az AKS-fürt létrehozásakor vagy vertikális felskálázásakor a csomópontok automatikusan üzembe lesznek helyezve a legújabb operációsrendszer-biztonsági frissítésekkel és konfigurációkkal.

Feljegyzés

Futó AKS-fürtök:

  • A Kubernetes 1.19-es és újabb verziója – A Linux-csomópontkészletek tároló-futtatókörnyezetként használják containerd . A Windows Server 2019-csomópontkészletek tároló-futtatókörnyezetként használják containerd , amely jelenleg előzetes verzióban érhető el. További információ: Windows Server-csomópontkészlet hozzáadása a következővel containerd: .
  • Kubernetes 1.19-es és korábbi verzió – A Linux-csomópontkészletek a Dockert használják tároló-futtatókörnyezetként. A Windows Server 2019 csomópontkészletek a Dockert használják az alapértelmezett tároló-futtatókörnyezethez.

A Linux- és Windows-feldolgozó csomópontok biztonsági frissítési folyamatáról további információt a Biztonsági javítás csomópontok című témakörben talál.

Az Azure 2. generációs virtuális gépeket futtató AKS-fürtök támogatják a megbízható indítást (előzetes verzió), amely védelmet nyújt a fejlett és állandó támadási technikák ellen az egymástól függetlenül engedélyezhető technológiák, például a megbízható platformmodul (vTPM) biztonságos rendszerindítási és virtualizált verziójának kombinálásával. Rendszergazda istratorok ellenőrzött és aláírt rendszerindítókkal, operációsrendszer-kernelekkel és illesztőprogramokkal rendelkező AKS-feldolgozó csomópontokat helyezhetnek üzembe a mögöttes virtuális gép teljes rendszerindítási láncának integritásának biztosítása érdekében.

Csomópont-engedélyezés

A csomópont-engedélyezés egy speciális célú engedélyezési mód, amely kifejezetten engedélyezi a Kubelet API-kéréseket a kelet-nyugati támadások elleni védelem érdekében. A csomópont-engedélyezés alapértelmezés szerint engedélyezve van az AKS 1.24+ fürtökön.

Csomópont üzembe helyezése

A csomópontok egy privát virtuális hálózati alhálózatra vannak üzembe helyezve, amelyhez nincs hozzárendelve nyilvános IP-cím. Hibaelhárítási és felügyeleti célokra az SSH alapértelmezés szerint engedélyezve van, és csak a belső IP-címmel érhető el. Az SSH letiltása a fürt- és csomópontkészlet létrehozásakor, illetve egy meglévő fürt vagy csomópontkészlet létrehozásakor előzetes verzióban érhető el. További információt az SSH-hozzáférés kezelése című témakörben talál.

Csomópont-tároló

A tárolás biztosításához a csomópontok Azure Managed Disk-eket használnak. A legtöbb virtuálisgép-csomópontméret esetében az Azure Managed Disks a nagy teljesítményű SSD-k által támogatott prémium szintű lemezek. A felügyelt lemezeken tárolt adatok automatikusan titkosítva lesznek az Azure-platform inaktív állapotában. A redundancia javítása érdekében az Azure-beli felügyelt lemezek biztonságosan replikálódnak az Azure-adatközpontban.

Ellenséges több-bérlős számítási feladatok

A Kubernetes-környezetek jelenleg nem biztonságosak az ellenséges, több-bérlős használathoz. Az olyan további biztonsági funkciók, mint a Pod biztonsági szabályzatok vagy a Kubernetes RBAC a csomópontokhoz, hatékonyan blokkolják a kihasználtságokat. Az ellenséges több-bérlős számítási feladatok futtatásakor a valódi biztonság érdekében csak egy hipervizorban bízzon meg. A Kubernetes biztonsági tartománya a teljes fürt lesz, nem pedig egy egyedi csomópont.

Az ilyen típusú ellenséges több-bérlős számítási feladatokhoz fizikailag izolált fürtöket kell használnia. A számítási feladatok elkülönítésének módjairól további információt az AKS-ben a fürtelkülönítés ajánlott eljárásaiban talál.

Izolált számítási kapacitás

A megfelelőségi vagy szabályozási követelmények miatt bizonyos számítási feladatokhoz magas fokú elkülönítésre lehet szükség más ügyfél-számítási feladatoktól. Ezekhez a számítási feladatokhoz az Azure a következőt biztosítja:

  • Az AKS-fürtök ügynökcsomópontjaiként használandó kerneltárolók . Ezek a tárolók teljesen el vannak különítve egy adott hardvertípushoz, és elkülönítve vannak az Azure Host Fabrictől, a gazdagép operációs rendszerétől és a hipervizortól. Egyetlen ügyfélnek vannak szentelve. Az AKS-fürt létrehozásakor vagy csomópontkészlet hozzáadásakor válassza ki az izolált virtuális gépek egyik méretét csomópontméretként.
  • A bizalmas tárolók (előzetes verzió) szintén a Kata Bizalmas tárolók szolgáltatáson alapulnak, titkosítják a tárolómemóriát, és megakadályozzák, hogy a számítások során a memóriában lévő adatok egyértelmű szövegben, olvasható formátumban és illetéktelen módosítással legyenek kezelve. Segít elkülöníteni a tárolókat más tárolócsoportoktól/podoktól, valamint a virtuálisgép-csomópont operációs rendszer kernelétől. A bizalmas tárolók (előzetes verzió) hardveralapú memóriatitkosítást (Standard kiadás V-SNP) használnak.
  • A Pod-tesztkörnyezet (előzetes verzió) elkülönítési határt biztosít a tárolóalkalmazás és a tárológazda megosztott kernel- és számítási erőforrásai (CPU, memória és hálózat) között.

Hálózati biztonság

A helyszíni hálózatokkal való kapcsolat és biztonság érdekében üzembe helyezheti az AKS-fürtöt a meglévő Azure-beli virtuális hálózati alhálózatokon. Ezek a virtuális hálózatok az Azure Helyek közötti VPN vagy Express Route használatával csatlakoznak vissza a helyszíni hálózathoz. Privát, belső IP-címmel rendelkező Kubernetes bejövőforgalom-vezérlők definiálása a szolgáltatások belső hálózati kapcsolathoz való hozzáférésének korlátozásához.

Azure-beli hálózati biztonsági csoportok

A virtuális hálózati forgalom szűréséhez az Azure hálózati biztonsági csoportszabályokat használ. Ezek a szabályok határozzák meg a forrás- és cél IP-tartományokat, portokat és protokollokat, amelyek engedélyezettek vagy megtagadták az erőforrásokhoz való hozzáférést. Az alapértelmezett szabályok a Kubernetes API-kiszolgáló felé történő TLS-forgalom engedélyezéséhez jönnek létre. Szolgáltatásokat hozhat létre terheléselosztókkal, portleképezésekkel vagy bejövő útvonalakkal. Az AKS automatikusan módosítja a hálózati biztonsági csoportot az adatforgalomnak megfelelően.

Ha saját alhálózatot biztosít az AKS-fürthöz (akár az Azure CNI-t, akár a Kubenetet használja), ne módosítsa az AKS által felügyelt hálózati hálózati biztonsági csoportot. Ehelyett hozzon létre további alhálózati szintű hálózati biztonsági csoportokat a forgalom áramlásának módosításához. Győződjön meg arról, hogy nem zavarják a fürt szükséges forgalmát, például a terheléselosztó hozzáférését, a vezérlősíkkal való kommunikációt vagy a kimenő forgalmat.

Kubernetes hálózati szabályzat

A fürt podjai közötti hálózati forgalom korlátozásához az AKS támogatja a Kubernetes hálózati szabályzatait. A hálózati házirendek használatával engedélyezheti vagy letilthatja a fürt bizonyos hálózati útvonalait névterek és címkeválasztók alapján.

Alkalmazásbiztonság

Az AKS-en futó podok védelméhez fontolja meg a Microsoft Defender for Containers használatát a podokon futó alkalmazások elleni kibertámadások észleléséhez és korlátozásához. Futtassa a folyamatos vizsgálatot az alkalmazás sebezhetőségi állapotának eltéréseinek észleléséhez, és implementáljon egy "kék/zöld/kanári" folyamatot a sebezhető képek javításához és cseréjéhez.

A Kubernetes titkos kódjai

Kubernetes-titkos kóddal bizalmas adatokat szúrhat be podokba, például hozzáférési hitelesítő adatokat vagy kulcsokat.

  1. Hozzon létre egy titkos kulcsot a Kubernetes API használatával.
  2. Határozza meg a podot vagy az üzembe helyezést, és kérjen egy adott titkos kulcsot.
    • A titkos kulcsokat csak olyan ütemezett podokkal rendelkező csomópontok számára biztosítjuk, amelyekhez szükség van rájuk.
    • A titkos kód tmpf-ben van tárolva, nem lemezre írva.
  3. Amikor egy titkos kulcsot igénylő csomópont utolsó podját törli, a titkos kód törlődik a csomópont tmpf-jeiből.
    • A titkos kulcsok egy adott névtérben vannak tárolva, és csak az azonos névtérben lévő podokból érhetők el.

A titkos kódok használata csökkenti a pod vagy szolgáltatás YAML-jegyzékében definiált bizalmas információkat. Ehelyett a Kubernetes API-kiszolgálón tárolt titkos kulcsot kell kérnie a YAML-jegyzék részeként. Ez a megközelítés csak az adott pod hozzáférését biztosítja a titkos kódhoz.

Feljegyzés

A nyers titkos kulcs jegyzékfájljai a titkos adatokat base64 formátumban tartalmazzák. További információkért tekintse meg a hivatalos dokumentációt. Kezelje ezeket a fájlokat bizalmas információként, és soha ne véglegesítse őket a forráskezelésben.

A Kubernetes-titkos kulcsokat az etcd, egy elosztott kulcs-érték tároló tárolja. Az AKS teljes mértékben kezeli az etcd-tárolót , és az adatok titkosítva vannak az Azure-platformon belül.

Következő lépések

Az AKS-fürtök biztonságossá tételével kapcsolatos első lépésekért tekintse meg az AKS-fürtök frissítését ismertető témakört.

A kapcsolódó ajánlott eljárásokért tekintse meg a fürtbiztonságra és az AKS frissítésére vonatkozó ajánlott eljárásokat, valamint az AKS podbiztonságának ajánlott eljárásait.

A Kubernetes és az AKS alapfogalmaival kapcsolatos további információkért lásd: