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
| 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
| 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
| 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
| 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.2 Criação de log
| 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
| 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
| 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
| 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
| 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
| 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
| 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
| 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
| 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
| 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. |