Comparativos do CIS

Este documento apresenta o comparativo de mercado CIS do Kubernetes, explica como auditar seu compliance com o comparativo e o que o GKE On-Prem configura onde não é possível implementar uma recomendação por conta própria.

Como usar os CIS Benchmarks

O Center for Internet Security (CIS) lança comparativos de mercado para práticas recomendadas de segurança. O comparativo de mercado CIS do Kubernetes (em inglês) apresenta um conjunto de recomendações para configurar o Kubernetes para oferecer suporte a uma forte postura de segurança. O comparativo de mercado está vinculado a uma versão específica do Kubernetes. O CIS Benchmark do Kubernetes foi escrito para a distribuição de código aberto do Kubernetes e para ser aplicado universalmente a todas as distribuições possíveis.

Versões

Os números de versão para diferentes comparativos de mercado podem não ser os mesmos.

Este documento se refere a estas versões:

Versão Anthos Versão do Kubernetes Versão do comparativo de mercado CIS do Kubernetes
1.4.0 1.16 1.5.1

Comparativo de mercado CIS do Kubernetes

Como acessar o comparativo de mercado

O comparativo de mercado CIS do Kubernetes está disponível no site do CIS.

Níveis de recomendação

No comparativo de mercado CIS do Kubernetes

Nível Descrição
Nível 1

