Neste documento, descrevemos o nível de conformidade que os clusters do Anthos no VMware (GKE On-Prem) têm com o comparativo de mercado do Ubuntu da CIS.
Versões
Este documento se refere a estas versões:
Versão Anthos | Versão do Ubuntu | Versão do comparativo de mercado do Ubuntu da CIS | Nível da CIS |
---|---|---|---|
1.10 | 20.04 LTS | v1.0.0 | Servidor de nível 2 |
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 pelos clusters do Anthos no VMware são protegidas para atender ao perfil Nível 2 - servidor.
Avaliação em clusters do Anthos no VMware
Usamos os seguintes valores para especificar o status das recomendações do Ubuntu nos clusters do Anthos no VMware.
Status | Descrição |
---|---|
Pass | 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 está em conformidade com os termos exatos de uma recomendação de comparativo de mercado, mas outros mecanismos nos clusters do Anthos no VMware fornecem controles de segurança equivalentes. |
Depende do ambiente | Os clusters do Anthos no VMware não configuram 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 dos clusters do Anthos no VMware
As imagens do Ubuntu usadas com clusters do Anthos no VMware são protegidas para atender ao perfil da CIS Nível 2 - Servidor. A tabela a seguir fornece justificativas para o motivo de os clusters do Anthos nos componentes do VMware não aprovarem determinadas recomendações.
# | Recomendação | Pontuou/Não pontuou | Status | Justificativa | 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 | 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 | É recomendável que os clusters do Anthos no VMware sejam implantados em uma rede particular com as proteções de firewall apropriadas. 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 | É recomendável que os clusters do Anthos no VMware sejam implantados em uma rede particular com as proteções de firewall apropriadas. 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 | É recomendável que os clusters do Anthos no VMware sejam implantados em uma rede particular com as proteções de firewall apropriadas. 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 | Os clusters do Anthos no VMWare atualmente coleta todos os registros do 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 | 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 | 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 para clusters do Anthos no VMware dependem da chave SSH para login do usuário em vez de usar 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
. Nos clusters do Anthos no VMware,
o processo AIDE está causando altos problemas de uso de recursos.
A partir da versão 1.10.5, o processo AIDE nos nós é desativado por padrão para evitar problemas de recursos. 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:
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 nodeSelectorcloud.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 camponodeSelector
. Para executar a mesma programação de cron jobs em diferentes pools de nós, remova o camponodeSelector
. 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.
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.