Benchmark CIS Ubuntu

Questo documento descrive il livello di conformità dei cluster Anthos su VMware (GKE on-prem) con il benchmark Ubuntu di CIS.

Versioni

Il presente documento fa riferimento alle seguenti versioni:

Versione Anthos Versione Ubuntu Versione benchmark QI CIS Livello CIS
1.9 18,04 LTS v2.0.1 Server di livello 2

Accedere al benchmark

Il benchmark QI CIS è disponibile sul sito web di CIS.

Profilo di configurazione

Nel documento di benchmark CIS Ubuntu puoi leggere informazioni sui profili di configurazione. Le immagini Ubuntu utilizzate dai cluster Anthos su VMware sono protette per rispettare il profilo di livello 2 del server.

Valutazione su cluster Anthos su VMware

Utilizziamo i seguenti valori per specificare lo stato dei suggerimenti Ubuntu nei cluster Anthos su VMware.

Stato Descrizione
Superate Conforme a un consiglio relativo ai benchmark.
Non superate Non è conforme a un consiglio basato su benchmark.
Controllo equivalente Non rispetta i termini esatti in un consiglio di benchmark, ma altri meccanismi nei cluster Anthos su VMware forniscono controlli di sicurezza equivalenti.
Dipende dall'ambiente I cluster Anthos su VMware non configurano elementi relativi a un suggerimento di benchmark. La configurazione determina se il tuo ambiente è conforme al suggerimento.

Stato dei cluster Anthos su VMware

Le immagini Ubuntu utilizzate con i cluster Anthos su VMware sono protette per soddisfare il profilo CIS di livello 2 del server. La tabella seguente spiega i motivi per cui i cluster Anthos sui componenti VMware non hanno superato determinati suggerimenti.

