CIS Kubernetes Benchmark

O Center for Internet Security (CIS) publica a Referência do Kubernetes do CIS como uma estrutura de etapas específicas que permitem configurar o Kubernetes de maneira mais segura, usando padrões adequados a várias regulamentações do setor.

Quando uma nova versão do Kubernetes é liberada como parte de uma versão do Red Hat OpenShift suportada, os engenheiros da IBM comparam a configuração padrão de um cluster que executa a versão do Kubernetes com relação à referência e publica os resultados nesta documentação. É possível revisar como as versões específicas de seus clusters Red Hat® OpenShift® on IBM Cloud® atendem ao CIS Kubernetes Benchmark.

Versões de benchmark compatíveis

Use a lista para encontrar os resultados dos testes de desempenho ( CIS ) Kubernetes para as versões compatíveis.

Usando a referência

Como administrador de segurança ou auditor, é possível que você queira comparar os padrões internos de sua empresa e os requisitos regulamentares externos com o CIS Kubernetes Benchmark. As recomendações de referência são fornecidas pelo Centro de Segurança da Internet, não pela IBM. A IBM pode não definir as configurações padrão de maneira que atenda a todas as recomendações, mas documenta se a recomendação foi atendida para ajudá-lo em sua revisão. Por exemplo, é possível que você use a referência em uma auditoria para confirmar se as medidas básicas de segurança estão em vigor e identificar áreas nas quais é possível aprimorar sua segurança.

O que o índice de referência abrange?

A referência abrange recomendações para componentes principais, etcd, configurações de plano de controle, nós do trabalhador e políticas, tal como para usuários, rede e segurança de pod.

O que significam as recomendações de referência?

As recomendações de referência têm pontuação, níveis, status de resultado e responsabilidades, conforme a seguir.

  • **Scoring **
    • Pontuado: a pontuação geral de referência aumenta ou diminui, dependendo se a recomendação for atendida.
    • Não pontuado: a pontuação geral de referência não é impactada, seja a recomendação atendida ou não.
  • Níveis
    • Nível 1: medidas de segurança práticas que podem ser configuradas sem inibir o serviço.
    • Nível 2: medidas de segurança mais aprofundadas que podem reduzir o desempenho ou a funcionalidade de um serviço.
  • Resultado
    • Aprovado: o serviço está em conformidade com a recomendação de referência.
    • Falha: o serviço não cumpre com a recomendação de referência por padrão. Consulte a seção de correção para obter uma explicação e possíveis ações que podem ser tomadas para cumprir a recomendação de referência.
  • Responsabilidade
    • IBM: a IBM é responsável por definir a configuração que a referência recomenda.
    • Compartilhado: você e a IBM compartilham a responsabilidade de definir a configuração que a referência recomenda.

Por quais partes do benchmark sou responsável?

Como o Red Hat OpenShift on IBM Cloud é uma oferta gerenciada, a IBM já define muitas configurações de segurança para você. Por exemplo, a IBM gerencia e aplica automaticamente as atualizações em seu cluster mestre. Para os nós do trabalhador, a IBM fornece atualizações de segurança e versão, mas deve-se aplicá-las. Você também é responsável por seus aplicativos de carga de trabalho e dados. Para obter mais informações, consulte Suas responsabilidades enquanto estiver usando o Red Hat OpenShift on IBM Cloud.

E se alguma parte do serviço não cumprir uma recomendação?

Primeiro, verifique a explicação da falha para obter quaisquer etapas de correção.

Em seguida, determine se a falha é aceitável de acordo com os seus requisitos de segurança. Por exemplo, algumas recomendações podem ser requisitos de configuração mais aprofundados do que seus processos ou padrões específicos requerem. Além disso, algumas recomendações não são pontuadas e não impactam a pontuação geral de referência.

Em seguida, decida se o componente está dentro de sua responsabilidade. Se estiver, poderá ser necessário mudar o modo como você o configura. Por exemplo, é possível configurar restrições de contexto de segurança para todas as implementações de seu app. Para componentes que não estão diretamente dentro de sua responsabilidade, avalie se é possível usar outro serviço IBM Cloud para atender a recomendação.

O que mais posso fazer para aumentar a segurança e a conformidade do meu cluster?

Consulte Segurança para Red Hat OpenShift on IBM Cloud.

Executando a referência do CIS Kubernetes do nó do trabalhador

Para revisar os resultados da referência da configuração de segurança do CIS Kubernetes para a Seção 4: nó do trabalhador, é possível executar o teste por conta própria. Como você tem os nós do trabalhador e eles são parcialmente responsáveis por sua conformidade, é possível fazer mudanças de configuração que você deseja validar por conta própria.

Estas etapas se aplicam aos clusters que executam o Red Hat OpenShift versão 4.5 ou mais recente apenas.

Antes de iniciar: efetue login na sua conta. If applicable, target the appropriate resource group. Configure o contexto para o seu cluster.

  1. Crie um projeto para que os recursos executem a referência.

    oc create ns ibm-kube-bench-test
    
  2. Crie um configmap com os arquivos de configuração config e node por meio do repositório GitHub kube-samples.

    1. Baixe os arquivos de configuração config e node para um diretório local chamado ibm. Também é possível clonar o repositório e navegar para o diretório ibm.
    2. Crie o arquivo ConfigMap utilizando a opção --from-file para especificar o diretório ibm , onde você baixou os arquivos de configuração.
        oc create cm kube-bench-node -n ibm-kube-bench-test --from-file ibm
        ```
    
  3. Crie uma tarefa para executar o teste de referência com base nas configurações criadas anteriormente.

    oc apply -n ibm-kube-bench-test -f https://raw.githubusercontent.com/IBM-Cloud/kube-samples/master/cis-kube-benchmark/cis-1.5/ibm/job-node.yaml
    
  4. Verifique se o trabalho foi concluído.

    oc get pods -n ibm-kube-bench-test -l job-name=kube-bench-node
    

    Saída de exemplo

    NAME                    READY   STATUS      RESTARTS   AGE
    kube-bench-node-hlvhc   0/1     Completed   0          23s
    
  5. Revise os resultados de referência do CIS Kubernetes para seus nós do trabalhador verificando os logs do pod.

    oc logs -n ibm-kube-bench-test -l job-name=kube-bench-node --tail=-1
    

    Saída de exemplo

    == Summary ==
    20 checks PASS
    2 checks FAIL
    1 checks WARN
    0 checks INFO
    
  6. Opcional: quando a revisão dos resultados estiver pronta, exclua os recursos criados.

    oc delete ns ibm-kube-bench-test