Configura l'ammissione alla sicurezza del pod in kubernetes

Configura l'ammissione alla sicurezza del pod in kubernetes
L'ammissione alla sicurezza del pod in Kubernetes è una funzione che fornisce funzionalità di sicurezza sui pod in esecuzione in uno spazio dei nomi. Gli standard ci consentono di mettere le restrizioni sul comportamento dei baccelli in modo semplice e coerente. In questa guida, stiamo per pod Security Administration. Impareremo come configurare la sicurezza dei pod su pod in esecuzione in uno spazio dei nomi con l'aiuto di uno scenario di base.

Cos'è l'ammissione alla sicurezza del pod a Kubernetes?

Per applicare gli standard di sicurezza dei pod su pod in esecuzione in uno spazio dei nomi, Kubernetes V1.22 ha un controller di ammissione integrato chiamato pod security ammission. Questi standard vengono utilizzati per impostare esenzioni e impostazioni predefinite a livello cluster. Per configurare l'ammissione alla sicurezza del pod, è necessario avere un minimo di V1.22 kubernetes e gate funzionalità podsecurity abilitato. Rilascio Alpha di Kubernetes V1.22 ha la politica di sicurezza POD (PSP) che è stata deprecata in Kubernetes V1.25. Ora, il potenziamento della Pod Security Policy (PSP) è noto come POD Security Ammission (PSA). A differenza della politica di sicurezza POD, l'ammissione alla sicurezza POD non supporta le risorse di mutazione, tuttavia, convalida il controllore di ammissione.

Inoltre, gli standard di sicurezza dei pod hanno definito tre livelli per l'ammissione alla sicurezza del pod: basale, limitato e privilegiato. Questi livelli sono collocati in un contesto di sicurezza di un pod e vari altri campi dall'ammissione alla sicurezza del pod. Dopo aver configurato la modalità di controllo dell'ammissione per POD Security per ogni spazio dei nomi, è possibile impostare lo spazio dei nomi per specificare tale modalità. Il set di etichette fornite da Kubernetes consente di scegliere qualsiasi livello di standard di sicurezza POD per uno spazio dei nomi. Ora, apprendiamo come configurare l'ammissione alla sicurezza del pod con l'aiuto di un semplice esempio.

Prerequisiti

Prima di muoverti ulteriormente, assicurati di avere questi strumenti di base installati e le funzionalità richieste abilitate:

  • Ubuntu 22.04 o qualsiasi altra ultima versione
  • Kubernetes Cluster V1.22 con -feature -gates = “… .,Podsecurity = true ”flag abilitato
  • Cluster Minikube
  • Strumento di riga di comando kubectl

Una volta configurati questi strumenti nel sistema, sei pronto a configurare l'ammissione alla sicurezza del pod in Kubernetes. Passando alla sezione di implementazione supponendo di aver già installato tutti questi prerequisiti.

Come configurare l'ammissione alla sicurezza del pod?

Seguire i passaggi indicati di seguito e configurare facilmente l'ammissione alla sicurezza del pod in Kubernetes per il sistema.

Passaggio n. 1: avvia kubernetes

Innanzitutto, abbiamo bisogno del cluster minikube attivo ed in esecuzione. Quindi, per questo useremo il comando indicato di seguito per avviarlo correttamente:

> Minikube Start

Questo comando garantisce che il cluster minikube funzioni in modo da poter implementare il comando ed eseguire le applicazioni nel cluster.

Passaggio n. 2: imponi l'ammissione alla sicurezza del pod con distribuzione

Esistono tre livelli definiti dagli standard di sicurezza POD: basale, privilegio e limitato. Qui, applicheremo un'ammissione alla sicurezza POD su due livelli di standard di sicurezza POD, privilegiati e limitati.

Passaggio n. 2 (a): creare spazi dei nomi per i baccelli

Innanzitutto, creeremo due spazi dei nomi. Lo spazio dei primi nomi verrà creato con la politica privilegiata utilizzando il comando indicato di seguito:

> Kubectl Crea uno spazio dei nomi privilegiato

Il secondo spazio dei nomi verrà creato con la politica limitata, utilizzando il comando indicato di seguito:

> kubectl crea il test dello spazio dei nomi limitato

Passaggio n. 2 (b): impostare gli standard di sicurezza sugli spazi dei nomi

