4.21 benchmark do operador de conformidade

Analise os resultados de benchmark do operador de conformidade para a versão Red Hat OpenShift on IBM Cloud 4.21.

1 Componentes do plano de controle

Arquivos de configuração do nó principal 1.1

A configuração do nó mestre não é armazenada como um conjunto de arquivos e, portanto, as regras da seção 1.1 estão fora do escopo da verificação automatizada pelo operador de conformidade.

Servidor de API 1.2

Benchmarks para o servidor api.
Seção Recomendação Manual/Automatizado Nível Resultado
1.2.1 Ensure que solicitações anônimas são autorizadas. Automated 1 Not checked
1.2.2 Use https para conexões de kubelet. Automated 1 Pass
1.2.3 Ensure que o kubelet usa certificados para autenticação. Automated 1 Pass
1.2.4 Verify que a autoridade de certificação do kubelet esteja definida conforme apropriado. Automated 1 Pass
1.2.5 Ensure que o argumento --authorization-mode não esteja definido como AlwaysAllow. Automated 1 Pass
1.2.6 Verify que o RBAC está ativado. Automated 1 Pass
1.2.7 Ensure que a porta do recurso APIPriorityAndFairness está ativada. Manual 1 INHERENTLY MET
1.2.8 Ensure que o plug-in de controle de admissão AlwaysAdmit não está definido. Automated 1 Pass
1.2.9 Ensure que o plug-in de controle de admissão AlwaysPullImages não está definido. Automated 1 Pass
1.2.10 Ensure que o plug-in de controle de admissão ServiceAccount está definido. Automated 1 Pass
1.2.11 Ensure que o plug-in de controle de admissão NamespaceLifecycle está definido. Automated 1 Pass
1.2.12 Ensure que o plug-in de controle de admissão SecurityContextConstraint está definido. Automated 1 Pass
1.2.13 Ensure que o plug-in de controle de admissão NodeRestriction está definido. Automated 1 Pass
1.2.14 Ensure que o argumento --insecure-bind-address não está definido. Automated 1 Pass
1.2.15 Ensure que o argumento --insecure-port seja definido como 0. Manual 1 INHERENTLY MET
1.2.16 Ensure que o argumento --secure-port não esteja definido como 0. Automated 1 Pass
1.2.17 Ensure que o ponto de extremidade healthz está protegido por RBAC. Automated 1 Not checked
1.2.18 Ensure que o argumento --audit-log-path está definido. Automated 1 Pass
1.2.19 Ensure que os logs de auditoria sejam encaminhados para fora do cluster para retenção. Automated 1 Not [checked
1.2.20 Ensure que o argumento maximumRetainedFiles seja definido como 10 ou conforme apropriado. Automated 1 Não [verificado
1.2.21 Configure Kubernetes Tamanho máximo do registro de auditoria do servidor API. Automated 1 Not checked
1.2.22 Ensure que o argumento --request-timeout está definido. Automated 1 Pass
1.2.23 Ensure que o argumento --service-account-lookup está definido como verdadeiro. Automated 1 Pass
1.2.24 Ensure que o argumento --service-account-key-file seja definido conforme apropriado. Automated 1 Pass
1.2.25 Ensure que os argumentos --etcd-certfile e --etcd-keyfile sejam definidos conforme apropriado. Automated 1 Pass
1.2.26 Ensure que os argumentos --tls-cert-file e --tls-private-key-file sejam definidos conforme apropriado. Automated 1 Pass
1.2.27 Ensure que o argumento --client-ca-file seja definido conforme apropriado. Automated 1 Pass
1.2.28 Ensure que o argumento --etcd-cafile seja definido conforme apropriado. Automated 1 Pass
1.2.29 Ensure que os provedores de criptografia estão configurados adequadamente. Automático 1 Não [verificado
1.2.30 Ensure que o API Server use somente cifras criptográficas fortes. Automated 1 Not checked
1.2.31 Ensure as substituições de configuração sem suporte não são usadas. Manual 1 Pass

1.3 Gerenciador de controlador

Benchmarks para o gerente de controladoria.
Seção Recomendação Manual/Automatizado Nível Resultado
1.3.1 Ensure que os pontos de extremidade do gerenciador de controle healthz são protegidos por RBAC. Automated 1 Not checked
1.3.2 Ensure que o argumento --use-service-account-credentials está definido como verdadeiro. Automated 1 Pass
1.3.3 Ensure que o argumento --service-account-private-key-file seja definido conforme apropriado. Automated 1 Pass
1.3.4 Ensure que o argumento --root-ca-file seja definido conforme apropriado. Automated 1 Pass

1.4 Planejador

Benchmarks para o agendador.
Seção Recomendação Manual/Automatizado Nível Resultado
1.4.1 Ensure que os pontos de extremidade do healthz para o agendador sejam protegidos pelo RBAC. Automated 1 Not checked
1.4.2 Verify que o serviço da API do agendador está protegido por RBAC. Automated 1 Not checked

2 Etcd

Benchmarks para etcd.
Seção Recomendação Manual/Automatizado Nível Resultado
2.1 Ensure que os argumentos --cert-file e --key-file sejam definidos conforme apropriado. Automated 1 Pass
2.2 Ensure que o argumento --client-cert-auth está definido como verdadeiro. Automated 1 Pass
2.3 Ensure que o argumento --auto-tls não está definido como verdadeiro. Automated 1 Pass
2.4 Ensure que os argumentos --peer-cert-file e --peer-key-file sejam definidos conforme apropriado. Automated 1 Pass
2.5 Ensure que o argumento --peer-client-cert-auth está definido como verdadeiro. Automated 1 Pass
2.6 Ensure que o argumento --peer-auto-tls não está definido como verdadeiro. Automated 1 Pass
2.7 Ensure que uma Autoridade de Certificação exclusiva seja usada para etcd. Automated 2 Não [verificado

3 Configuração do plano de controle

3.1 Autenticação e autorização

Padrões de referência para autenticação e autorização.
Seção Recomendação Manual/Automatizado Nível Resultado
3.1.1 Client a autenticação por certificado não deve ser usada para usuários. Automated 2 Pass

3.2 Criação de log

Benchmarks para registro.
Seção Recomendação Manual/Automatizado Nível Resultado
3.2.1 Ensure que uma política de auditoria mínima seja criada. Automated 1 Not checked
3.2.2 Ensure que a política de auditoria abrange as principais preocupações de segurança. Automated 2 Not checked

4 nós de trabalho

4.1 Arquivos de configuração do nó do trabalhador

Benchmarks para arquivos de configuração de nós de trabalho.
Seção Recomendação Manual/Automatizado Nível Resultado
4.1.1 Ensure que as permissões do arquivo de serviço do kubelet estejam definidas como 644 ou mais restritivas. Automated 1 Pass
4.1.2 Ensure que a propriedade do arquivo de serviço do kubelet está definida como root:root. Automated 1 Pass
4.1.3 If o arquivo de configuração do proxy kube proxy existe e garante que as permissões sejam definidas como 644 ou mais restritivas. Automated 1 Not checked
4.1.4 If o arquivo proxy kubeconfig existe e garante que a propriedade seja definida como root:root. Automated 1 Not checked
4.1.5 Ensure que a propriedade do arquivo --kubeconfig`` kubelet.conf file permissions are set to 644 or more restrictive. Automated 1 Pass
4.1.6 Ensure that the --kubeconfig`` kubelet.conf está definida como root:root. Automated 1 Pass
4.1.7 Ensure que as permissões de arquivo das autoridades de certificação estejam definidas como 644 ou mais restritivas. Automated 1 Pass
4.1.8 Ensure que a propriedade do arquivo das autoridades de certificação do cliente esteja definida como root:root. Automated 1 Pass
4.1.9 Ensure que o arquivo de configuração do kubelet --config tenha permissões definidas como 600 ou mais restritivas. Automated 1 Pass
4.1.10 Ensure que a propriedade do arquivo de configuração do kubelet está definida como root:root. Automated 1 Pass

4.2 Kubelet

Benchmarks para kubelet.
Seção Recomendação Manual/Automatizado Nível Resultado
4.2.1 Activate Coleta de lixo em OpenShift Container Platform 4, conforme apropriado. Automated 1 Pass
4.2.2 Ensure que o argumento --anonymous-auth está definido como falso. Automated 1 Pass
4.2.3 Ensure que o argumento --authorization-mode não esteja definido como AlwaysAllow. Automated 1 Pass
4.2.4 Ensure que o argumento --client-ca-file seja definido conforme apropriado. Automated 1 Pass
4.2.5 Verify que a porta somente leitura não é usada ou está definida como 0. Automated 1 Pass
4.2.6 Ensure que o argumento --streaming-connection-idle-timeout não esteja definido como 0. Automated 1 Pass
4.2.7 Ensure que o argumento --make-iptables-util-chains está definido como verdadeiro. Automated 1 Pass
4.2.8 Ensure que o argumento kubeAPIQPS [--event-qps] esteja definido em um nível que garanta a captura adequada de eventos. Automated 2 Pass
4.2.9 Ensure que os argumentos --tls-cert-file e --tls-private-key-file sejam definidos conforme apropriado. Automated 1 Pass
4.2.10 Ensure que o argumento --rotate-certificates não esteja definido como falso. Automated 1 Pass
4.2.11 Verify que o argumento RotateKubeletServerCertificate está definido como verdadeiro. Automated 1 Pass
4.2.12 Ensure que o Kubelet usa apenas cifras criptográficas fortes. Automated 1 Pass

5 Políticas

5.1 Contas RBAC e de serviço

Benchmarks para rbac e contas de serviço.
Seção Recomendação Manual/Automatizado Nível Resultado
5.1.1 Ensure que a função cluster-admin seja usada somente quando necessário. Manual 1 MANUAL
5.1.2 Minimize acesso a segredos. Manual 1 MANUAL
5.1.3 Minimize uso de curinga em Roles e ClusterRoles. Manual 1 MANUAL
5.1.4 Minimize acesso para criar pods. Manual 1 MANUAL
5.1.5 Ensure que as contas de serviço padrão não sejam usadas ativamente. Manual 1 MANUAL
5.1.6 Ensure que os tokens de conta de serviço sejam montados somente quando necessário. Manual 1 MANUAL

5.2 Restrições do contexto de segurança

Padrões de referência para restrições de contexto de segurança.
Seção Recomendação Manual/Automatizado Nível Resultado
5.2.1 Minimize a admissão de contêineres privilegiados. Manual 1 MANUAL
5.2.2 Minimize a admissão de contêineres que desejam compartilhar o namespace do ID do processo do host. Manual 1 MANUAL
5.2.3 Minimize a admissão de contêineres que desejam compartilhar o namespace IPC do host. Manual 1 MANUAL
5.2.4 Minimize a admissão de contêineres que desejam compartilhar o namespace da rede do host. Manual 1 MANUAL
5.2.5 Minimize a admissão de contêineres com allowPrivilegeEscalation. Manual 1 MANUAL
5.2.6 Minimize a admissão de contêineres de raiz. Manual 2 MANUAL
5.2.7 Minimize a admissão de contêineres com o recurso NET_RAW. Manual 1 MANUAL
5.2.8 Minimize a admissão de contêineres com recursos adicionais. Automated 1 Não [verificado
5.2.9 Minimize a admissão de contêineres com recursos atribuídos. Manual 2 MANUAL
5.2.10 Minimize acesso a restrições de contexto de segurança privilegiadas. Manual 2 MANUAL

5.3 Políticas de rede e CNI

Benchmarks para políticas de rede e CNI.
Seção Recomendação Manual/Automatizado Nível Resultado
5.3.1 Ensure que o CNI em uso é compatível com as políticas de rede. Automated 1 Not checked
5.3.2 Ensure que todos os Namespaces tenham políticas de rede definidas. [ Manual 2 MANUAL

5.4 Gerenciamento de segredos

Benchmarks para gerenciamento de segredos.
Seção Recomendação Manual/Automatizado Nível Resultado
5.4.1 Prefer usando segredos como arquivos em vez de segredos como variáveis de ambiente. Manual 1 MANUAL
5.4.2 Consider armazenamento secreto externo. Manual 2 MANUAL

5.5 Controle de admissão extensível

Benchmarks para controle de admissão extensível.
Seção Recomendação Manual/Automatizado Nível Resultado
5.5.1 Configure Proveniência da imagem usando parâmetros de configuração do controlador de imagem. Automated 2 Not checked

5.7 Políticas gerais

Referências para políticas gerais.
Seção Recomendação Manual/Automatizado Nível Resultado
5.7.1 Create limites administrativos entre recursos usando namespaces. Manual 1 MANUAL
5.7.2 Ensure que o perfil seccomp esteja definido como docker/default em suas definições de pod. Manual 2 MANUAL
5.7.3 Apply Contexto de segurança para seus pods e contêineres. Manual 2 MANUAL
5.7.4 The o namespace padrão não deve ser usado. Manual 2 MANUAL

Explicações e remediações do IBM

Detalhes para IBM correções e explicações
Seção Recomendação/Explicações
1.2.19 Red O Hat OpenShift em IBM Cloud pode, opcionalmente, ativar a auditoria do servidor de API Kubernetes.
1.2.20 Red Hat OpenShift em IBM Cloud define o argumento maximumRetainedFiles como 1.
1.2.29 Red O Hat OpenShift no IBM Cloud pode, opcionalmente, ativar um provedor Kubernetes Key Management Service (KMS).
2.7 Red O Hat OpenShift em IBM Cloud configura uma autoridade de certificação exclusiva para etcd.
5.2.8 Red O Hat OpenShift no IBM Cloud instala o SCCs personalizado.
5.3.2 Red O Hat OpenShift on IBM Cloud tem um conjunto de políticas de rede Calico padrão definidas e políticas de rede adicionais podem ser adicionadas opcionalmente.