Hur man söker efter Kubernetes sårbarheter med Kubescape

0
68
dennizn/Shutterstock.com

Kubescape är ett nytt verktyg för öppen källkod från ARMO som låter dig automatisera Kubernetes-klustransökningar för att identifiera säkerhetsproblem. Kubescape granskar ditt kluster mot de härdningsrekommendationer som publicerats av NSA och CISA.

Så här installerar du Kubescape och börjar skanna ditt kluster. Regelbundna skanningar kan hjälpa dig att lösa problem innan de används av angripare.

Nedladdning av Kubescape

Kubescape distribueras för närvarande som en förbyggd binär för Windows, macOS och Ubuntu. Du kan ladda ner det direkt från projektets GitHub -utgivningssida.

Det finns också ett automatiskt installationsskript som du kan klistra in i din terminal. Detta hämtar rätt binär för ditt system och lägger till det på din sökväg.

curl -s https://raw.githubusercontent.com/armosec/kubescape/master/install.sh | /bin/bash

Prova att köra kubescape för att kontrollera att installationen är klar. Du kommer att se en sammanfattning av tillgängliga kommandon.

< h2 id = "scanning-your-cluster"> Skanna ditt kluster

Kubernetes ansluter till ditt kluster med standard Kubectl-konfigurationsfiler. Ställ in KUBECONFIG-miljövariabeln i ditt skal för att referera till konfigurationsfilen för klustret du vill skanna:

export KUBECONFIG = .kube/my-cluster.yaml Advertisement

Kubescape kommer att klaga på att det inte gick att ladda Kubernetes config ” om denna variabel inte är inställd eller om den angivna filen är ogiltig. Uppdatera KUBECONFIG -variabeln varje gång du kör Kubescape om du vill skanna flera kluster.

Skanningar initieras med skanningskommandot. Du måste ange härdningsramen du vill skanna mot. För närvarande är nsa det enda alternativet som stöds.

kubescape scan framework nsa –exclude-namespaces kube-system, kube-public

Kubescape skannar alla resurser i ditt kluster, med undantag för resurser i namnområden som utelämnas av flaggan –exclude-namespaces. Det rekommenderas att du listar de inbyggda Kubernetes-namnområdena här eftersom du inte kommer att kunna ta itu med eventuella problem.

Din första Kubescape -skanning kan ta lite tid eftersom verktyget behöver ladda ner dess ramdefinitioner. Dessa definierar de tester som ditt kluster görs mot. När genomsökningen är klar ser du färgad utmatning i din terminal som beskriver eventuella upptäckta problem.

Scan Results

Varje misslyckat test producerar en egen sektion med utdata med en lista över de misstänkta resurserna, en beskrivning av problemet och en tips för avhjälpning. En tabell längst ner i rapporten ger en sammanfattning av alla utförda tester, antalet resurser som misslyckades med dem och den totala framgångsprocenten.

Annons

Kubescape kontrollerar över 20 möjliga svagheter baserat på den NSA-identifierade listan. NSA: s rapport ger en beskrivning av de behandlade frågorna och motiveringen för att de ska inkluderas. Några av de viktigaste problemen som Kubescape kontrollerar är:

  • Upptrappningsmöjligheter för privilegier
  • Behållare som körs i privilegierat läge
  • Behållare som körs med farliga funktioner
  • Exponerad Kubernetes -instrumentpanel
  • Behållare som körs som root
  • Uppgifter som finns i konfigurationsfiler
  • Felaktigt säkrat kontrollplan

Genom att köra Kubescape kan du kontrollera klusterets hälsa mot de nuvarande riktlinjerna för bästa praxis, vilket ger dig mer förtroende för att du inte utsätter dina data och arbetsbelastningar för fara.

Skanna manifestfiler

< p>Kubescape kan fungera utan en klusteranslutning. Du kan skanna resursmanifest lagrade som lokala YAML -filer, så att du kan kontrollera deras säkerhet innan du använder dem på ditt kluster. Lägg till ett extra argument efter ramnamnet för att ange de filer du vill skanna:

kubescape scan framework nsa k8s/*. Yaml

Du kan använda en URL som filsökväg för att skanna filer som lagras på distans, t.ex. i ett Git -arkiv.

Det är bäst att använda standardläget för klusterskanning när du utför en omfattande säkerhetsrevision. Manifestskanningar är idealiskt införlivade i CI -rörledningar. Används på detta sätt kan du undvika att oavsiktligt införa nya sårbarheter när du uppdaterar dina resurser och rullar ut dem till ditt kluster.

Offline Scans

Kubescape är utformad för online -användning eftersom den behöver ladda ner ramdefinitionerna innan den kan slutföra en skanning. Du kan spara ramverket manuellt för att underlätta genomsökningar offline. Du bör försöka uppdatera filen regelbundet så att den inte blir föråldrad.

Ladda ner NSA -ramfilen:

kubescape download framework nsa –output nsa.json

Skanna nu ditt kluster med den nedladdade filen:

kubescape scan framework nsa –use-from nsa.json Advertisement

The –use- från flagg instruerar Kubescape att ladda ramdefinitioner från den angivna filen. Det finns också –use-default som försöker använda den lokalt cachade filen på standardplatsen när den är tillgänglig. Kubescape återvänder till att ladda ner de senaste definitionerna från servern när ingen fil hittas.

Utmatningsformat

Kubescape-utmatningar till din terminal som standard men kan också producera rapporter i JSON- eller Junit-format. Lägg till -f -flaggan för att ange önskat läge:

kubescape scan framework nsa -f json kubescape scan framework nsa -f junit

Det senare alternativet avger en XML -fil som kan förbrukas av testrapportverktyg som fungerar med Junit -formatet. Detta låter dig mata in Kubescape -skanningar i dina befintliga testrapporteringslösningar för visualisering och aggregering.

Utmatning sänds ut till terminalens standardutgångsström oavsett rapportformat du anger. Lägg till -o -flaggan för att tillhandahålla en filsökväg för att spara till:

kubescape scan framework nsa -f json -o report.json

Kubescape's vanliga förloppsmeddelanden kan inaktiveras med -s -flaggan. Detta är användbart i CI -scenarier där du inte vill förorena jobbloggar med ASCII -tecken.

Slutsats

Med Kubescape kan du bedöma säkerheten för dina Kubernetes kluster mot de riktlinjer som publicerats av NSA. Det enkla verktyget med öppen källkod ger ett enda kommando för att jämföra din miljö mot över 20 viktiga kontroller.

Annonsering

Kubescape söker inte efter sårbarheter i behållarna som du kör i ditt kluster. Du behöver ett annat verktyg som dockerscanning eller Trivy för att göra det. Att köra en behållarskanningsmotor tillsammans med Kubescape ger dig den mest fullständiga bilden av din miljös säkerhetsställning.