Benchmark CIS Ubuntu

Questo documento descrive il livello di conformità di Google Distributed Cloud al benchmark CIS Ubuntu.

Accedere al benchmark

Il benchmark CIS Ubuntu è disponibile sul sito web del CIS.

Profilo di configurazione

Nel documento CIS Ubuntu Benchmark puoi trovare informazioni sui profili di configurazione. Le immagini Ubuntu utilizzate da Google Distributed Cloud sono sottoposte a hardening per soddisfare il profilo del server di Livello 2.

Valutazione su Google Distributed Cloud

Utilizziamo i seguenti valori per specificare lo stato dei consigli Ubuntu in Google Distributed Cloud.

Stato Descrizione
Pass È conforme a un consiglio di benchmark.
Fail Non è conforme a un consiglio del benchmark.
Controllo equivalente Non è conforme ai termini esatti di un consiglio di benchmark, ma altri meccanismi in Google Distributed Cloud forniscono controlli di sicurezza equivalenti.
Dipende dall'ambiente Google Distributed Cloud non configura gli elementi relativi a un consiglio di benchmark. La configurazione determina se il tuo ambiente è conforme al consiglio.

Stato di Google Distributed Cloud

Le immagini Ubuntu utilizzate con Google Distributed Cloud sono sottoposte a hardening per soddisfare il profilo del server di Livello 2 del CIS. La tabella seguente fornisce le giustificazioni per la mancata applicazione di determinati consigli ai componenti di Google Distributed Cloud. I benchmark con stato Passed non sono inclusi nella tabella seguente.

1,31

Versioni

Questa sezione fa riferimento alle seguenti versioni:

Versione di Google Distributed Cloud Versione di Ubuntu Versione del benchmark CIS Ubuntu Livello CIS
1,31 22.04 LTS v1.0.0 Server di Livello 2
# Consiglio Stato Motivazione Componenti interessati
1.1.2.1 Assicurati che /tmp si trovi in una partizione separata Fail Al momento Canonical non ha in programma di modificare le partizioni delle immagini cloud. Tutti i nodi del cluster, Workstation di amministrazione, Seesaw
1.1.3.1 Assicurati che /var si trovi in una partizione separata Non verrà risolto Al momento Canonical non ha in programma di modificare le partizioni delle immagini cloud. Tutti i nodi del cluster, Workstation di amministrazione, Seesaw
1.1.4.1 Assicurati che /var/tmp si trovi in una partizione separata Non verrà risolto Al momento Canonical non ha in programma di modificare le partizioni delle immagini cloud. Tutti i nodi del cluster, Workstation di amministrazione, Seesaw
1.1.5.1 Assicurati che /var/log si trovi in una partizione separata Non verrà risolto Al momento Canonical non ha in programma di modificare le partizioni delle immagini cloud. Tutti i nodi del cluster, Workstation di amministrazione, Seesaw
1.1.6.1 Assicurati che /var/log/audit si trovi in una partizione separata Non verrà risolto Al momento Canonical non ha in programma di modificare le partizioni delle immagini cloud. Tutti i nodi del cluster, Workstation di amministrazione, Seesaw
1.1.7.1 Assicurati che /home si trovi in una partizione separata Non verrà risolto Al momento Canonical non ha in programma di modificare le partizioni delle immagini cloud. Tutti i nodi del cluster, Workstation di amministrazione, Seesaw
1.4.1 Impostare la password del bootloader in grub2 Dipende dall'ambiente Non è impostata alcuna password root sulle immagini cloud di Ubuntu. Tutti i nodi del cluster, Workstation di amministrazione, Seesaw
1.4.3 Verificare che l'autenticazione sia richiesta per la modalità utente singolo Dipende dall'ambiente Non è impostata alcuna password root sulle immagini cloud di Ubuntu. Tutti i nodi del cluster, Workstation di amministrazione, Seesaw
2.3.6 Disinstalla il pacchetto rpcbind Non riuscito rpcbind è installato nell'immagine cloud di Canonical, anche se non è abilitato per impostazione predefinita. La regola non va a buon fine perché richiede che il componente non sia installato Tutti i nodi del cluster Workstation di amministrazione, Seesaw
3.3.7 Attiva il parametro del kernel per utilizzare il filtro dei percorsi inversi su tutte le interfacce IPv4 Dipende dall'ambiente Il routing asincrono e l'origine del percorso inverso sono un requisito per il bilanciamento del carico del cluster. Tutti i nodi del cluster Seesaw
3.5.2.6 Imposta la configurazione di nftables per il traffico loopback Non verrà risolto La rete Anthos è stata interessata da questa regola. Tutti i nodi del cluster, Workstation di amministrazione, Seesaw
3.5.2.8 Assicurati che il criterio firewall di nftables sia di rifiuto predefinito Dipende dall'ambiente È consigliabile eseguire il deployment di Google Distributed Cloud su una rete privata con protezioni firewall appropriate. Le regole firewall richieste sono disponibili qui. Tutti i nodi del cluster, Workstation di amministrazione, Seesaw
4.2.3 Verifica le autorizzazioni dei file di log Fail Questo test specifico è eccessivamente restrittivo e non realistico, in quanto molti servizi potrebbero richiedere a un gruppo di scrivere file di log. Questo elemento potrebbe essere rimosso in un benchmark futuro. Tutti i nodi del cluster, Workstation di amministrazione, Seesaw
5.2.18 Limitare l'accesso SSH degli utenti Dipende dall'ambiente Questa opzione non è configurata per impostazione predefinita. Tutti i nodi del cluster, Workstation di amministrazione, Seesaw
5.3.4 Assicurati che gli utenti si ri-autentichino per l'escalation dei privilegi - sudo Dipende dall'ambiente Questa opzione non è configurata per impostazione predefinita. Tutti i nodi del cluster, Workstation di amministrazione, Seesaw
5.5.1.2 Impostare l'età massima della password Controllo equivalente Le VM per Google Distributed Cloud si basano sulla chiave SSH per l'accesso utente anziché utilizzare la password Tutti i nodi del cluster
6.1.10 Assicurati che tutti i file siano di proprietà di un utente Fail Le autorizzazioni sono state lasciate predefinite. Tutti i nodi del cluster

