Sicurezza dei container – Qualys su Kubernetes

Sicurezza dei container – Qualys su Kubernetes

La semplicità dell’approccio container genera delle importanti e complesse problematiche per quanto concerne il tema sicurezza.

Un mondo dinamico in continua evoluzione

L’approccio a container è molto più dinamico rispetto al classico approccio basato sulla virtualizzazione dell’hardware. È facilissimo effettuare il deploy di nuovi container e spesso si perde la visibilità di tutto quello che è presente. È importante avere il pieno controllo di tutti i container presenti nella propria infrastruttura!

Semplice non significa sicuro

La logica container spinge ad utilizzare immagini già costruite. Docker hub mette a disposizione moltissime immagini per diversi servizi, ma sono sicure? È importante individuare vulnerabilità delle immagini master, ma anche degli applicativi presenti nei propri container.

Grazie a Qualys e al suo modulo Container Security è semplice ottenere visibilità di tutti i propri container e individuarne le vulnerabilità presenti. Grazie all’installazione di un Container Sensor sul nostro ambiente Kubernetes siamo riusciti a non trascurare l’aspetto security, nemmeno nel nostro moderno ambiente container di sviluppo.

1. Installazione del sensore

L’installazione del sensore su ambiente Kubernetes è molto semplice. Qualys mette a disposizione sia l’immagine docker su docker hub, sia la configurazione del DaemonSet. Il download del file YAML è disponibile nel seguente repository:

https://github.com/Qualys/cs_sensor/blob/master/cssensor-ds.yml

Il file è già pronto per essere utilizzato. Le uniche modifiche necessarie sono il valore del proprio Activation ID, del proprio Customer ID e del POD Url (l’indirizzo che il pod deve contattare per comunicare con il portale cloud di Qualys).

1.    env:
2.       - name: ACTIVATIONID
3.         value: XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX
4.       - name: CUSTOMERID
5.         value: XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX
6.       - name: POD_URL
7.         value: https://cmsqagpublic.qg2.apps.qualys.com/ContainerSensor

L’Activation ID e il Customer ID sono disponibili all’interno della propria istanza Qualys, mentre il POD Url è dipendente dalla Qualys Platform. Nel nostro caso l’url utilizzato è: https://cmsqagpublic.qg2.apps.qualys.com/ContainerSensor

Qualys-platform-url

Una volta cambiate queste configurazioni sarà sufficiente applicare il DaemonSet con il seguente comando:

kubectl apply -f cssensor-ds.yml

Sarà possibile controllare lo stato del pods tramite il comando get pods per il namespace kube-system.

kubectl -n kube-system get pods

container-security-qualys-on-Kubernetes

Essendo un daemon set verranno istanziati in autonomia un sensore per ciascun nodo worker

I sensori appariranno immediatamente anche nella Cloud Platform Qualys. Qualora i sensori non dovessero apparire, verificate di aver impostato il POD_URL corretto.

2. Ottieni visibilità

Grazie al Container Security Sensor sarà possibile monitorare il numero e lo stato dei container deployati nella propria infrastruttura Kubernetes, ma soprattutto sarà possibile identificare eventuali container e immagini vulnerabili.

Ottieni visibilità su tutti i container che sono presenti nella tua infrastruttura!

Identifica le informazioni di ciascun container e le vulnerabilità associate.

Controlla quale software è presente nel container o nella immagine che stai utilizzando e se questo è aggiornato o presenta vulnerabilità.

Identifica le vulnerabilità e analizzale per individuare il miglior modo per rimediarle!

Abbiamo messo le basi per monitorare i nostri container e le vulnerabilità associate. Nel prossimo appuntamento andremo più a fondo, cercando di capire come analizzare le nostre immagini in fase di Continuous Integration e Deployment, integrando il modulo di Container Security di Qualys con Gitlab.