# Suggerimento Punteggio/Senza punteggio Stato Motivazione Componenti interessati
1,1 Assicurati che /tmp sia configurato Con punteggio Non superate Canonico non ha in programma di modificare le partizioni immagine cloud in questo momento. Tutti i nodi del cluster, workstation di amministrazione, seesaw
1,1 Assicurati che esista una partizione separata per /var Con punteggio Impossibile risolvere il problema Canonico non ha in programma di modificare le partizioni immagine cloud in questo momento. Tutti i nodi del cluster, workstation di amministrazione, seesaw
1,1,7 Assicurati che esista una partizione separata per /var/tmp Con punteggio Impossibile risolvere il problema Canonico non ha in programma di modificare le partizioni immagine cloud in questo momento. Tutti i nodi del cluster, workstation di amministrazione, seesaw
1,1 Assicurati che esista una partizione separata per /var/log Con punteggio Impossibile risolvere il problema Canonico non ha in programma di modificare le partizioni immagine cloud in questo momento. Tutti i nodi del cluster, workstation di amministrazione, seesaw
1,1 Assicurati che esista una partizione separata per /var/log/audit Con punteggio Impossibile risolvere il problema Canonico non ha in programma di modificare le partizioni immagine cloud in questo momento. Tutti i nodi del cluster, workstation di amministrazione, seesaw
1,1,13 Assicurati che esista una partizione separata per /home Con punteggio Impossibile risolvere il problema Canonico non ha in programma di modificare le partizioni immagine cloud in questo momento. Tutti i nodi del cluster, workstation di amministrazione, seesaw
1,1,21 Assicurati che il bit fisso sia impostato su tutte le directory scrivibili nel mondo Con punteggio Non superate Questo potrebbe interferire con la funzionalità di Anthos e con i suoi servizi e non è abilitata per impostazione predefinita Tutti i nodi del cluster, la workstation di amministrazione
1,5 Assicurati che siano configurate le autorizzazioni per la configurazione del bootloader Con punteggio Non superate Le autorizzazioni sono rimaste come predefinite. Tutti i nodi del cluster, Seesaw,
1,5 Assicurati che sia impostata la password di bootloader Con punteggio Dipende dall'ambiente Nessuna password root impostata sulle immagini cloud Ubuntu. Tutti i nodi del cluster, workstation di amministrazione, seesaw
1,5 Assicurati che l'autenticazione sia richiesta per la modalità utente singolo Con punteggio Dipende dall'ambiente Nessuna password root impostata sulle immagini cloud Ubuntu. Tutti i nodi del cluster, workstation di amministrazione, seesaw
1.8.1.2 Assicurati che il banner di avviso sull'accesso locale sia configurato correttamente Con punteggio Controllo equivalente Anthos applica anche protezione avanzata DISA-STIG ai nodi, che aggiorna di conseguenza il banner di avviso Tutti i nodi del cluster, Seesaw,
3.1.2 Assicurati che l'inoltro IP sia disattivato Con punteggio Non superate Il corretto funzionamento dell'inoltro IP è necessario per Kubernetes (GKE) che funziona e instrada correttamente il traffico. Tutti i nodi del cluster, workstation di amministrazione, seesaw
3,2 Assicurati che il filtro del percorso inverso sia abilitato Con punteggio Dipende dall'ambiente Il routing asincrono e l'origine inverso del percorso sono requisiti per il bilanciamento del carico del cluster Seesaw
3.5.2.5 Assicurati che esistano regole firewall per tutte le porte aperte Senza punteggio Dipende dall'ambiente Ti consigliamo di eseguire il deployment di Anthos su VMware su una rete privata con protezioni firewall appropriate. Le regole firewall richieste sono disponibili qui. Tutti i nodi del cluster, workstation di amministrazione, seesaw
3.5.4.1.1 Assicurati che il criterio firewall negato sia predefinito Con punteggio Dipende dall'ambiente Ti consigliamo di eseguire il deployment di Anthos su VMware su una rete privata con protezioni firewall appropriate. Le regole firewall richieste sono disponibili qui. Tutti i nodi del cluster, workstation di amministrazione, Seesaw
3.5.4.1.2 Assicurati che il traffico di loopback sia configurato Con punteggio Dipende dall'ambiente L'utilizzo dell'interfaccia di loopback è limitato a causa della funzionalità di bilanciamento del carico utilizzata. Seesaw
3.5.4.2.1 Assicurati che il criterio predefinito di negazione del firewall IPv6 Con punteggio Dipende dall'ambiente Ti consigliamo di eseguire il deployment di Anthos su VMware su una rete privata con protezioni firewall appropriate. Le regole firewall richieste sono disponibili qui. Inoltre, Anthos non prevede alcun requisito per l'IPv6 tramite il supporto GA. Tutti i nodi del cluster, workstation di amministrazione, seesaw
3.5.4.2.2 Assicurati che sia configurato il traffico di loopback IPv6 Con punteggio Dipende dall'ambiente Anthos non ha requisiti per l'IPv6 tramite il supporto GA. piano di controllo dell'amministratore, Seesaw
4.1.1.3 Assicurati che i controlli avviati prima del controllo siano abilitati Con punteggio Non superate Un problema noto che riguarda il nostro processo di compilazione viene segnalato come Non riuscito, ma si tratta di un falso allarme. che verrà risolto in futuro. Tutti i nodi del cluster, Seesaw,
4.1.1.11 Assicurati che venga raccolto l'utilizzo dei comandi con privilegi Con punteggio Non superate Alcuni programmi binari sono installati durante il runtime, perciò occorre correggerli. Tutti i nodi del cluster, workstation di amministrazione, seesaw
4.2.1.5 Assicurati che rsyslog sia configurato per inviare log a un host di log remoto Con punteggio Dipende dall'ambiente Anthos su VMWare raccoglie attualmente tutti i log inseriti nel journal (dai servizi di sistema). Questi log possono essere visualizzati sotto "k8s_node" Tutti i nodi del cluster, workstation di amministrazione, seesaw
4.2.3 Assicurati che siano configurate le autorizzazioni per tutti i file di log Con punteggio Non superate Questo test specifico è eccessivamente restrittivo e irrealistico poiché molti servizi possono richiedere un gruppo per scrivere i file di log. Questo elemento potrebbe essere rimosso in un benchmark futuro. Tutti i nodi del cluster, workstation di amministrazione, seesaw
5.2.12 Assicurati che SSH PermitUserEnvironment sia disabilitato Con punteggio Non superate Questa impostazione è in conflitto con le impostazioni di protezione di DISA-STIG. Tutti i nodi del cluster, Seesaw,
5,2 Assicurati di utilizzare solo algoritmi di crittografia efficaci Con punteggio Controllo equivalente L'applicazione di DISA-STIG utilizza un elenco alternativo di algoritmi di crittografia supportati che non sono in linea con quelli utilizzati da questo benchmark. Tutti i nodi del cluster
5.2.18 Assicurati che l'accesso SSH sia limitato Con punteggio Dipende dall'ambiente Questa configurazione non è configurata per impostazione predefinita. Puoi configurarlo in base ai tuoi requisiti specifici. Tutti i nodi del cluster, workstation di amministrazione, seesaw
5,2 Assicurati che sia configurato il banner di avviso SSH Con punteggio Controllo equivalente Il banner di avviso SSH è stato modificato dall'applicazione di configurazione della protezione DISA-STIG Tutti i nodi del cluster, Seesaw,
6.1.6 Assicurati che le autorizzazioni su /etc/passwd siano configurate Con punteggio Non superate Questo test specifico è eccessivamente restrittivo ed è in fase di aggiornamento da parte canonico (link) Tutti i nodi del cluster, workstation di amministrazione, seesaw
6.1.10 Assicurati che non esistano file accessibile in scrittura Con punteggio Non superate Le autorizzazioni sono rimaste come predefinite. Tutti i nodi del cluster
6.1.11 Assicurati che non esistano file o directory non di proprietà Con punteggio Non superate Le autorizzazioni sono rimaste come predefinite. Tutti i nodi del cluster
6.1.12 Assicurati che non esistano file o directory non raggruppati Con punteggio Non superate Le autorizzazioni sono rimaste come predefinite. Tutti i nodi del cluster
6.2.10 Assicurati che i file dei punti degli utenti non siano scrivibili a livello di gruppo o mondo Con punteggio Non superate Le impostazioni predefinite per Ubuntu consentono le autorizzazioni per i gruppi di file punti a causa della compatibilità Workstation di amministrazione