Ora, dobbiamo impostare gli standard di sicurezza per gli spazi dei nomi che abbiamo creato nel passaggio precedente. Per impostare lo standard di sicurezza per la politica privilegiata, stiamo utilizzando il comando indicato di seguito:

> Etichetta Kubectl-Overwrite NS POD-Security privilegiato Test.Kubernetes.IO/EPFFORCE = POD-Security privilegiato.Kubernetes.io/warn = privilegiato

Stiamo utilizzando il comando di seguito per impostare lo standard di sicurezza per la politica limitata:

> Etichetta Kubectl-Overwrite NS Test-Security-Security.Kubernetes.IO/EPFFORCE = POD SECURITÀ CONTRIVE.Kubernetes.io/warn = limitato

Questi standard consentiranno agli spazi dei nomi di bloccare qualsiasi pod in esecuzione e invieranno un avviso all'utente se qualche pod tenta di eseguire in caso di non soddisfare la politica configurata. Ora, proviamo a distribuire pod sullo spazio dei nomi per verificare quale risultato otteniamo.

Passaggio n. 3: distribuire pod sugli spazi dei nomi

Gli spazi dei nomi sono stati creati e gli standard di sicurezza sono stabiliti su di essi. Quindi, distribuiamo i baccelli su quegli spazi dei nomi somministrati alla sicurezza dei pod.

Passaggio n. 3 (a): tentare di distribuire pod

Innanzitutto, stiamo distribuendo pod sulla politica privilegiata utilizzando il comando indicato di seguito:

kalsoom@kalsoom-virtualbox> kubectl appliche-dampace test-privileged -f https: // raw.githubusercontent.com/azure-samples/azure-voting-app-redis/master/azure-vote-in-in-one-redis.Yaml

In secondo luogo, utilizzando il comando fornito di seguito, stiamo distribuendo pod sulla politica privilegiata:

kalsoom@kalsoom-virtualbox> kubectl applicare-namespace test restritti -f https: // raw.githubusercontent.com/azure-samples/azure-voting-app-redis/master/azure-vote-in-in-one-redis.Yaml

Quando abbiamo tentato di distribuire pod sulla politica limitata, è stato generato un avvertimento, come si può vedere. Poiché i pod stanno violando la politica configurata, questo avviso è stato generato. Non vi è alcun avviso generato per la politica privilegiata perché nessun pod ha violato la politica configurata.

Passaggio n. 3 (b): verificare l'esecuzione di baccelli negli spazi dei nomi

Ora, controlliamo se c'è un pod in esecuzione negli spazi dei nomi o no. Innanzitutto, controlleremo la politica privilegiata con il seguente comando:

> kubectl Get pods -namespace test -privileged

Si noti che alcuni pod sono in esecuzione nello spazio dei nomi. Non sono stati generati avvertimenti per la politica privilegiata, il che significa che alcuni pod sono in esecuzione nello spazio dei nomi che non violano la politica configurata. Ora, controlliamo se c'è qualche POD in esecuzione nello spazio dei nomi limitato con il seguente comando:

> kubectl Ottieni pod -namespace test -restrict

Non c'è POD in esecuzione nello spazio dei nomi limitato. Ricorda che abbiamo ricevuto l'avvertimento che alcuni pod hanno violato la politica configurata nel passaggio precedente.

Passaggio # 4: Elimina lo spazio dei nomi

L'ultimo passo è eliminare gli spazi dei nomi che abbiamo creato. Usa il comando indicato di seguito per eliminare gli spazi dei nomi:

> Kubectl Elimina lo spazio dei nomi-test-test-convileg

Questo comando eliminerà entrambi i nomi dal cluster.

Conclusione

In questo articolo, abbiamo fornito linee guida sull'ammissione alla sicurezza Pod (PSA) in Kubernetes. Abbiamo esplorato cosa è un ammissione alla sicurezza dei pod a Kubernetes. Abbiamo anche imparato a configurare l'ammissione alla sicurezza dei pod in Kubernetes per i pod in esecuzione in uno spazio dei nomi. Dimostrando un semplice scenario, abbiamo dimostrato come configurare facilmente l'ammissione alla sicurezza del pod per i pod in esecuzione in diversi spazi dei nomi.