1,30

Versioni

Questa sezione fa riferimento alle seguenti versioni:

Versione di Google Distributed Cloud Versione di Ubuntu Versione del benchmark CIS Ubuntu Livello CIS
1,30 22.04 LTS v1.0.0 Server di Livello 2
# Consiglio Stato Motivazione Componenti interessati
1.1.2.1 Assicurati che /tmp si trovi in una partizione separata Fail Al momento Canonical non ha in programma di modificare le partizioni delle immagini cloud. Tutti i nodi del cluster, Workstation di amministrazione, Seesaw
1.1.3.1 Assicurati che /var si trovi in una partizione separata Non verrà risolto Al momento Canonical non ha in programma di modificare le partizioni delle immagini cloud. Tutti i nodi del cluster, Workstation di amministrazione, Seesaw
1.1.4.1 Assicurati che /var/tmp si trovi in una partizione separata Non verrà risolto Al momento Canonical non ha in programma di modificare le partizioni delle immagini cloud. Tutti i nodi del cluster, Workstation di amministrazione, Seesaw
1.1.5.1 Assicurati che /var/log si trovi in una partizione separata Non verrà risolto Al momento Canonical non ha in programma di modificare le partizioni delle immagini cloud. Tutti i nodi del cluster, Workstation di amministrazione, Seesaw
1.1.6.1 Assicurati che /var/log/audit si trovi in una partizione separata Non verrà risolto Al momento Canonical non ha in programma di modificare le partizioni delle immagini cloud. Tutti i nodi del cluster, Workstation di amministrazione, Seesaw
1.1.7.1 Assicurati che /home si trovi in una partizione separata Non verrà risolto Al momento Canonical non ha in programma di modificare le partizioni delle immagini cloud. Tutti i nodi del cluster, Workstation di amministrazione, Seesaw
1.4.1 Impostare la password del bootloader in grub2 Dipende dall'ambiente Non è impostata alcuna password root sulle immagini cloud di Ubuntu. Tutti i nodi del cluster, Workstation di amministrazione, Seesaw
1.4.3 Verificare che l'autenticazione sia richiesta per la modalità utente singolo Dipende dall'ambiente Non è impostata alcuna password root sulle immagini cloud di Ubuntu. Tutti i nodi del cluster, Workstation di amministrazione, Seesaw
2.3.6 Disinstalla il pacchetto rpcbind Non riuscito rpcbind è installato nell'immagine cloud di Canonical, anche se non è abilitato per impostazione predefinita. La regola non va a buon fine perché richiede che il componente non sia installato Tutti i nodi del cluster Workstation di amministrazione, Seesaw
3.3.7 Attiva il parametro del kernel per utilizzare il filtro dei percorsi inversi su tutte le interfacce IPv4 Dipende dall'ambiente Il routing asincrono e l'origine del percorso inverso sono un requisito per il bilanciamento del carico del cluster. Tutti i nodi del cluster Seesaw
3.5.2.6 Imposta la configurazione di nftables per il traffico loopback Non verrà risolto La rete Anthos è stata interessata da questa regola. Tutti i nodi del cluster, Workstation di amministrazione, Seesaw
3.5.2.8 Assicurati che il criterio firewall di nftables sia di rifiuto predefinito Dipende dall'ambiente È consigliabile eseguire il deployment di Google Distributed Cloud su una rete privata con protezioni firewall appropriate. Le regole firewall richieste sono disponibili qui. Tutti i nodi del cluster, Workstation di amministrazione, Seesaw
4.2.3 Verifica le autorizzazioni dei file di log Fail Questo test specifico è eccessivamente restrittivo e non realistico, in quanto molti servizi potrebbero richiedere a un gruppo di scrivere file di log. Questo elemento potrebbe essere rimosso in un benchmark futuro. Tutti i nodi del cluster, Workstation di amministrazione, Seesaw
5.2.18 Limitare l'accesso SSH degli utenti Dipende dall'ambiente Questa opzione non è configurata per impostazione predefinita. Tutti i nodi del cluster, Workstation di amministrazione, Seesaw
5.3.4 Assicurati che gli utenti si ri-autentichino per l'escalation dei privilegi - sudo Dipende dall'ambiente Questa opzione non è configurata per impostazione predefinita. Tutti i nodi del cluster, Workstation di amministrazione, Seesaw
5.5.1.2 Impostare l'età massima della password Controllo equivalente Le VM per Google Distributed Cloud si basano sulla chiave SSH per l'accesso utente anziché utilizzare la password Tutti i nodi del cluster
6.1.10 Assicurati che tutti i file siano di proprietà di un utente Fail Le autorizzazioni sono state lasciate predefinite. Tutti i nodi del cluster