Configura cron job AIDE

AIDE è uno strumento di controllo dell'integrità dei file che garantisce la conformità con CIS L1 Benchmark del server 1.4 Filesystem Integrity Checking. Nei cluster Anthos su VMware, il processo AIDE ha causato problemi di utilizzo elevato delle risorse.

A partire dalla versione 1.9.7, il processo AIDE sui nodi è disabilitato per impostazione predefinita per evitare problemi relativi alle risorse. Questa operazione inciderà sulla conformità al benchmark CIS L1 Server 1.4.2: Ensure filesystem integrity is regularly checked.

Se vuoi attivare l'esecuzione del cron job AIDE, completa i passaggi riportati di seguito per riattivare AIDE:

  1. Crea un DaemonSet.

    Ecco un manifest per un DaemonSet:

    apiVersion: apps/v1
    kind: DaemonSet
    metadata:
    name: enable-aide-pool1
    spec:
    selector:
      matchLabels:
        app: enable-aide-pool1
    template:
      metadata:
        labels:
          app: enable-aide-pool1
      spec:
        hostIPC: true
        hostPID: true
        nodeSelector:
          cloud.google.com/gke-nodepool: pool-1
        containers:
        - name: update-audit-rule
          image: ubuntu
          command: ["chroot", "/host", "bash", "-c"]
          args:
          - |
            set -x
            while true; do
              # change daily cronjob schedule
              minute=30;hour=5
              sed -E "s/([0-9]+ [0-9]+)(.*run-parts --report \/etc\/cron.daily.*)/$minute $hour\2/g" -i /etc/crontab
    
              # enable aide
              chmod 755 /etc/cron.daily/aide
    
              sleep 3600
            done
          volumeMounts:
          - name: host
            mountPath: /host
          securityContext:
            privileged: true
        volumes:
        - name: host
          hostPath:
            path: /
    

    Nel manifest precedente:

    • Il cron job AIDE verrà eseguito solo sul pool di nodi pool-1 come specificato dal nodeSelector cloud.google.com/gke-nodepool: pool-1. Puoi configurare il processo AIDE per l'esecuzione sul numero desiderato di pool di nodi, specificando i pool nel campo nodeSelector. Per eseguire la stessa pianificazione di cron job su diversi pool di nodi, rimuovi il campo nodeSelector. Tuttavia, per evitare congestioni delle risorse dell'host, ti consigliamo di mantenere pianificazioni distinte.

    • Il cron job è pianificato per essere eseguito ogni giorno alle 5:30 come specificato dalla configurazione minute=30;hour=5. Puoi configurare diverse pianificazioni per il cron job AIDE, come richiesto.

  2. Copia il manifest in un file denominato enable-aide.yaml e crea il DaemonSet:

kubectl apply --kubeconfig USER_CLUSTER_KUBECONFIG -f enable-aide.yaml

dove USER_CLUSTER_KUBECONFIG è il percorso del file kubeconfig per il tuo cluster utente.