Comparativo de mercado do Ubuntu da CIS

Este documento descreve o nível de conformidade que o Google Distributed Cloud tem com o comparativo de mercado CIS do Ubuntu.

Acessar o comparativo de mercado

O comparativo de mercado do Ubuntu da CIS está disponível no site da CIS:

Perfil de configuração

No documento do comparativo de mercado do Ubuntu da CIS, é possível ler sobre os perfis de configuração. As imagens do Ubuntu usadas pelo Google Distributed Cloud são reforçadas para atender aos Nível 2: perfil do servidor.

Avaliação no Google Distributed Cloud

Usamos os seguintes valores para especificar o status das recomendações do Ubuntu no Google Distributed Cloud.

Status Descrição
Aprovado Está em conformidade com uma recomendação do comparativo de mercado.
Reprovado Não está em conformidade com uma recomendação do comparativo de mercado.
Controle equivalente Não estiver em conformidade com os termos exatos de uma recomendação de comparativo de mercado; mas outros mecanismos no Google Distributed Cloud oferecem controles de segurança.
Depende do ambiente O Google Distributed Cloud não configura itens relacionados a uma recomendação de comparativo de mercado. A configuração determina se o ambiente está em conformidade com a recomendação.

Status do Google Distributed Cloud

As imagens do Ubuntu usadas com o Google Distributed Cloud são reforçadas para atender à CIS Nível 2: perfil do servidor. A tabela a seguir fornece justificativas por que os componentes do Google Distributed Cloud não receberam determinadas recomendações.

Google Distributed Cloud 1.29

Em breve.

Google Distributed Cloud 1.28

Versões

Esta seção se refere a estas versões:

Versão do Google Distributed Cloud Versão do Ubuntu Versão do comparativo de mercado do Ubuntu da CIS Nível da CIS
1.28 22.04 LTS v1.0.0 Servidor de nível 2

Status do Google Distributed Cloud

As imagens do Ubuntu usadas com o Google Distributed Cloud são reforçadas para atender à CIS Nível 2: perfil do servidor. A tabela a seguir fornece justificativas por que os componentes do Google Distributed Cloud não receberam determinadas recomendações.