1,29

Versioni

Questa sezione fa riferimento alle seguenti versioni:

Versione di Google Distributed Cloud Versione di Ubuntu Versione del benchmark CIS Ubuntu Livello CIS
1,29 22.04 LTS v1.0.0 Server di Livello 2
# Consiglio Stato Motivazione Componenti interessati
1.1.2.1 Assicurati che /tmp si trovi in una partizione separata Fail Al momento Canonical non ha in programma di modificare le partizioni delle immagini cloud. Tutti i nodi del cluster, Workstation di amministrazione, Seesaw
1.1.3.1 Assicurati che /var si trovi in una partizione separata Non verrà risolto Al momento Canonical non ha in programma di modificare le partizioni delle immagini cloud. Tutti i nodi del cluster, Workstation di amministrazione, Seesaw
1.1.4.1 Assicurati che /var/tmp si trovi in una partizione separata Non verrà risolto Al momento Canonical non ha in programma di modificare le partizioni delle immagini cloud. Tutti i nodi del cluster, Workstation di amministrazione, Seesaw
1.1.5.1 Assicurati che /var/log si trovi in una partizione separata Non verrà risolto Al momento Canonical non ha in programma di modificare le partizioni delle immagini cloud. Tutti i nodi del cluster, Workstation di amministrazione, Seesaw
1.1.6.1 Assicurati che /var/log/audit si trovi in una partizione separata Non verrà risolto Al momento Canonical non ha in programma di modificare le partizioni delle immagini cloud. Tutti i nodi del cluster, Workstation di amministrazione, Seesaw
1.1.7.1 Assicurati che /home si trovi in una partizione separata Non verrà risolto Al momento Canonical non ha in programma di modificare le partizioni delle immagini cloud. Tutti i nodi del cluster, Workstation di amministrazione, Seesaw
1.4.1 Impostare la password del bootloader in grub2 Dipende dall'ambiente Non è impostata alcuna password root sulle immagini cloud di Ubuntu. Tutti i nodi del cluster, Workstation di amministrazione, Seesaw
1.4.3 Verificare che l'autenticazione sia richiesta per la modalità utente singolo Dipende dall'ambiente Non è impostata alcuna password root sulle immagini cloud di Ubuntu. Tutti i nodi del cluster, Workstation di amministrazione, Seesaw
2.3.6 Disinstalla il pacchetto rpcbind Non riuscito rpcbind è installato nell'immagine cloud di Canonical, anche se non è abilitato per impostazione predefinita. La regola non va a buon fine perché richiede che il componente non sia installato Tutti i nodi del cluster Workstation di amministrazione, Seesaw
3.3.7 Attiva il parametro del kernel per utilizzare il filtro dei percorsi inversi su tutte le interfacce IPv4 Dipende dall'ambiente Il routing asincrono e l'origine del percorso inverso sono un requisito per il bilanciamento del carico del cluster. Nodi non master-amministratore Seesaw
3.5.2.6 Imposta la configurazione di nftables per il traffico loopback Non verrà risolto La rete Anthos è stata interessata da questa regola. Tutti i nodi del cluster, Workstation di amministrazione, Seesaw
3.5.2.8 Assicurati che il criterio firewall di nftables sia di rifiuto predefinito Dipende dall'ambiente È consigliabile eseguire il deployment di Google Distributed Cloud su una rete privata con protezioni firewall appropriate. Le regole firewall richieste sono disponibili qui. Tutti i nodi del cluster, Workstation di amministrazione, Seesaw
4.2.3 Verifica le autorizzazioni dei file di log Fail Questo test specifico è eccessivamente restrittivo e non realistico, in quanto molti servizi potrebbero richiedere a un gruppo di scrivere file di log. Questo elemento potrebbe essere rimosso in un benchmark futuro. Tutti i nodi del cluster, Workstation di amministrazione, Seesaw
5.2.18 Limitare l'accesso SSH degli utenti Dipende dall'ambiente Questa opzione non è configurata per impostazione predefinita. Tutti i nodi del cluster, Workstation di amministrazione, Seesaw
5.3.4 Assicurati che gli utenti si ri-autentichino per l'escalation dei privilegi - sudo Dipende dall'ambiente Questa opzione non è configurata per impostazione predefinita. Tutti i nodi del cluster, Workstation di amministrazione, Seesaw
5.5.1.2 Impostare l'età massima della password Controllo equivalente Le VM per Google Distributed Cloud si basano sulla chiave SSH per l'accesso utente anziché utilizzare la password Tutti i nodi del cluster
6.1.10 Assicurati che tutti i file siano di proprietà di un utente Fail Le autorizzazioni sono state lasciate predefinite. Tutti i nodi del cluster

Configura il cron job AIDE

AIDE è uno strumento di controllo dell'integrità dei file che garantisce la conformità al benchmark del server CIS L1 1.4 Filesystem Integrity Checking. In Google Distributed Cloud, il processo AIDE ha causato problemi di utilizzo elevato delle risorse.

Il processo AIDE sui nodi è disattivato per impostazione predefinita per evitare problemi relativi alle risorse. Ciò influirà sulla conformità al benchmark del server CIS L1 1.4.2: Ensure filesystem integrity is regularly checked.

Se vuoi attivare l'esecuzione del job cron AIDE, completa i seguenti passaggi 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 riportato sopra:

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

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

  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 cluster utente.