Esta página descreve a abordagem que o Google Kubernetes Engine (GKE) adota para melhorar a conformidade com as referências do Centro para a Segurança da Internet (CIS) para o Kubernetes e o GKE. Esta página inclui as seguintes informações:
- Como configuramos o plano de controlo do GKE gerido para estar em conformidade com a referência do CIS Kubernetes
- Como pode configurar os seus nós e cargas de trabalho do GKE para estarem em conformidade com a referência do CIS Google Kubernetes Engine (GKE)
Acerca das referências do CIS
O CIS lança as seguintes referências que contêm diretrizes de configuração segura para o Kubernetes:
- CIS Kubernetes Benchmark: aplica-se ao projeto Kubernetes de código aberto. Destinadas a fornecer orientações para uma variedade de implementações do Kubernetes autogeridas e alojadas.
- Referência do GKE do CIS: estabelece diretrizes para a configuração segura de componentes que pode controlar em clusters do GKE. Inclui recomendações específicas do GKE no Trusted Cloud by S3NS.
Recomendamos que dê prioridade à norma de referência do GKE do CIS, porque é específica do GKE no Trusted Cloud. A norma CIS Kubernetes contém muitas recomendações para controlos que não pode ver nem modificar no GKE. A nossa abordagem à segurança dos clusters inclui mitigações que vão além do âmbito da referência do Kubernetes de código aberto e podem resultar em conflitos com essas recomendações.
Outros testes de referência aplicáveis ao GKE
Além da CIS GKE Benchmark e da CIS Kubernetes Benchmark, as seguintes referências aplicam-se aos sistemas operativos disponíveis no GKE. Mesmo que uma referência específica do SO não aborde explicitamente a utilização do Kubernetes, deve continuar a consultar essa referência para obter orientações de segurança adicionais.
- Benchmark do SO otimizado para contentores: o sistema operativo predefinido instalado em todos os nós Linux do GKE
- Benchmark do Ubuntu Linux: disponível para o GKE Standard
- Benchmark do Windows Server: disponível para o GKE Standard
O tempo de execução do contentor predefinido, o containerd, não tem um teste de referência.
Modelo de responsabilidade partilhada
Com base no modelo de responsabilidade partilhada do GKE, gerimos os seguintes componentes por si:
- O plano de controlo, incluindo as VMs do plano de controlo, o servidor da API e os componentes, como a base de dados do estado do cluster (baseada em etcd ou Spanner), o kube-controller-manager e o kube-scheduler.
- O sistema operativo do nó.
Estes componentes existem num projeto pertencente ao GKE, pelo que não pode modificar nem avaliar nenhum destes componentes em relação aos controlos de referência da CIS correspondentes. No entanto, pode avaliar e corrigir quaisquer controlos de testes de referência da CIS que se apliquem aos seus nós de trabalho e cargas de trabalho. Com base no modelo de responsabilidade partilhada do GKE, estes componentes são da sua responsabilidade.
A nossa abordagem à proteção do GKE para a referência CIS
O GKE é uma implementação gerida do Kubernetes de código aberto. Gerimos totalmente o plano de controlo e somos responsáveis por proteger a configuração dos componentes do plano de controlo. A tabela seguinte descreve algumas das nossas decisões que podem afetar a classificação das referências do CIS:
Abordagem de segurança do GKE | |
---|---|
Autenticação |
|
Controladores de admissão | O GKE desativa os seguintes controladores de admissão:
|
Registo de auditoria | O GKE captura registos de auditoria através da política de auditoria do GKE. Como resultado, não precisamos de definir nenhuma flag de registo de auditoria do servidor da API Kubernetes. |
Depuração | O GKE usa a criação de perfis para a depuração. |
Encriptação |
|
etcd | No Kubernetes de código aberto, a base de dados de estado do cluster usa o etcd. No GKE, a base de dados de back-end que armazena o estado do cluster é uma das seguintes tecnologias:
Todos os clusters do GKE publicam a API etcd em VMs do plano de controlo. Todas as interações do cliente com a API Kubernetes são iguais às do Kubernetes de código aberto. Consoante a tecnologia de base de dados que é o back-end para a API etcd no seu cluster, pode notar discrepâncias em qualquer classificação relacionada com o etcd no teste de referência do CIS Kubernetes de código aberto. |
kubelet |
|
Avalie o GKE em função das referências da CIS
Pode automatizar a avaliação dos seus clusters em relação às referências através de um dos seguintes métodos:
- CIS GKE Benchmark:
- Execute
kube-bench
para avaliar os nós de trabalho em comparação com a referência. Para mais detalhes, consulte o repositório do GitHub kube-bench. - Use uma ferramenta de terceiros, como o Twistlock Defender, para avaliar os nós em comparação com a referência.
- Execute
- Referência do CIS Kubernetes: execute
kube-bench
para avaliar os nós de trabalho em comparação com a referência. Não pode avaliar o plano de controlo gerido em função dessas recomendações no teste de referência.
O que se segue?
- Leia a vista geral de segurança do GKE.
- Siga as práticas recomendadas de segurança no guia de reforço do GKE.
- Saiba como monitorizar os seus clusters relativamente a problemas de segurança com a postura de segurança do GKE.
- Saiba como avaliar os seus clusters quanto a problemas de conformidade no painel de controlo de conformidade do GKE.