Quando si distribuisce NCP, è importante eseguire i passaggi necessari per proteggere gli ambienti di Kubernetes e NSX-T Data Center.
Limitare l'esecuzione di NCP ai soli nodi designati
NCP può accedere al piano di gestione di NSX-T Data Center e la sua esecuzione deve essere limitata ai soli nodi dell'infrastruttura designati. È possibile identificare questi nodi con un'etichetta appropriata. È quindi necessario applicare un nodeSelector per questa etichetta alla specifica ReplicationController di NCP. Ad esempio:
nodeSelector: nsx-infra: True
È inoltre possibile utilizzare altri meccanismi, come l'affinità, per assegnare pod ai nodi. Per ulteriori informazioni, vedere https://kubernetes.io/docs/concepts/configuration/assign-pod-node.
Verificare che il motore Docker sia aggiornato
Docker rilascia periodicamente aggiornamenti della sicurezza. Per applicare questi aggiornamenti, è consigliabile implementare una procedura automatizzata.
Impedire le funzionalità NET_ADMIN e NET_RAW dei container non attendibili
Le funzionalità NET_ADMIN e NET_RAW di Linux possono essere sfruttate dagli utenti malintenzionati per danneggiare la rete di pod. È consigliabile disabilitare queste due funzionalità dei container non attendibili. Per impostazione predefinita, la funzionalità NET_ADMIN non viene concessa a un container senza privilegi. Prestare attenzione se una specifica di pod la abilita esplicitamente o imposta una modalità privilegiata per il container. Per i container non attendibili, disabilitare anche NET_RAW specificando NET_RAW nell'elenco di funzionalità eliminate nella configurazione SecurityContext della specifica del container. Ad esempio
securityContext: capabilities: drop: - NET_RAW - ...
Controllo degli accessi in base al ruolo
Kubernetes utilizza le API del controllo degli accessi in base al ruolo (RBAC) per prendere decisioni relative alle autorizzazioni, consentendo agli amministratori di configurare dinamicamente i criteri. Per ulteriori informazioni, vedere https://kubernetes.io/docs/admin/authorization/rbac.
L'amministratore del cluster è in genere l'unico utente con accesso e ruoli privilegiati. Per gli account utente e di servizio, è necessario rispettare il principio del privilegio minimo quando si concede l'accesso.
È consigliabile tenere presenti le linee guida seguenti:
- Limitare l'accesso ai token dell'API Kubernetes ai pod che li richiedono.
- Limitare l'accesso a NCP ConfigMap e ai segreti TLS del certificato client di NSX API al pod NCP.
- Bloccare l'accesso all'API di rete Kubernetes per i pod che non richiedono tale accesso.
- Aggiungere un criterio RBAC Kubernetes per specificare quali pod possono accedere all'API Kubernetes.
Il criterio RBAC consigliato si trova già nel file YAML di NCP e verrà applicato quando si installa NCP.