Standard di sicurezza dei Pod
Applichi i Pod Security Standards per imporre le best practice di sicurezza a livello di Pod.
Standard di sicurezza dei Pod è una lezione Kubernetes Basics gratuita su CoddyKit. Questa è la lezione 3 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Kubernetes Basics, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Kubernetes Basics include 4 lezioni in totale.
Che cosa sono i PSS?
I Kubernetes Pod Security Standards (PSS) sono un insieme di linee guida e controlli per applicare le migliori pratiche di sicurezza ai Pod.
Aiutano a proteggere il cluster dalle vulnerabilità di sicurezza più comuni e dagli attacchi di escalation dei privilegi, limitando ciò che i Pod possono fare.
Li si può considerare come una checklist di sicurezza per i Pod.
Tre livelli di sicurezza
I PSS definiscono tre distinti livelli di sicurezza, ciascuno dei quali offre un diverso grado di protezione:
- Privileged: senza restrizioni, il meno sicuro.
- Baseline: impedisce le escalation dei privilegi note.
- Restricted: applica migliori pratiche di sicurezza rafforzate.
Questi livelli sono cumulativi: Restricted include tutte le protezioni di Baseline e Baseline include tutte quelle di Privileged (o meglio, nessuna restrizione).
Privileged: accesso senza restrizioni
Il livello PSS Privileged offre una policy di sicurezza senza restrizioni.
Ciò significa che i Pod eseguiti con questa policy possono richiedere qualsiasi capability e avere accesso completo alle risorse e ai namespace dell'host, in modo simile all'esecuzione come root sulla macchina host.
È generalmente considerato altamente rischioso e dovrebbe essere utilizzato solo per workload a livello di sistema che richiedono necessariamente tale accesso.
Baseline: prevenire gli exploit
Il livello PSS Baseline mira a impedire le escalation dei privilegi note.
È un buon punto di partenza per la maggior parte delle applicazioni definite dagli utenti.
Le principali restrizioni includono:
- Nessun container privilegiato.
- Nessun volume hostPath (ad eccezione di specifici tipi sicuri).
- Nessuna rete dell'host né condivisione del namespace PID.
- Capability limitate.
Questo livello contribuisce a mitigare molti vettori d'attacco comuni.
Restricted: sicurezza rafforzata
Il livello PSS Restricted applica migliori pratiche di sicurezza rafforzate.
È progettato per applicazioni altamente sensibili dal punto di vista della sicurezza e richiede che i Pod vengano eseguiti con privilegi minimi.
Oltre alle restrizioni di Baseline, Restricted impone:
- L'esecuzione con un utente non root.
- La rimozione di tutte le capability Linux e l'aggiunta esclusiva di quelle specificamente necessarie.
- L'obbligo di utilizzare i profili
seccompeAppArmor.
È il livello PSS più sicuro e più rigoroso.
Applicare i PSS con Admission
Gli standard di sicurezza dei Pod vengono applicati utilizzando una funzionalità di Kubernetes chiamata Pod Security Admission.
Questo admission controller intercetta le richieste di creazione dei Pod e le verifica rispetto al livello PSS configurato per il namespace del Pod.
È possibile applicare i livelli PSS ai namespace aggiungendo loro etichette specifiche. Ad esempio:
kubectl label namespace <namespace-name> pod-security.kubernetes.io/enforce=restrictedControllare la sicurezza dei Pod
Per rendere i Pod conformi ai PSS, spesso si utilizza il campo securityContext nella definizione del Pod.
Questo campo consente di definire le impostazioni relative ai privilegi e al controllo degli accessi per un Pod o per i singoli container al suo interno.
Le impostazioni comuni includono:
runAsUser: specifica l'ID utente del processo del container.allowPrivilegeEscalation: impedisce a un processo di ottenere più privilegi del processo padre.capabilities: gestisce le funzionalità di Linux.
Esempio di Pod non sicuro
Esaminiamo una definizione di Pod che violerebbe il PSS di livello Baseline a causa del relativo contesto di sicurezza. In generale, non è sicura:
apiVersion: v1
kind: Pod
metadata:
name: unsafe-pod
spec:
containers:
- name: my-container
image: nginx
securityContext:
privileged: true
# This allows the container to run with root capabilities
# and access host devices directly.
# Violates Baseline PSS.Esempio di Pod conforme al livello Baseline
Ecco come definire un Pod conforme al livello PSS Baseline. Noti l'assenza di privileged: true e delle altre restrizioni.
Per una conformità ancora più rigorosa al livello Restricted, aggiungerebbe runAsNonRoot: true, readOnlyRootFilesystem: true e rimuoverebbe tutte le capabilities.
apiVersion: v1
kind: Pod
metadata:
name: safe-pod
spec:
containers:
- name: my-container
image: nginx
securityContext:
allowPrivilegeEscalation: false
capabilities:
drop:
- ALL
# This Pod runs with minimal privileges and
# adheres to the Baseline PSS.Verifica rapida sui PSS
Quale delle seguenti affermazioni sui Pod Security Standards (PSS) è VERA?
Riepilogo: Pod Security Standards
In questa lezione ha appreso cosa sono i Pod Security Standards (PSS) di Kubernetes e perché sono importanti per proteggere il cluster.
- I PSS definiscono tre livelli: Privileged, Baseline e Restricted.
- Baseline previene le escalation di privilegi note ed è adatto alla maggior parte delle applicazioni.
- Restricted applica una sicurezza rafforzata e richiede privilegi minimi.
- Il campo
securityContextaiuta a configurare i Pod affinché siano conformi ai PSS.
L'applicazione dei PSS è un passaggio fondamentale per creare ambienti Kubernetes più sicuri.
Domande Frequenti
La lezione «Standard di sicurezza dei Pod» è gratuita?
Sì — il testo completo di «Standard di sicurezza dei Pod» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Kubernetes Basics, passa a CoddyKit PRO. Il corso Kubernetes Basics include 4 lezioni in totale.
Cosa imparerò in «Standard di sicurezza dei Pod»?
Applichi i Pod Security Standards per imporre le best practice di sicurezza a livello di Pod. Eserciti Kubernetes Basics con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.
Ho bisogno di esperienza per iniziare Kubernetes Basics?
Non è richiesta alcuna esperienza precedente. Kubernetes Basics su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 3 di 4.
Quanto tempo richiede la lezione «Standard di sicurezza dei Pod»?
La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.
Posso scrivere ed eseguire codice in questa lezione Kubernetes Basics?
Sì. Ogni lezione Kubernetes Basics include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.
Tutte le lezioni di questo corso
- Role-Based Access Control (RBAC)
- Network Policy per l'isolamento
- Standard di sicurezza dei Pod
- Account di servizio e identità dei workload