A ideia é que as recomendações:

  • sejam práticas e prudentes;
  • forneçam um benefício de segurança claro;
  • não inibam a utilidade da tecnologia para além dos meios aceitáveis.
  • Nível 2

    Amplia o perfil de nível 1.

    As recomendações exibem uma ou mais das seguintes características:

  • São destinadas a ambientes ou casos de uso em que a segurança é fundamental.
  • Atuam como medidas de defesa em profundidade.
  • Podem inibir negativamente a utilidade ou o desempenho da tecnologia.
  • Pontuação da recomendação

    No comparativo de mercado CIS do Kubernetes

    Pontuação Descrição
    Pontuou O não cumprimento dessas recomendações diminuirá a pontuação final do comparativo de mercado.
    Não pontuou O não cumprimento dessas recomendações não diminuirá a pontuação final do comparativo de mercado.

    Avaliação no GKE On-Prem

    Usamos os seguintes valores para especificar o status das recomendações do Kubernetes no GKE On-Prem:

    Status Descrição
    Aprovado Está em conformidade com uma recomendação de comparativo de mercado.
    Reprovado Não está em conformidade com uma recomendação de comparativo de mercado.
    Controle equivalente Não está em conformidade com os termos exatos na recomendação de comparativo de mercado, mas há outros mecanismos no GKE On-Prem para fornecer controles de segurança equivalentes.
    Depende do ambiente O GKE On-Prem não configura itens relacionados a essa recomendação. A configuração do usuário determina se o ambiente está em conformidade com uma recomendação de comparativo de mercado.

    Arquitetura do GKE On-Prem

    O GKE On-Prem usa um "cluster de administrador" para gerenciar um ou mais "clusters de usuário", que executam cargas de trabalho reais do Kubernetes. Mais informações sobre essa arquitetura podem ser encontradas na visão geral do GKE On-Prem. A configuração de clusters de administradores e usuários é avaliada em relação ao comparativo de mercado abaixo.

    Status no GKE On-Prem

    Ao criar um novo cluster local do GKE com a versão especificada, veja o desempenho dele no comparativo de mercado CIS do Kubernetes.

    Status do cluster de administrador do GKE On-Prem:

    # Recomendação Pontuou/Não pontuou Nível Status
    1 Configuração de segurança do nó mestre
    1.1 Arquivos de configuração do nó mestre
    1.1.1 Verificar se as permissões do arquivo de especificação do pod do servidor de API estão definidas como 644 ou são mais restritivas Pontuou N1 Controle equivalente
    1.1.2 Verificar se a propriedade do arquivo de especificação do pod do servidor de API está definida como root:root Pontuou N1 Controle equivalente
    1.1.3 Verificar se as permissões do arquivo de especificação do pod do gerenciador de controladores estão definidas como 644 ou são mais restritivas Pontuou N1 Controle equivalente
    1.1.4 Verificar se a propriedade do arquivo de especificação do pod do gerenciador de controladores está definida como root:root Pontuou N1 Controle equivalente
    1.1.5 Verificar se as permissões do arquivo de especificação do pod do programador estão definidas como 644 ou são mais restritivas Pontuou N1 Controle equivalente
    1.1.6 Verificar se a propriedade do arquivo de especificação do pod do programador está definida como root:root Pontuou N1 Controle equivalente
    1.1.7 Verificar se as permissões do arquivo de especificação do pod do etcd estão definidas como 644 ou são mais restritivas Pontuou N1 Controle equivalente
    1.1.8 Verificar se a propriedade do arquivo de especificação do pod etcd está definida como root:root Pontuou N1 Controle equivalente
    1.1.9 Verificar se as permissões do arquivo da interface de rede do contêiner estão definidas como 644 ou são mais restritivas Não pontuou N1 Aprovado
    1.1.10 Verificar se a propriedade do arquivo da interface de rede do contêiner está definida como root:root Não pontuou N1 Aprovado
    1.1.11 Verificar se as permissões do diretório de dados do etcd estão definidas como 700 ou são mais restritivas Pontuou N1 Controle equivalente
    1.1.12 Verificar se a propriedade do diretório de dados do etcd está definida como etcd:etcd Pontuou N1 Controle equivalente
    1.1.13 Verificar se as permissões do arquivo admin.conf estão definidas como 644 ou são mais restritivas Pontuou N1 Controle equivalente
    1.1.14 Verificar se a propriedade do arquivo admin.conf está definida como root:root Pontuou N1 Controle equivalente
    1.1.15 Verificar se as permissões do arquivo scheduler.conf estão definidas como 644 ou são mais restritivas Pontuou N1 Controle equivalente
    1.1.16 Verificar se a propriedade do arquivo scheduler.conf está definida como root:root Pontuou N1 Controle equivalente
    1.1.17 Verificar se as permissões do arquivo controller-manager.conf estão definidas como 644 ou são mais restritivas Pontuou N1 Controle equivalente
    1.1.18 Verificar se a propriedade do arquivo controller-manager.conf está definida como root:root Pontuou N1 Controle equivalente
    1.1.19 Verificar se o diretório PKI do Kubernetes e a propriedade do arquivo estão definidos como root:root Pontuou N1 Aprovado
    1.1.20 Verificar se as permissões do arquivo de certificado PKI do Kubernetes estão definidas como 644 ou são mais restritivas Não pontuou N1 Aprovado
    1.1.21 Verificar se as permissões do arquivo de chave PKI do Kubernetes estão definidas como 600 Não pontuou N1 Aprovado
    1.2 Servidor de API
    1.2.1 Verificar se o argumento --anonymous-auth está definido como falso Não pontuou N1 Alerta
    1.2.2 Verificar se o argumento --basic-auth-file não está definido Pontuou N1 Aprovado
    1.2.3 Verificar se o parâmetro --token-auth-file não está definido Pontuou N1 Pass
    1.2.4 Verificar se o argumento --kubelet-https está definido como verdadeiro Pontuou N1 Aprovado
    1.2.5 Verificar se os argumentos --kubelet-client-certificate e --kubelet-client-key estão definidos conforme apropriado Pontuou N1 Aprovado
    1.2.6 Verificar se o argumento --kubelet-certificate-authority está definido conforme apropriado Pontuou N1 Aprovado
    1.2.7 Verificar se o argumento --authorization-mode não está definido como AlwaysAllow Pontuou N1 Aprovado
    1.2.8 Verificar se o argumento --authorization-mode inclui o nó Pontuou N1 Aprovado
    1.2.9 Verificar se o argumento --authorization-mode inclui o RBAC Pontuou N1 Aprovado
    1.2.10 Verificar se o plug-in de controle de admissão EventRateLimit está definido Não pontuou N1 Alerta
    1.2.11 Verificar se o plug-in de controle de admissão AlwaysAdmit não está definido Pontuou N1 Aprovado
    1.2.12 Verificar se o plug-in de controle de admissão AlwaysPullImages está definido Não pontuou N1 Alerta
    1.2.13 Verificar se o plug-in de controle de admissão SecurityContextDeny está definido, se PodSecurityPolicy não for usado Não pontuou N1 Controle equivalente
    1.2.14 Verificar se o plug-in de controle de admissão ServiceAccount está definido Pontuou N1 Aprovado
    1.2.15 Verificar se o plug-in de controle de admissão NamespaceLifecycle está definido Pontuou N1 Aprovado
    1.2.16 Verificar se o plug-in de controle de admissão PodSecurityPolicy está definido Pontuou N1 Controle equivalente
    1.2.17 Verificar se o plug-in de controle de admissão NodeRestriction está definido Pontuou N1 Aprovado
    1.2.18 Verificar se o argumento --insecure-bind-address não está definido Pontuou N1 Aprovado
    1.2.19 Verificar se o argumento --insecure-port está definido como 0 Pontuou N1 Aprovado
    1.2.20 Verificar se o argumento --secure-port não está definido como 0 Pontuou N1 Aprovado
    1.2.21 Verificar se o argumento --profiling está definido como falso Pontuou N1 Pass
    1.2.22 Verificar se o argumento --audit-log-path está definido Pontuou N1 Controle equivalente
    1.2.23 Verificar se o argumento --audit-log-maxage está definido como 30 ou conforme apropriado Pontuou N1 Controle equivalente
    1.2.24 Verificar se o argumento --audit-log-maxbackup está definido como 10 ou conforme apropriado Pontuou N1 Controle equivalente
    1.2.25 Verificar se o argumento --audit-log-maxsize está definido como 100 ou conforme apropriado Pontuou N1 Controle equivalente
    1.2.26 Verificar se o argumento --request-timeout está definido conforme apropriado Pontuou N1 Aprovado
    1.2.27 Verificar se o argumento --service-account-lookup está definido como verdadeiro Pontuou N1 Aprovado
    1.2.28 Verificar se o argumento --service-account-key-file está definido conforme apropriado Pontuou N1 Aprovado
    1.2.29 Verificar se os argumentos --etcd-certfile e --etcd-keyfile estão definidos conforme apropriado Pontuou N1 Pass
    1.2.30 Verificar se os argumentos --tls-cert-file e --tls-private-key-file estão definidos conforme apropriado Pontuou N1 Controle equivalente
    1.2.31 Verificar se o argumento --client-ca-file está definido conforme apropriado Pontuou N1 Aprovado
    1.2.32 Verificar se o argumento --etcd-cafile está definido conforme apropriado Pontuou N1 Pass
    1.2.33 Verificar se o argumento --encryption-provider-config está definido conforme apropriado Não pontuou N1 Alerta
    1.2.34 Verificar se os provedores de criptografia estão configurados corretamente Não pontuou N1 Alerta
    1.2.35 Verificar se o servidor de API usa apenas códigos criptográficos fortes Não pontuou N1 Aprovado
    1.3 Controller Manager
    1.3.1 Verificar se o argumento --terminated-pod-gc-threshold está definido conforme apropriado Não pontuou N1 Aprovado
    1.3.2 Verificar se o argumento --profiling está definido como falso Pontuou N1 Pass
    1.3.3 Verificar se o argumento --use-service-account-credentials está definido como verdadeiro Pontuou N1 Pass
    1.3.4 Verificar se o argumento --service-account-private-key-file está definido conforme apropriado Pontuou N1 Aprovado
    1.3.5 Verificar se o argumento --root-ca-file está definido conforme apropriado Pontuou N1 Aprovado
    1.3.6 Verificar se o argumento RotateKubeletServerCertificate está definido como verdadeiro Pontuou N2 Controle equivalente
    1.3.7 Verificar se o argumento --bind-address está definido como 127.0.0.1 Pontuou N1 Aprovado
    1.4 Programador
    1.4.1 Verificar se o argumento --profiling está definido como falso Pontuou N1 Pass
    1.4.2 Verificar se o argumento --bind-address está definido como 127.0.0.1 Pontuou N1 Aprovado
    2 Configuração de nó do etct
    2 Arquivos de configuração do nó do etct
    2.1 Verificar se os argumentos --cert-file e --key-file estão definidos conforme apropriado Pontuou N1 Pass
    2.2 Verificar se o argumento --client-cert-auth está definido como verdadeiro Pontuou N1 Pass
    2,3 Verificar se o argumento --auto-tls não está definido como verdadeiro Pontuou N1 Aprovado
    2.4 Verificar se os argumentos --peer-cert-file e --peer-key-file estão definidos conforme apropriado Pontuou N1 Pass
    2,5 Verificar se o argumento --peer-client-cert-auth está definido como verdadeiro Pontuou N1 Pass
    2,6 Verificar se o argumento --peer-auto-tls não está definido como verdadeiro Pontuou N1 Pass
    2,7 Verificar se uma autoridade de certificação exclusiva é usada para o etcd Não pontuou N2 Aprovado
    3 Configuração do plano de controle
    3.1 Autenticação e autorização
    3.1.1 Não é possível usar a autenticação de certificado do cliente para usuários Não pontuou N2 Alerta
    3.2 Logging
    3.2.1 Verificar se uma política de auditoria mínima foi criada Pontuou N1 Controle equivalente
    3.2.2 Verificar se a política de auditoria abrange as principais preocupações de segurança Não pontuou N2 Controle equivalente
    4 Configuração de segurança do nó de trabalho
    4.1 Arquivos de configuração do nó de trabalho
    4.1.1 Verificar se as permissões do arquivo de serviço do Kubelet estão definidas como 644 ou são mais restritivas Pontuou N1 Aprovado
    4.1.2 Verificar se a propriedade do arquivo de serviço do Kubelet está definida como root:root Pontuou N1 Aprovado
    4.1.3 Verificar se as permissões do arquivo kubeconfig do proxy estão definidas como 644 ou são mais restritivas Pontuou N1 Controle equivalente
    4.1.4 Verificar se a propriedade do arquivo kubeconfig do proxy está definida como root:root Pontuou N1 Controle equivalente
    4.1.5 Verificar se as permissões do arquivo kubelet.conf estão definidas como 644 ou são mais restritivas Pontuou N1 Controle equivalente
    4.1.6 Verificar se a propriedade do arquivo kubelet.conf está definida como root:root Pontuou N1 Controle equivalente
    4.1.7 Verificar se as permissões do arquivo de autoridades de certificação estão definidas como 644 ou são mais restritivas Pontuou N1 Aprovado
    4.1.8 Verificar se a propriedade do arquivo de autoridades de certificação do cliente está definida como root:root Pontuou N1 Aprovado
    4.1.9 Verificar se o arquivo de configuração do kubelet tem permissões definidas como 644 ou são mais restritivas Pontuou N1 Aprovado
    4.1.10 Verificar se a propriedade do arquivo de configuração do kubelet está definida como root:root Pontuou N1 Aprovado
    4.2 Kubelet
    4.2.1 Verificar se o argumento anonymous-auth está definido como falso Pontuou N1 Aprovado
    4.2.2 Verificar se o argumento --authorization-mode não está definido como AlwaysAllow Pontuou N1 Aprovado
    4.2.3 Verificar se o argumento --client-ca-file está definido conforme apropriado Pontuou N1 Aprovado
    4.2.4 Verificar se o argumento --read-only-port está definido como 0 Pontuou N1 Reprovado
    4.2.5 Verificar se o argumento --streaming-connection-idle-timeout não está definido como 0 Pontuou N1 Aprovado
    4.2.6 Verificar se o argumento --protect-kernel-defaults está definido como verdadeiro Pontuou N1 Reprovado
    4.2.7 Verificar se o argumento --make-iptables-util-chains está definido como verdadeiro Pontuou N1 Aprovado
    4.2.8 Verificar se o argumento --hostname-override não está definido Não pontuou N1 Aprovado
    4.2.9 Verificar se o argumento --event-qps está definido como 0 ou em um nível que garanta a captura apropriada do evento Não pontuou N2 Alerta
    4.2.10 Verificar se os argumentos --tls-cert-file e --tls-private-key-file estão definidos conforme apropriado Pontuou N1 Controle equivalente
    4.2.11 Verificar se o argumento --rotate-certificates não está definido como falso Pontuou N1 Pass
    4.2.12 Verificar se o argumento RotateKubeletServerCertificate está definido como verdadeiro Pontuou N1 Controle equivalente
    4.2.13 Verificar se o Kubelet usa somente códigos criptográficos fortes Não pontuou N1 Alerta
    Descrições de falhas e controles equivalentes do cluster de administrador do GKE On-Prem:
    # Recomendação Pontuou/Não pontuou Nível Status Valor Justificativa
    1.1.1 Verificar se as permissões do arquivo de especificação do pod do servidor de API estão definidas como 644 ou são mais restritivas Pontuou N1 Controle equivalente As especificações do pod do plano de controle são protegidas por uma política de autorização RBAC igualmente restritiva no cluster de administrador e não estão presentes como arquivos no disco.
    1.1.2 Verificar se a propriedade do arquivo de especificação do pod do servidor de API está definida como root:root Pontuou N1 Controle equivalente As especificações do pod do plano de controle são protegidas por uma política de autorização RBAC igualmente restritiva no cluster de administrador e não estão presentes como arquivos no disco.
    1.1.3 Verificar se as permissões do arquivo de especificação do pod do gerenciador de controladores estão definidas como 644 ou são mais restritivas Pontuou N1 Controle equivalente As especificações do pod do plano de controle são protegidas por uma política de autorização RBAC igualmente restritiva no cluster de administrador e não estão presentes como arquivos no disco.
    1.1.4 Verificar se a propriedade do arquivo de especificação do pod do gerenciador de controladores está definida como root:root Pontuou N1 Controle equivalente As especificações do pod do plano de controle são protegidas por uma política de autorização RBAC igualmente restritiva no cluster de administrador e não estão presentes como arquivos no disco.
    1.1.5 Verificar se as permissões do arquivo de especificação do pod do programador estão definidas como 644 ou são mais restritivas Pontuou N1 Controle equivalente As especificações do pod do plano de controle são protegidas por uma política de autorização RBAC igualmente restritiva no cluster de administrador e não estão presentes como arquivos no disco.
    1.1.6 Verificar se a propriedade do arquivo de especificação do pod do programador está definida como root:root Pontuou N1 Controle equivalente As especificações do pod do plano de controle são protegidas por uma política de autorização RBAC igualmente restritiva no cluster de administrador e não estão presentes como arquivos no disco.
    1.1.7 Verificar se as permissões do arquivo de especificação do pod do etcd estão definidas como 644 ou são mais restritivas Pontuou N1 Controle equivalente As especificações do pod do plano de controle são protegidas por uma política de autorização RBAC igualmente restritiva no cluster de administrador e não estão presentes como arquivos no disco.
    1.1.8 Verificar se a propriedade do arquivo de especificação do pod etcd está definida como root:root Pontuou N1 Controle equivalente As especificações do pod do plano de controle são protegidas por uma política de autorização RBAC igualmente restritiva no cluster de administrador e não estão presentes como arquivos no disco.
    1.1.11 Verificar se as permissões do diretório de dados do etcd estão definidas como 700 ou são mais restritivas Pontuou N1 Controle equivalente 755 O diretório de dados do etcd tem as permissões 755 padrão, mas os subdiretórios são 700.
    1.1.12 Verificar se a propriedade do diretório de dados do etcd está definida como etcd:etcd Pontuou N1 Controle equivalente root:root O contêiner do etcd é executado como root, e o diretório de dados do etcd pertence a root:root.
    1.1.13 Verificar se as permissões do arquivo admin.conf estão definidas como 644 ou são mais restritivas Pontuou N1 Controle equivalente As especificações do pod do plano de controle são protegidas por uma política de autorização RBAC igualmente restritiva no cluster de administrador e não estão presentes como arquivos no disco.
    1.1.14 Verificar se a propriedade do arquivo admin.conf está definida como root:root Pontuou N1 Controle equivalente As especificações do pod do plano de controle são protegidas por uma política de autorização RBAC igualmente restritiva no cluster de administrador e não estão presentes como arquivos no disco.
    1.1.15 Verificar se as permissões do arquivo scheduler.conf estão definidas como 644 ou são mais restritivas Pontuou N1 Controle equivalente As especificações do pod do plano de controle são protegidas por uma política de autorização RBAC igualmente restritiva no cluster de administrador e não estão presentes como arquivos no disco.
    1.1.16 Verificar se a propriedade do arquivo scheduler.conf está definida como root:root Pontuou N1 Controle equivalente As especificações do pod do plano de controle são protegidas por uma política de autorização RBAC igualmente restritiva no cluster de administrador e não estão presentes como arquivos no disco.
    1.1.17 Verificar se as permissões do arquivo controller-manager.conf estão definidas como 644 ou são mais restritivas Pontuou N1 Controle equivalente As especificações do pod do plano de controle são protegidas por uma política de autorização RBAC igualmente restritiva no cluster de administrador e não estão presentes como arquivos no disco.
    1.1.18 Verificar se a propriedade do arquivo controller-manager.conf está definida como root:root Pontuou N1 Controle equivalente As especificações do pod do plano de controle são protegidas por uma política de autorização RBAC igualmente restritiva no cluster de administrador e não estão presentes como arquivos no disco.
    1.2.1 Verificar se o argumento --anonymous-auth está definido como falso Não pontuou N1 Alerta não definido Alguns componentes de monitoramento do GKE On-Prem usam autenticação anônima para realizar verificações de integridade.
    1.2.10 Verificar se o plug-in de controle de admissão EventRateLimit está definido Não pontuou N1 Alerta não definido O GKE On-Prem não é compatível com o controlador de admissão da limitação de taxa de eventos, já que ele é um recurso Alfa do Kubernetes.
    1.2.12 Verificar se o plug-in de controle de admissão AlwaysPullImages está definido Não pontuou N1 Alerta não definido O controlador de admissão AlwaysPullImages oferece alguma proteção para imagens de registros particulares em clusters multilocatários não cooperativos. Mas isso faz com que os registros do contêiner se tornem um único ponto de falha para criar novos pods em todo o cluster. O GKE On-Prem não ativa o controlador de admissão AlwaysPullImages, o que permite que os administradores de cluster implementem a política de admissão para que tenham essa compensação por conta própria.
    1.2.13 Verificar se o plug-in de controle de admissão SecurityContextDeny está definido, se PodSecurityPolicy não for usado Não pontuou N1 Controle equivalente não definido As políticas de configurações de segurança em pods são gerenciadas pelo Policy Controller e o Anthos Config Management.
    1.2.16 Verificar se o plug-in de controle de admissão PodSecurityPolicy está definido Pontuou N1 Controle equivalente não definido As políticas de configurações de segurança em pods são gerenciadas pelo Policy Controller e o Anthos Config Management.
    1.2.22 Verificar se o argumento --audit-log-path está definido Pontuou N1 Controle equivalente não definido O GKE On-Prem captura registros de auditoria, mas não usa essas sinalizações para auditoria. Consulte a política de auditoria GKE On-Prem para mais detalhes.
    1.2.23 Verificar se o argumento --audit-log-maxage está definido como 30 ou conforme apropriado Pontuou N1 Controle equivalente não definido O GKE On-Prem captura registros de auditoria, mas não usa essas sinalizações para auditoria. Consulte a política de auditoria GKE On-Prem para mais detalhes.
    1.2.24 Verificar se o argumento --audit-log-maxbackup está definido como 10 ou conforme apropriado Pontuou N1 Controle equivalente não definido O GKE On-Prem captura registros de auditoria, mas não usa essas sinalizações para auditoria. Consulte a política de auditoria GKE On-Prem para mais detalhes.
    1.2.25 Verificar se o argumento --audit-log-maxsize está definido como 100 ou conforme apropriado Pontuou N1 Controle equivalente não definido O GKE On-Prem captura registros de auditoria, mas não usa essas sinalizações para auditoria. Consulte a política de auditoria GKE On-Prem para mais detalhes.
    1.2.30 Verificar se os argumentos --tls-cert-file e --tls-private-key-file estão definidos conforme apropriado Pontuou N1 Controle equivalente não definido O GKE On-Prem gerencia o TLS do servidor kubelet usando a sinalização --rotate-server-certificates.
    1.2.33 Verificar se o argumento --encryption-provider-config está definido conforme apropriado Não pontuou N1 Alerta não definido O GKE On-Prem ainda não é compatível com a criptografia de camada de aplicativo de secrets.
    1.2.34 Verificar se os provedores de criptografia estão configurados corretamente Não pontuou N1 Alerta não definido O GKE On-Prem ainda não é compatível com a criptografia de camada de aplicativo de secrets.
    1.3.6 Verificar se o argumento RotateKubeletServerCertificate está definido como verdadeiro Pontuou N2 Controle equivalente não definido O GKE On-Prem permite a rotação do certificado Kubelet definindo --rotate-server-certificates=true nos kubelets.
    3.1.1 Não é possível usar a autenticação de certificado do cliente para usuários Não pontuou N2 Alerta O GKE On-Prem gera credenciais de certificado de cliente do administrador para definir permissões de inicialização para os usuários.
    3.2.1 Verificar se uma política de auditoria mínima foi criada Pontuou N1 Controle equivalente não definido O GKE On-Prem captura registros de auditoria, mas não usa essas sinalizações para auditoria. Consulte a política de auditoria GKE On-Prem para mais detalhes.
    3.2.2 Verificar se a política de auditoria abrange as principais preocupações de segurança Não pontuou N2 Controle equivalente não definido O GKE On-Prem captura registros de auditoria, mas não usa essas sinalizações para auditoria. Consulte a política de auditoria GKE On-Prem para mais detalhes.
    4.1.3 Verificar se as permissões do arquivo kubeconfig do proxy estão definidas como 644 ou são mais restritivas Pontuou N1 Controle equivalente não definido O kube-proxy é executado como um daemonset no GKE On-Prem, e as permissões são gerenciadas por meio do RBAC.
    4.1.4 Verificar se a propriedade do arquivo kubeconfig do proxy está definida como root:root Pontuou N1 Controle equivalente não definido O kube-proxy é executado como um daemonset no GKE On-Prem, e as permissões são gerenciadas por meio do RBAC.
    4.1.5 Verificar se as permissões do arquivo kubelet.conf estão definidas como 644 ou são mais restritivas Pontuou N1 Controle equivalente As especificações do pod do plano de controle são protegidas por uma política de autorização RBAC igualmente restritiva no cluster de administrador e não estão presentes como arquivos no disco.
    4.1.6 Verificar se a propriedade do arquivo kubelet.conf está definida como root:root Pontuou N1 Controle equivalente As especificações do pod do plano de controle são protegidas por uma política de autorização RBAC igualmente restritiva no cluster de administrador e não estão presentes como arquivos no disco.
    4.2.4 Verificar se o argumento --read-only-port está definido como 0 Pontuou N1 Reprovado 10255 Alguns componentes de monitoramento do GKE On-Prem usam a porta somente leitura do kubelet para obter as métricas.
    4.2.6 Verificar se o argumento --protect-kernel-defaults está definido como verdadeiro Pontuou N1 Reprovado false O GKE On-Prem permite que o kubelet defina as configurações necessárias do kernel.
    4.2.9 Verificar se o argumento --event-qps está definido como 0 ou em um nível que garanta a captura apropriada do evento Não pontuou N2 Alerta não definido Os eventos são objetos do Kubernetes armazenados no etcd. Para evitar sobrecarregar o etcd, eles são mantidos por apenas uma hora e não são um mecanismo de auditoria de segurança adequado. Permitir eventos ilimitados, conforme sugerido neste controle, expõe o cluster a riscos desnecessários de negação de serviço (DoS) e contradiz a recomendação de usar EventRateLimits de admissão. Os eventos relevantes de segurança que precisam de armazenamento permanente podem ser enviados aos registros.
    4.2.10 Verificar se os argumentos --tls-cert-file e --tls-private-key-file estão definidos conforme apropriado Pontuou N1 Controle equivalente não definido O GKE On-Prem gerencia o TLS do servidor kubelet usando a sinalização --rotate-server-certificates.
    4.2.12 Verificar se o argumento RotateKubeletServerCertificate está definido como verdadeiro Pontuou N1 Controle equivalente não definido O GKE On-Prem permite a rotação do certificado Kubelet definindo --rotate-server-certificates=true nos kubelets.
    4.2.13 Verificar se o Kubelet usa somente códigos criptográficos fortes Não pontuou N1 Alerta Kubelet usa o conjunto padrão de códigos criptográficos.

    Status do cluster de usuário do GKE On-Prem:

    # Recomendação Pontuou/Não pontuou Nível Status
    1 Configuração de segurança do nó mestre
    1.1 Arquivos de configuração do nó mestre
    1.1.1 Verificar se as permissões do arquivo de especificação do pod do servidor de API estão definidas como 644 ou são mais restritivas Pontuou N1 Controle equivalente
    1.1.2 Verificar se a propriedade do arquivo de especificação do pod do servidor de API está definida como root:root Pontuou N1 Controle equivalente
    1.1.3 Verificar se as permissões do arquivo de especificação do pod do gerenciador de controladores estão definidas como 644 ou são mais restritivas Pontuou N1 Controle equivalente
    1.1.4 Verificar se a propriedade do arquivo de especificação do pod do gerenciador de controladores está definida como root:root Pontuou N1 Controle equivalente
    1.1.5 Verificar se as permissões do arquivo de especificação do pod do programador estão definidas como 644 ou são mais restritivas Pontuou N1 Controle equivalente
    1.1.6 Verificar se a propriedade do arquivo de especificação do pod do programador está definida como root:root Pontuou N1 Controle equivalente
    1.1.7 Verificar se as permissões do arquivo de especificação do pod do etcd estão definidas como 644 ou são mais restritivas Pontuou N1 Controle equivalente
    1.1.8 Verificar se a propriedade do arquivo de especificação do pod etcd está definida como root:root Pontuou N1 Controle equivalente
    1.1.9 Verificar se as permissões do arquivo da interface de rede do contêiner estão definidas como 644 ou são mais restritivas Não pontuou N1 Aprovado
    1.1.10 Verificar se a propriedade do arquivo da interface de rede do contêiner está definida como root:root Não pontuou N1 Aprovado
    1.1.11 Verificar se as permissões do diretório de dados do etcd estão definidas como 700 ou são mais restritivas Pontuou N1 Controle equivalente
    1.1.12 Verificar se a propriedade do diretório de dados do etcd está definida como etcd:etcd Pontuou N1 Controle equivalente
    1.1.13 Verificar se as permissões do arquivo admin.conf estão definidas como 644 ou são mais restritivas Pontuou N1 Controle equivalente
    1.1.14 Verificar se a propriedade do arquivo admin.conf está definida como root:root Pontuou N1 Controle equivalente
    1.1.15 Verificar se as permissões do arquivo scheduler.conf estão definidas como 644 ou são mais restritivas Pontuou N1 Controle equivalente
    1.1.16 Verificar se a propriedade do arquivo scheduler.conf está definida como root:root Pontuou N1 Controle equivalente
    1.1.17 Verificar se as permissões do arquivo controller-manager.conf estão definidas como 644 ou são mais restritivas Pontuou N1 Controle equivalente
    1.1.18 Verificar se a propriedade do arquivo controller-manager.conf está definida como root:root Pontuou N1 Controle equivalente
    1.1.19 Verificar se o diretório PKI do Kubernetes e a propriedade do arquivo estão definidos como root:root Pontuou N1 Aprovado
    1.1.20 Verificar se as permissões do arquivo de certificado PKI do Kubernetes estão definidas como 644 ou são mais restritivas Não pontuou N1 Aprovado
    1.1.21 Verificar se as permissões do arquivo de chave PKI do Kubernetes estão definidas como 600 Não pontuou N1 Aprovado
    1.2 Servidor de API
    1.2.1 Verificar se o argumento --anonymous-auth está definido como falso Não pontuou N1 Alerta
    1.2.2 Verificar se o argumento --basic-auth-file não está definido Pontuou N1 Aprovado
    1.2.3 Verificar se o parâmetro --token-auth-file não está definido Pontuou N1 Pass
    1.2.4 Verificar se o argumento --kubelet-https está definido como verdadeiro Pontuou N1 Aprovado
    1.2.5 Verificar se os argumentos --kubelet-client-certificate e --kubelet-client-key estão definidos conforme apropriado Pontuou N1 Aprovado
    1.2.6 Verificar se o argumento --kubelet-certificate-authority está definido conforme apropriado Pontuou N1 Aprovado
    1.2.7 Verificar se o argumento --authorization-mode não está definido como AlwaysAllow Pontuou N1 Aprovado
    1.2.8 Verificar se o argumento --authorization-mode inclui o nó Pontuou N1 Aprovado
    1.2.9 Verificar se o argumento --authorization-mode inclui o RBAC Pontuou N1 Aprovado
    1.2.10 Verificar se o plug-in de controle de admissão EventRateLimit está definido Não pontuou N1 Alerta
    1.2.11 Verificar se o plug-in de controle de admissão AlwaysAdmit não está definido Pontuou N1 Aprovado
    1.2.12 Verificar se o plug-in de controle de admissão AlwaysPullImages está definido Não pontuou N1 Alerta
    1.2.13 Verificar se o plug-in de controle de admissão SecurityContextDeny está definido, se PodSecurityPolicy não for usado Não pontuou N1 Controle equivalente
    1.2.14 Verificar se o plug-in de controle de admissão ServiceAccount está definido Pontuou N1 Aprovado
    1.2.15 Verificar se o plug-in de controle de admissão NamespaceLifecycle está definido Pontuou N1 Aprovado
    1.2.16 Verificar se o plug-in de controle de admissão PodSecurityPolicy está definido Pontuou N1 Controle equivalente
    1.2.17 Verificar se o plug-in de controle de admissão NodeRestriction está definido Pontuou N1 Aprovado
    1.2.18 Verificar se o argumento --insecure-bind-address não está definido Pontuou N1 Reprovado
    1.2.19 Verificar se o argumento --insecure-port está definido como 0 Pontuou N1 Reprovado
    1.2.20 Verificar se o argumento --secure-port não está definido como 0 Pontuou N1 Aprovado
    1.2.21 Verificar se o argumento --profiling está definido como falso Pontuou N1 Pass
    1.2.22 Verificar se o argumento --audit-log-path está definido Pontuou N1 Controle equivalente
    1.2.23 Verificar se o argumento --audit-log-maxage está definido como 30 ou conforme apropriado Pontuou N1 Controle equivalente
    1.2.24 Verificar se o argumento --audit-log-maxbackup está definido como 10 ou conforme apropriado Pontuou N1 Controle equivalente
    1.2.25 Verificar se o argumento --audit-log-maxsize está definido como 100 ou conforme apropriado Pontuou N1 Controle equivalente
    1.2.26 Verificar se o argumento --request-timeout está definido conforme apropriado Pontuou N1 Aprovado
    1.2.27 Verificar se o argumento --service-account-lookup está definido como verdadeiro Pontuou N1 Aprovado
    1.2.28 Verificar se o argumento --service-account-key-file está definido conforme apropriado Pontuou N1 Aprovado
    1.2.29 Verificar se os argumentos --etcd-certfile e --etcd-keyfile estão definidos conforme apropriado Pontuou N1 Pass
    1.2.30 Verificar se os argumentos --tls-cert-file e --tls-private-key-file estão definidos conforme apropriado Pontuou N1 Controle equivalente
    1.2.31 Verificar se o argumento --client-ca-file está definido conforme apropriado Pontuou N1 Aprovado
    1.2.32 Verificar se o argumento --etcd-cafile está definido conforme apropriado Pontuou N1 Pass
    1.2.33 Verificar se o argumento --encryption-provider-config está definido conforme apropriado Não pontuou N1 Alerta
    1.2.34 Verificar se os provedores de criptografia estão configurados corretamente Não pontuou N1 Alerta
    1.2.35 Verificar se o servidor de API usa apenas códigos criptográficos fortes Não pontuou N1 Aprovado
    1.3 Controller Manager
    1.3.1 Verificar se o argumento --terminated-pod-gc-threshold está definido conforme apropriado Não pontuou N1 Aprovado
    1.3.2 Verificar se o argumento --profiling está definido como falso Pontuou N1 Pass
    1.3.3 Verificar se o argumento --use-service-account-credentials está definido como verdadeiro Pontuou N1 Pass
    1.3.4 Verificar se o argumento --service-account-private-key-file está definido conforme apropriado Pontuou N1 Aprovado
    1.3.5 Verificar se o argumento --root-ca-file está definido conforme apropriado Pontuou N1 Aprovado
    1.3.6 Verificar se o argumento RotateKubeletServerCertificate está definido como verdadeiro Pontuou N2 Controle equivalente
    1.3.7 Verificar se o argumento --bind-address está definido como 127.0.0.1 Pontuou N1 Aprovado
    1.4 Programador
    1.4.1 Verificar se o argumento --profiling está definido como falso Pontuou N1 Pass
    1.4.2 Verificar se o argumento --bind-address está definido como 127.0.0.1 Pontuou N1 Aprovado
    2 Configuração de nó do etct
    2 Arquivos de configuração do nó do etct
    2.1 Verificar se os argumentos --cert-file e --key-file estão definidos conforme apropriado Pontuou N1 Pass
    2.2 Verificar se o argumento --client-cert-auth está definido como verdadeiro Pontuou N1 Pass
    2,3 Verificar se o argumento --auto-tls não está definido como verdadeiro Pontuou N1 Aprovado
    2.4 Verificar se os argumentos --peer-cert-file e --peer-key-file estão definidos conforme apropriado Pontuou N1 Pass
    2,5 Verificar se o argumento --peer-client-cert-auth está definido como verdadeiro Pontuou N1 Pass
    2,6 Verificar se o argumento --peer-auto-tls não está definido como verdadeiro Pontuou N1 Pass
    2,7 Verificar se uma autoridade de certificação exclusiva é usada para o etcd Não pontuou N2 Aprovado
    3 Configuração do plano de controle
    3.1 Autenticação e autorização
    3.1.1 Não é possível usar a autenticação de certificado do cliente para usuários Não pontuou N2 Alerta
    3.2 Logging
    3.2.1 Verificar se uma política de auditoria mínima foi criada Pontuou N1 Controle equivalente
    3.2.2 Verificar se a política de auditoria abrange as principais preocupações de segurança Não pontuou N2 Controle equivalente
    4 Configuração de segurança do nó de trabalho
    4.1 Arquivos de configuração do nó de trabalho
    4.1.1 Verificar se as permissões do arquivo de serviço do Kubelet estão definidas como 644 ou são mais restritivas Pontuou N1 Aprovado
    4.1.2 Verificar se a propriedade do arquivo de serviço do Kubelet está definida como root:root Pontuou N1 Aprovado
    4.1.3 Verificar se as permissões do arquivo kubeconfig do proxy estão definidas como 644 ou são mais restritivas Pontuou N1 Controle equivalente
    4.1.4 Verificar se a propriedade do arquivo kubeconfig do proxy está definida como root:root Pontuou N1 Controle equivalente
    4.1.5 Verificar se as permissões do arquivo kubelet.conf estão definidas como 644 ou são mais restritivas Pontuou N1 Controle equivalente
    4.1.6 Verificar se a propriedade do arquivo kubelet.conf está definida como root:root Pontuou N1 Controle equivalente
    4.1.7 Verificar se as permissões do arquivo de autoridades de certificação estão definidas como 644 ou são mais restritivas Pontuou N1 Aprovado
    4.1.8 Verificar se a propriedade do arquivo de autoridades de certificação do cliente está definida como root:root Pontuou N1 Aprovado
    4.1.9 Verificar se o arquivo de configuração do kubelet tem permissões definidas como 644 ou são mais restritivas Pontuou N1 Aprovado
    4.1.10 Verificar se a propriedade do arquivo de configuração do kubelet está definida como root:root Pontuou N1 Aprovado
    4.2 Kubelet
    4.2.1 Verificar se o argumento anonymous-auth está definido como falso Pontuou N1 Aprovado
    4.2.2 Verificar se o argumento --authorization-mode não está definido como AlwaysAllow Pontuou N1 Aprovado
    4.2.3 Verificar se o argumento --client-ca-file está definido conforme apropriado Pontuou N1 Aprovado
    4.2.4 Verificar se o argumento --read-only-port está definido como 0 Pontuou N1 Reprovado
    4.2.5 Verificar se o argumento --streaming-connection-idle-timeout não está definido como 0 Pontuou N1 Aprovado
    4.2.6 Verificar se o argumento --protect-kernel-defaults está definido como verdadeiro Pontuou N1 Reprovado
    4.2.7 Verificar se o argumento --make-iptables-util-chains está definido como verdadeiro Pontuou N1 Aprovado
    4.2.8 Verificar se o argumento --hostname-override não está definido Não pontuou N1 Aprovado
    4.2.9 Verificar se o argumento --event-qps está definido como 0 ou em um nível que garanta a captura apropriada do evento Não pontuou N2 Alerta
    4.2.10 Verificar se os argumentos --tls-cert-file e --tls-private-key-file estão definidos conforme apropriado Pontuou N1 Controle equivalente
    4.2.11 Verificar se o argumento --rotate-certificates não está definido como falso Pontuou N1 Pass
    4.2.12 Verificar se o argumento RotateKubeletServerCertificate está definido como verdadeiro Pontuou N1 Controle equivalente
    4.2.13 Verificar se o Kubelet usa somente códigos criptográficos fortes Não pontuou N1 Alerta
    Descrições de falhas e controles equivalentes do cluster de usuários do GKE On-Prem:
    # Recomendação Pontuou/Não pontuou Nível Status Valor Justificativa
    1.1.1 Verificar se as permissões do arquivo de especificação do pod do servidor de API estão definidas como 644 ou são mais restritivas Pontuou N1 Controle equivalente As especificações do pod do plano de controle são protegidas por uma política de autorização RBAC igualmente restritiva no cluster de administrador e não estão presentes como arquivos no disco.
    1.1.2 Verificar se a propriedade do arquivo de especificação do pod do servidor de API está definida como root:root Pontuou N1 Controle equivalente As especificações do pod do plano de controle são protegidas por uma política de autorização RBAC igualmente restritiva no cluster de administrador e não estão presentes como arquivos no disco.
    1.1.3 Verificar se as permissões do arquivo de especificação do pod do gerenciador de controladores estão definidas como 644 ou são mais restritivas Pontuou N1 Controle equivalente As especificações do pod do plano de controle são protegidas por uma política de autorização RBAC igualmente restritiva no cluster de administrador e não estão presentes como arquivos no disco.
    1.1.4 Verificar se a propriedade do arquivo de especificação do pod do gerenciador de controladores está definida como root:root Pontuou N1 Controle equivalente As especificações do pod do plano de controle são protegidas por uma política de autorização RBAC igualmente restritiva no cluster de administrador e não estão presentes como arquivos no disco.
    1.1.5 Verificar se as permissões do arquivo de especificação do pod do programador estão definidas como 644 ou são mais restritivas Pontuou N1 Controle equivalente As especificações do pod do plano de controle são protegidas por uma política de autorização RBAC igualmente restritiva no cluster de administrador e não estão presentes como arquivos no disco.
    1.1.6 Verificar se a propriedade do arquivo de especificação do pod do programador está definida como root:root Pontuou N1 Controle equivalente As especificações do pod do plano de controle são protegidas por uma política de autorização RBAC igualmente restritiva no cluster de administrador e não estão presentes como arquivos no disco.
    1.1.7 Verificar se as permissões do arquivo de especificação do pod do etcd estão definidas como 644 ou são mais restritivas Pontuou N1 Controle equivalente As especificações do pod do plano de controle são protegidas por uma política de autorização RBAC igualmente restritiva no cluster de administrador e não estão presentes como arquivos no disco.
    1.1.8 Verificar se a propriedade do arquivo de especificação do pod etcd está definida como root:root Pontuou N1 Controle equivalente As especificações do pod do plano de controle são protegidas por uma política de autorização RBAC igualmente restritiva no cluster de administrador e não estão presentes como arquivos no disco.
    1.1.11 Verificar se as permissões do diretório de dados do etcd estão definidas como 700 ou são mais restritivas Pontuou N1 Controle equivalente 755 O diretório de dados do etcd tem as permissões 755 padrão, mas os subdiretórios são 700.
    1.1.12 Verificar se a propriedade do diretório de dados do etcd está definida como etcd:etcd Pontuou N1 Controle equivalente root:root O contêiner do etcd é executado como root, e o diretório de dados do etcd pertence a root:root.
    1.1.13 Verificar se as permissões do arquivo admin.conf estão definidas como 644 ou são mais restritivas Pontuou N1 Controle equivalente As especificações do pod do plano de controle são protegidas por uma política de autorização RBAC igualmente restritiva no cluster de administrador e não estão presentes como arquivos no disco.
    1.1.14 Verificar se a propriedade do arquivo admin.conf está definida como root:root Pontuou N1 Controle equivalente As especificações do pod do plano de controle são protegidas por uma política de autorização RBAC igualmente restritiva no cluster de administrador e não estão presentes como arquivos no disco.
    1.1.15 Verificar se as permissões do arquivo scheduler.conf estão definidas como 644 ou são mais restritivas Pontuou N1 Controle equivalente As especificações do pod do plano de controle são protegidas por uma política de autorização RBAC igualmente restritiva no cluster de administrador e não estão presentes como arquivos no disco.
    1.1.16 Verificar se a propriedade do arquivo scheduler.conf está definida como root:root Pontuou N1 Controle equivalente As especificações do pod do plano de controle são protegidas por uma política de autorização RBAC igualmente restritiva no cluster de administrador e não estão presentes como arquivos no disco.
    1.1.17 Verificar se as permissões do arquivo controller-manager.conf estão definidas como 644 ou são mais restritivas Pontuou N1 Controle equivalente As especificações do pod do plano de controle são protegidas por uma política de autorização RBAC igualmente restritiva no cluster de administrador e não estão presentes como arquivos no disco.
    1.1.18 Verificar se a propriedade do arquivo controller-manager.conf está definida como root:root Pontuou N1 Controle equivalente As especificações do pod do plano de controle são protegidas por uma política de autorização RBAC igualmente restritiva no cluster de administrador e não estão presentes como arquivos no disco.
    1.2.1 Verificar se o argumento --anonymous-auth está definido como falso Não pontuou N1 Alerta não definido Alguns componentes de monitoramento do GKE On-Prem usam autenticação anônima para realizar verificações de integridade.
    1.2.10 Verificar se o plug-in de controle de admissão EventRateLimit está definido Não pontuou N1 Alerta não definido O GKE On-Prem não é compatível com o controlador de admissão da limitação de taxa de eventos, já que ele é um recurso Alfa do Kubernetes.
    1.2.12 Verificar se o plug-in de controle de admissão AlwaysPullImages está definido Não pontuou N1 Alerta não definido O controlador de admissão AlwaysPullImages oferece alguma proteção para imagens de registros particulares em clusters multilocatários não cooperativos. Mas isso faz com que os registros do contêiner se tornem um único ponto de falha para criar novos pods em todo o cluster. O GKE On-Prem não ativa o controlador de admissão AlwaysPullImages, o que permite que os administradores de cluster implementem a política de admissão para que tenham essa compensação por conta própria.
    1.2.13 Verificar se o plug-in de controle de admissão SecurityContextDeny está definido, se PodSecurityPolicy não for usado Não pontuou N1 Controle equivalente não definido As políticas de configurações de segurança em pods são gerenciadas pelo Policy Controller e o Anthos Config Management.
    1.2.16 Verificar se o plug-in de controle de admissão PodSecurityPolicy está definido Pontuou N1 Controle equivalente não definido As políticas de configurações de segurança em pods são gerenciadas pelo Policy Controller e o Anthos Config Management.
    1.2.18 Verificar se o argumento --insecure-bind-address não está definido Pontuou N1 Reprovado 127.0.0.1 No momento, o metrics-proxy para o cluster de usuário kube-apiserver se comunica por localhost no pod kube-apiserver usando HTTP.
    1.2.19 Verificar se o argumento --insecure-port está definido como 0 Pontuou N1 Reprovado 80 No momento, o metrics-proxy para o cluster de usuário kube-apiserver se comunica por localhost no pod kube-apiserver usando HTTP.
    1.2.22 Verificar se o argumento --audit-log-path está definido Pontuou N1 Controle equivalente não definido O GKE On-Prem captura registros de auditoria, mas não usa essas sinalizações para auditoria. Consulte a política de auditoria GKE On-Prem para mais detalhes.
    1.2.23 Verificar se o argumento --audit-log-maxage está definido como 30 ou conforme apropriado Pontuou N1 Controle equivalente não definido O GKE On-Prem captura registros de auditoria, mas não usa essas sinalizações para auditoria. Consulte a política de auditoria GKE On-Prem para mais detalhes.
    1.2.24 Verificar se o argumento --audit-log-maxbackup está definido como 10 ou conforme apropriado Pontuou N1 Controle equivalente não definido O GKE On-Prem captura registros de auditoria, mas não usa essas sinalizações para auditoria. Consulte a política de auditoria GKE On-Prem para mais detalhes.
    1.2.25 Verificar se o argumento --audit-log-maxsize está definido como 100 ou conforme apropriado Pontuou N1 Controle equivalente não definido O GKE On-Prem captura registros de auditoria, mas não usa essas sinalizações para auditoria. Consulte a política de auditoria GKE On-Prem para mais detalhes.
    1.2.30 Verificar se os argumentos --tls-cert-file e --tls-private-key-file estão definidos conforme apropriado Pontuou N1 Controle equivalente não definido O GKE On-Prem gerencia o TLS do servidor kubelet usando a sinalização --rotate-server-certificates.
    1.2.33 Verificar se o argumento --encryption-provider-config está definido conforme apropriado Não pontuou N1 Alerta não definido O GKE On-Prem ainda não é compatível com a criptografia de camada de aplicativo de secrets.
    1.2.34 Verificar se os provedores de criptografia estão configurados corretamente Não pontuou N1 Alerta não definido O GKE On-Prem ainda não é compatível com a criptografia de camada de aplicativo de secrets.
    1.3.6 Verificar se o argumento RotateKubeletServerCertificate está definido como verdadeiro Pontuou N2 Controle equivalente não definido O GKE On-Prem permite a rotação do certificado Kubelet definindo --rotate-server-certificates=true nos kubelets.
    3.1.1 Não é possível usar a autenticação de certificado do cliente para usuários Não pontuou N2 Alerta O GKE On-Prem gera credenciais de certificado de cliente do administrador para definir permissões de inicialização para os usuários.
    3.2.1 Verificar se uma política de auditoria mínima foi criada Pontuou N1 Controle equivalente não definido O GKE On-Prem captura registros de auditoria, mas não usa essas sinalizações para auditoria. Consulte a política de auditoria GKE On-Prem para mais detalhes.
    3.2.2 Verificar se a política de auditoria abrange as principais preocupações de segurança Não pontuou N2 Controle equivalente não definido O GKE On-Prem captura registros de auditoria, mas não usa essas sinalizações para auditoria. Consulte a política de auditoria GKE On-Prem para mais detalhes.
    4.1.3 Verificar se as permissões do arquivo kubeconfig do proxy estão definidas como 644 ou são mais restritivas Pontuou N1 Controle equivalente não definido O kube-proxy é executado como um daemonset no GKE On-Prem, e as permissões são gerenciadas por meio do RBAC.
    4.1.4 Verificar se a propriedade do arquivo kubeconfig do proxy está definida como root:root Pontuou N1 Controle equivalente não definido O kube-proxy é executado como um daemonset no GKE On-Prem, e as permissões são gerenciadas por meio do RBAC.
    4.1.5 Verificar se as permissões do arquivo kubelet.conf estão definidas como 644 ou são mais restritivas Pontuou N1 Controle equivalente As especificações do pod do plano de controle são protegidas por uma política de autorização RBAC igualmente restritiva no cluster de administrador e não estão presentes como arquivos no disco.
    4.1.6 Verificar se a propriedade do arquivo kubelet.conf está definida como root:root Pontuou N1 Controle equivalente As especificações do pod do plano de controle são protegidas por uma política de autorização RBAC igualmente restritiva no cluster de administrador e não estão presentes como arquivos no disco.
    4.2.4 Verificar se o argumento --read-only-port está definido como 0 Pontuou N1 Reprovado 10255 Alguns componentes de monitoramento do GKE On-Prem usam a porta somente leitura do kubelet para obter as métricas.
    4.2.6 Verificar se o argumento --protect-kernel-defaults está definido como verdadeiro Pontuou N1 Reprovado false O GKE On-Prem permite que o kubelet defina as configurações necessárias do kernel.
    4.2.9 Verificar se o argumento --event-qps está definido como 0 ou em um nível que garanta a captura apropriada do evento Não pontuou N2 Alerta não definido Os eventos são objetos do Kubernetes armazenados no etcd. Para evitar sobrecarregar o etcd, eles são mantidos por apenas uma hora e não são um mecanismo de auditoria de segurança adequado. Permitir eventos ilimitados, conforme sugerido neste controle, expõe o cluster a riscos desnecessários de negação de serviço (DoS) e contradiz a recomendação de usar EventRateLimits de admissão. Os eventos relevantes de segurança que precisam de armazenamento permanente podem ser enviados aos registros.
    4.2.10 Verificar se os argumentos --tls-cert-file e --tls-private-key-file estão definidos conforme apropriado Pontuou N1 Controle equivalente não definido O GKE On-Prem gerencia o TLS do servidor kubelet usando a sinalização --rotate-server-certificates.
    4.2.12 Verificar se o argumento RotateKubeletServerCertificate está definido como verdadeiro Pontuou N1 Controle equivalente não definido O GKE On-Prem permite a rotação do certificado Kubelet definindo --rotate-server-certificates=true nos kubelets.
    4.2.13 Verificar se o Kubelet usa somente códigos criptográficos fortes Não pontuou N1 Alerta Kubelet usa o conjunto padrão de códigos criptográficos.

    Como auditar os comparativos de mercado

    Instruções específicas para a auditoria de cada recomendação estão disponíveis como parte do CIS Benchmark. No entanto, convém automatizar algumas dessas verificações para simplificar a verificação desses controles no seu ambiente. As ferramentas listadas abaixo podem ajudar com isso.

    Auditoria automatizada do CIS Benchmark do Kubernetes

    É possível usar uma ferramenta de código aberto kube-bench para testar a configuração do cluster em relação ao CIS Benchmark do Kubernetes.

    Especifique a versão apropriada, por exemplo

    kube-bench node --benchmark cis-1.5