# Recomendação Status Motivo Componentes afetados
1.1.2.1 Verifique se /tmp está localizado em uma partição separada Reprovado A Canonical não tem o plano de modificar as partições de imagem em nuvem no momento. Todos os nós do cluster, estação de trabalho do administrador, Seesaw
1.1.3.1 Verifique se /var está localizado em uma partição separada Não corrigir A Canonical não tem o plano de modificar as partições de imagem em nuvem no momento. Todos os nós do cluster, estação de trabalho do administrador, Seesaw
1.1.4.1 Verifique se /var/tmp está localizado em uma partição separada Não corrigir A Canonical não tem o plano de modificar as partições de imagem em nuvem no momento. Todos os nós do cluster, estação de trabalho do administrador, Seesaw
1.1.5.1 Verifique se /var/log está localizado em uma partição separada Não corrigir A Canonical não tem o plano de modificar as partições de imagem em nuvem no momento. Todos os nós do cluster, estação de trabalho do administrador, Seesaw
1.1.6.1 Verifique se /var/log/audit está localizado em uma partição separada Não corrigir A Canonical não tem o plano de modificar as partições de imagem em nuvem no momento. Todos os nós do cluster, estação de trabalho do administrador, Seesaw
1.1.7.1 Verifique se /home está localizado em uma partição separada Não corrigir A Canonical não tem o plano de modificar as partições de imagem em nuvem no momento. Todos os nós do cluster, estação de trabalho do administrador, Seesaw
1.4.1 Definir a senha do carregador de inicialização no grub2 Depende do ambiente Nenhuma senha raiz é definida nas imagens da nuvem do Ubuntu. Todos os nós do cluster, estação de trabalho do administrador, Seesaw
1.4.3 Certifique-se de que o modo de usuário único seja autenticado Depende do ambiente Nenhuma senha raiz é definida nas imagens da nuvem do Ubuntu. Todos os nós do cluster, estação de trabalho do administrador, Seesaw
2.3.6 Desinstalar pacote rpcbind Falha O rpcbind é instalado na imagem da nuvem canônica, embora não esteja ativado por padrão. A regra está falhando porque exige que ela não seja instalada. Todos os nós do cluster, estação de trabalho do administrador, Seesaw
3.3.7 Ativar o parâmetro do kernel para usar a filtragem de caminho reverso em todas as interfaces IPv4 Depende do ambiente O roteamento assíncrono e a origem do caminho reverso são um requisito para o balanceamento de carga do cluster. Nós mestres que não são administradores Gangorra
3.5.2.6 Definir configuração de nftables para tráfego de loopback Não corrigir A rede do Anthos foi afetada por essa regra. Todos os nós de cluster, a estação de trabalho do administrador e o Seesaw
3.5.2.8 Verifique se a política de firewall de negação padrão de nftables Depende do ambiente Recomendamos implantar o Google Distributed Cloud em uma rede privada com proteções de firewall adequadas. As regras de firewall necessárias podem ser encontradas aqui. Todos os nós de cluster, a estação de trabalho do administrador e o Seesaw
4.2.3 Verificar as permissões dos arquivos de registro Reprovado Esse teste específico é muito restritivo e pouco realista, porque muitos serviços podem exigir que um grupo grave arquivos de registros. Este item pode ser removido em um comparativo de mercado futuro. Todos os nós do cluster, estação de trabalho do administrador, Seesaw
5.2.18 Limitar usuários Acesso SSH Depende do ambiente Isso não é configurado por padrão. Todos os nós do cluster, estação de trabalho do administrador, Seesaw
5.3.4 Garanta que os usuários façam a autenticação novamente para escalonamento de privilégios – sudo Depende do ambiente Isso não é configurado por padrão. Todos os nós do cluster, estação de trabalho do administrador, Seesaw
5.5.1.2 Definir idade máxima da senha Controle equivalente As VMs do Google Distributed Cloud dependem da chave SSH para o login do usuário em vez de usar a senha Todos os nós do cluster
6.1.10 Verifique se todos os arquivos pertencem a um usuário Reprovado As permissões foram mantidas como padrão. Todos os nós do cluster

Google Distributed Cloud 1.16

Versões

Esta seção se refere a estas versões:

Versão do Google Distributed Cloud Versão do Ubuntu Versão do comparativo de mercado do Ubuntu da CIS Nível da CIS
1.16 20.04 LTS v1.0.0 Servidor de nível 2

Status do Google Distributed Cloud

As imagens do Ubuntu usadas com o Google Distributed Cloud são reforçadas para atender à CIS Nível 2: perfil do servidor. A tabela a seguir fornece justificativas por que os componentes do Google Distributed Cloud não receberam determinadas recomendações.

