Hanterade Kubernetes-hotfaktorer
I en hanterad Kubernetes-miljö innebär hantering av säkerhet att förstå och minimera hot i olika instanser. Här är en uppdelning av hotfaktorer i specifika instanser:
Komprometterat konto
- Hotfaktor: En angripare får åtkomst till ett Kubernetes-kluster via stulna autentiseringsuppgifter, API-token eller nycklar. Detta kan leda till obehörig åtkomst, datastöld och skadliga distributioner.
- Åtgärd: Implementera starka autentiseringsmekanismer, multifaktorautentisering (MFA), regelbunden rotation av autentiseringsuppgifter och principer för åtkomst med minst privilegier.
Sårbara eller felkonfigurerade bilder
- Hotfaktor: Containeravbildningar med sårbarheter eller felkonfigurationer kan utnyttjas av angripare när de har distribuerats. Dessa sårbarheter kan omfatta inaktuell programvara, osäkra standardinställningar eller inbäddade hemligheter.
- Åtgärd: Använd verktyg för avbildningsgenomsökning för att identifiera sårbarheter före distribution, tillämpa principer för avbildningsförekomst och anta en signeringsprocess för containeravbildningar.
Felkonfiguration av miljön
- Hotfaktor: Felkonfigurationer i Kubernetes-inställningar eller distributionsbeskrivningar kan exponera kluster för attacker. Vanliga problem är exponerade instrumentpanelsgränssnitt, alltför tillåtande RBAC-inställningar och osäkra slutpunkter.
- Åtgärd: Följ metodtipsen för säker konfiguration, granska regelbundet konfigurationer med automatiserade verktyg och använd antagningskontrollanter för att framtvinga principefterlevnad.
Programattacknivå
- Hotfaktor: Program som körs i containrar kan vara sårbara för traditionella webbangreppsvektorer, till exempel SQL-inmatning eller korsplatsskript (XSS), vilket kan äventyra containern eller leda till ytterligare klusterexploatering.
- Åtgärd: Använd metodtips för programsäkerhet, till exempel validering av indata och utdatakodning, och använd brandväggar för webbaserade program (WAFs). Implementera säkerhet i pipelinen kontinuerlig integrering (CI)/Kontinuerlig leverans och distribution (CD), inklusive statiska och dynamiska analysverktyg.
Attack på nodnivå
- Hotfaktor: Om en angripare får åtkomst till en Kubernetes-nod kan de eventuellt eskalera behörigheter för att styra hela klustret. Sårbarheter kan uppstå från inaktuella operativsystem eller Kubernetes-komponenter.
- Åtgärd: Håll noderna uppdaterade med de senaste säkerhetskorrigeringarna, begränsa åtkomsten till noder med hjälp av nätverksprinciper och brandväggar och använd värdbaserade intrångsidentifieringssystem (HIDS).
Obehörig trafik
- Hotfaktor: Obehörig åtkomst till eller från klustret kan inträffa om nätverksprinciperna inte är korrekt konfigurerade, vilket gör att angripare kan exfiltera data, leverera skadlig kod eller utnyttja tjänster som exponeras.
- Åtgärd: Implementera strikta nätverksprinciper för att kontrollera inkommande och utgående trafik, separera känsliga arbetsbelastningar med hjälp av namnområden och övervaka trafik för avvikande mönster.
För att hantera dessa hot i en hanterad Kubernetes-miljö krävs en säkerhetsmetod i flera lager som omfattar både Kubernetes-specifika metoder och traditionella säkerhetsåtgärder. Kontinuerlig övervakning, regelbundna granskningar och efterlevnad av principen om lägsta behörighet i alla aspekter av klustret är viktiga komponenter i en robust Kubernetes-säkerhetsstrategi.
Vanliga attacktekniker
- Utnyttja sårbara avbildningar – ett offentligt sårbart program i ett kluster som ger initial åtkomst till klustret. Ökända fall: SolarWinds, Log4j
- Åtkomstexponerade program – ett känsligt gränssnitt som exponeras för Internet utgör en säkerhetsrisk. Vissa populära ramverk var inte avsedda att exponeras för Internet och kräver därför inte autentisering som standard. Om du exponerar dem för Internet kan du därför oautentiserad åtkomst till ett känsligt gränssnitt som kan aktivera körning av kod eller distribution av containrar i klustret av en illvillig aktör. Exempel på sådana gränssnitt som har utnyttjats är Apache NiFi, Kubeflow, Argo Workflows, Weave Scope och Kubernetes-instrumentpanelen.
- Distribuera bakdörrscontainrar – Angripare kör sin skadliga kod i en container i klustret. Genom att använda Kubernetes-styrenheter som DaemonSets eller Distributioner såg angripare till att ett konstant antal containrar körs i en eller alla noder i klustret.
- Missbruk över tillåtande roller SA – Tjänstkonto (SA) representerar en programidentitet i Kubernetes. Som standard monteras en SA på varje skapad podd i klustret. Med hjälp av SA kan containrar i podden skicka begäranden till Kubernetes API-servern. Angripare som får åtkomst till en podd får åtkomst till SA-token och utför åtgärder i klustret enligt SA-behörigheterna. Om RBAC inte är aktiverat har SA obegränsad behörighet i klustret. Om RBAC är aktiverat bestäms dess behörigheter av de RoleBindings och ClusterRoleBindings som är associerade med den.
- Escape till värden – hostPath-volymen monterar en katalog eller en fil från värden till containern. Angripare som har behörighet att skapa en ny container i klustret kan skapa en med en skrivbar hostPath-volym och få beständighet på den underliggande värden. Det senare kan till exempel uppnås genom att skapa ett cron-jobb på värden.