# Recomendação Pontuou/Não pontuou Status Motivo Componentes afetados
1.1.2 Verifique se /tmp está configurado. Pontuou Reprovado A Canonical não tem o plano de modificar as partições de imagem em nuvem no momento. Todos os nós do cluster, estação de trabalho do administrador, Seesaw
1.1.10 Verifique se há uma partição separada para /var Pontuou Não corrigir A Canonical não tem o plano de modificar as partições de imagem em nuvem no momento. Todos os nós do cluster, estação de trabalho do administrador, Seesaw
1.1.11 Verifique se há uma partição separada para /var/tmp Pontuou Não corrigir A Canonical não tem o plano de modificar as partições de imagem em nuvem no momento. Todos os nós do cluster, estação de trabalho do administrador, Seesaw
1.1.15 Verifique se há uma partição separada para /var/log Pontuou Não corrigir A Canonical não tem o plano de modificar as partições de imagem em nuvem no momento. Todos os nós do cluster, estação de trabalho do administrador, Seesaw
1.1.16 Verifique se há uma partição separada para /var/log/audit Pontuou Não corrigir A Canonical não tem o plano de modificar as partições de imagem em nuvem no momento. Todos os nós do cluster, estação de trabalho do administrador, Seesaw
1.1.17 Verifique se existe uma partição separada para /home Pontuou Não corrigir A Canonical não tem o plano de modificar as partições de imagem em nuvem no momento. Todos os nós do cluster, estação de trabalho do administrador, Seesaw
1.1.22 Certifique-se de que o bit fixo esteja definido em todos os diretórios graváveis globalmente Pontuou Reprovado Isso pode interferir na funcionalidade do Anthos e dos serviços dele e não é ativado por padrão. Todos os nós do cluster, estação de trabalho do administrador
1.5.1 Verifique se as permissões na configuração do carregador de inicialização estão definidas Pontuou Reprovado As permissões foram mantidas como padrão. Todos os nós de cluster, Seesaw
1.5.2 Verifique se a senha do carregador de inicialização está definida Pontuou Depende do ambiente Nenhuma senha raiz é definida nas imagens da nuvem do Ubuntu. Todos os nós do cluster, estação de trabalho do administrador, Seesaw
1.5.3 Certifique-se de que o modo de usuário único seja autenticado Pontuou Depende do ambiente Nenhuma senha raiz é definida nas imagens da nuvem do Ubuntu. Todos os nós do cluster, estação de trabalho do administrador, Seesaw
2.3.6 Verificar se a RPC não está instalada Pontuou Com falha O rpcbind é instalado na imagem da nuvem canônica, embora não esteja ativado por padrão. A regra está falhando porque exige que ela não seja instalada. Todos os nós do cluster
3.2.2 Verifique se o encaminhamento de IP está desativado Pontuou Reprovado O encaminhamento de IP é necessário para que o Kubernetes (GKE) funcione e encaminhe o tráfego corretamente Todos os nós do cluster, estação de trabalho do administrador, Seesaw
3.2.7 Verifique se a filtragem de caminho reverso está ativada Pontuou Depende do ambiente O roteamento assíncrono e a origem do caminho reverso são um requisito para o balanceamento de carga do cluster. Seesaw
3.5.3.2.1 Certifique-se de que a política de firewall de negação padrão Pontuou Depende do ambiente Recomendamos implantar o Google Distributed Cloud em uma rede privada com proteções de firewall adequadas. As regras de firewall necessárias podem ser encontradas aqui. Todos os nós de cluster, a estação de trabalho do administrador e o Seesaw
3.5.3.2.2 Verifique se o tráfego de loopback está configurado Pontuou Depende do ambiente O uso da interface de loopback é limitado devido à funcionalidade de balanceamento de carga usada. Seesaw
3.5.3.2.4 Verifique se existem regras de firewall para todas as portas abertas Não pontuou Depende do ambiente Recomendamos implantar o Google Distributed Cloud em uma rede privada com proteções de firewall adequadas. As regras de firewall necessárias podem ser encontradas aqui. Todos os nós do cluster, estação de trabalho do administrador, Seesaw
3.5.3.3.1 Certifique-se de que a política de firewall de negação padrão IPv6 Pontuou Depende do ambiente Recomendamos implantar o Google Distributed Cloud em uma rede privada com proteções de firewall adequadas. As regras de firewall necessárias podem ser encontradas aqui. Além disso, o Anthos não tem requisitos para IPv6 compatível com GA. Todos os nós do cluster, estação de trabalho do administrador, Seesaw
3.5.3.3.2 Verifique se o tráfego de loopback do IPv6 está configurado Pontuou Depende do ambiente O Anthos não tem requisitos para IPv6 de acordo com o suporte do GA. Plano de controle de administrador, Seesaw
4.1.1.3 Verificar se a auditoria de processos iniciados antes da auditoria está ativada Pontuou Reprovado Um problema conhecido com nosso processo de compilação sinaliza isso como "Falha", mas isso deve ser considerado um alarme falso. Isso será corrigido no futuro. Todos os nós de cluster, Seesaw
4.1.11 Garantir que o uso de comandos com privilégios seja coletado Pontuou Reprovado Alguns binários são instalados no ambiente de execução. Portanto, a correção é necessária. Todos os nós do cluster, estação de trabalho do administrador, Seesaw
4.2.1.5 Verificar se o rsyslog está configurado para enviar registros a um host de registro remoto Pontuou Depende do ambiente O Google Distributed Cloud atualmente coleta todos os registros com journald (dos serviços do sistema). Eles podem ser vistos em "k8s_node". Todos os nós do cluster, estação de trabalho do administrador, Seesaw
4.2.3 Verifique se as permissões em todos os arquivos de registro estão configuradas Pontuou Reprovado Esse teste específico é muito restritivo e pouco realista, porque muitos serviços podem exigir que um grupo grave arquivos de registros. Este item pode ser removido em um comparativo de mercado futuro. Todos os nós do cluster, estação de trabalho do administrador, Seesaw
4.4 Verifique se o logrotate atribui as permissões apropriadas Pontuou Com falha O cumprimento dessa regra pode afetar a funcionalidade de geração de registros atual Todos os nós de cluster, Seesaw
5.2.18 Verifique se o acesso SSH está limitado Pontuou Depende do ambiente Isso não é configurado por padrão. Ele pode ser configurado para atender aos seus requisitos específicos. Todos os nós do cluster, estação de trabalho do administrador, Seesaw
5.2.20 Verifique se o SSH AllowTcpForwarding está desativado Pontuou Com falha O cumprimento dessa regra pode afetar a funcionalidade atual do túnel SSH Todos os nós do cluster
5.4.1.1 Garanta que a validade da senha seja de 365 dias ou menos Pontuou Controle equivalente As VMs do Google Distributed Cloud dependem da chave SSH para o login do usuário em vez de usar a senha Todos os nós do cluster
6.1.10 Verifique se não há arquivos graváveis mundiais Pontuou Reprovado As permissões foram mantidas como padrão. Todos os nós do cluster
6.1.11 Verifique se não há arquivos ou diretórios não proprietários Pontuou Reprovado As permissões foram mantidas como padrão. Todos os nós do cluster
6.1.12 Verifique se não há arquivos ou diretórios desagrupados Pontuou Reprovado As permissões foram mantidas como padrão. Todos os nós do cluster
6.2.7 Verifique se os arquivos dos pontos dos usuários não são graváveis ou agrupados Pontuou Reprovado As configurações padrão do Ubuntu aceitam permissões do grupo de arquivos de ponto devido à compatibilidade Estação de trabalho do administrador

Configurar cron job do AIDE

O AIDE é uma ferramenta de verificação de integridade de arquivos que garante a conformidade com a referência de servidor CIS L1 1.4 Filesystem Integrity Checking. No Google Distributed Cloud, o processo de AIDE causa problemas de uso elevado de recursos.

O processo AIDE em nós é desativado por padrão para evitar que recursos problemas. Isso afetará a conformidade com o comparativo de mercado do servidor CIS L1 1.4.2: Ensure filesystem integrity is regularly checked.

Se você quiser ativar a execução do cron job do AIDE, conclua as etapas a seguir para reativá-lo:

  1. Crie um DaemonSet.

    Aqui está um manifesto para um BackendConfig.

    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: /
    

    No manifesto acima:

    • O job cron do AIDE só será executado no pool de nós pool-1 conforme especificado pelo nodeSelector cloud.google.com/gke-nodepool: pool-1. É possível configurar o processo do AIDE para ser executado em quantos pools de nós você quiser especificando os pools no campo nodeSelector. Para executar a mesma programação de cron jobs em diferentes pools de nós, remova o campo nodeSelector. No entanto, para evitar congestionamentos de recursos de host, recomendamos manter programações separadas.

    • O cron job está programado para ser executado diariamente às 5h30, conforme especificado pela configuração minute=30;hour=5. É possível configurar programações diferentes para o cron job do AIDE, conforme necessário.

  2. Copie o manifesto para um arquivo chamado enable-aide.yaml e crie o DaemonSet:

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

    em que USER_CLUSTER_KUBECONFIG é o caminho do arquivo kubeconfig do cluster de usuário.