IBM Cloud Docs
CIS Kubernetes Benchmark

CIS Kubernetes Benchmark

El Center for Internet Security ( CIS ) publica el CIS Kubernetes Benchmark como marco de pasos específicos para configurar Kubernetes de forma más segura y con estándares acordes a diversas normativas del sector.

Cuando se lanza una nueva versión de Kubernetes, los ingenieros de IBM comparan la configuración predeterminada de un clúster que ejecuta la versión de Kubernetes con las pruebas de referencia y publican los resultados en esta documentación. Puede consultar cómo las versiones específicas de sus clústeres de IBM Cloud® Kubernetes Service cumplen los estándares de CIS Kubernetes Benchmark.

Versiones de puntos de referencia compatibles

Utilice la lista para encontrar CIS Kubernetes Benchmark resultados para las versiones compatibles.

Utilización de las pruebas de referencia

Como administrador de seguridad o auditor, es posible que desee comparar los estándares internos de su empresa y los requisitos normativos externos con CIS Kubernetes Benchmark. Las recomendaciones de las pruebas de referencia las proporciona el Center for Internet Security, no IBM. Es posible que IBM no configure los valores predeterminados de una forma que satisfaga cada una de las recomendaciones, pero para ayudarle en su revisión se documenta si se cumple la recomendación. Por ejemplo, puede utilizar las pruebas de referencia en una auditoría para confirmar que se aplican medidas de seguridad básicas y para identificar las áreas en las que puede mejorar la seguridad.

¿Qué cubre el índice de referencia?

Las pruebas de referencia incluyen recomendaciones para las configuraciones del panel de control, etcd, los componentes maestros, los nodos trabajadores y las políticas como, por ejemplo, para usuarios, red y seguridad de pod.

¿Qué significan las recomendaciones de referencia?

Las recomendaciones de las pruebas de referencia tienen puntuaciones, niveles, estado del resultado y responsabilidades como los siguientes.

  • Scoring
    • Puntuado: la puntuación global de la prueba de referencia es mayor o menor en función de si se cumple la recomendación.
    • Sin puntuar: no afecta a la puntuación global de la prueba de referencia, se cumpla o no la recomendación.
  • Niveles
    • Nivel 1: medidas de seguridad prácticas que se pueden configurar sin inhibir el servicio.
    • Nivel 2: medidas de seguridad más detalladas que podrían reducir el rendimiento o la funcionalidad de un servicio.
  • Resultado
    • Correcto: el servicio cumple la recomendación de las pruebas de referencia.
    • Fallido: de forma predeterminada el servicio no cumple la recomendación de las pruebas de referencia. Consulte la sección de solución para ver una explicación y las posibles acciones que puede llevar a cabo para cumplir con la recomendación de la prueba referencia.
  • Responsabilidad
    • IBM: IBM es responsable de configurar el valor que recomiendan las pruebas de referencia.
    • Compartida: el Cliente e IBM comparten la responsabilidad de configurar el valor que recomiendan las pruebas de referencia.

¿De qué partes del índice de referencia soy responsable?

Puesto que IBM Cloud Kubernetes Service es una oferta gestionada, IBM ya configura automáticamente muchos valores de seguridad. Por ejemplo, IBM gestiona y aplica automáticamente actualizaciones al maestro de clúster. En el caso de los nodos trabajadores, IBM proporciona actualizaciones de seguridad y versión, pero usted debe aplicar las actualizaciones. También es responsable de las aplicaciones y los datos de la carga de trabajo. Para obtener más información, consulte Sus responsabilidades al utilizar IBM Cloud Kubernetes Service.

¿Qué pasa si alguna parte del servicio no cumple una recomendación?

En primer lugar, compruebe la explicación de la anomalía para ver los pasos para su corrección.

A continuación, determine si la anomalía es aceptable de acuerdo con sus requisitos de seguridad. Por ejemplo, algunas recomendaciones pueden ser requisitos de configuración más detallados de los que requieren sus procesos o estándares concretos. Además, algunas recomendaciones no se puntúan, y no afectan a la puntuación global de la prueba de referencia.

A continuación, decida si el componente se encuentra bajo su responsabilidad. Si es así, es posible que tenga que cambiar la configuración de dicho componente. Por ejemplo, puede configurar políticas de seguridad de pod para todos los despliegues de apps. En el caso de los componentes que no se encuentran directamente bajo su responsabilidad, evalúe si puede utilizar otro servicio de IBM Cloud para cumplir la recomendación.

¿Qué más puedo hacer para aumentar la seguridad y la conformidad de mi clúster?

Consulte Seguridad para IBM Cloud Kubernetes Service.

Ejecución de CIS Kubernetes Benchmark del nodo trabajador

Para revisar los resultados de CIS Kubernetes benchmark para la sección 4, Configuración de seguridad de nodo de trabajador, puede ejecutar la prueba usted mismo. Puesto que es propietario de los nodos trabajadores y es parcialmente responsable de su cumplimiento, puede realizar los cambios de configuración que desee validar por su cuenta.

Antes de empezar: Inicie una sesión en su cuenta. If applicable, target the appropriate resource group. Establezca el contexto para el clúster.

  1. Cree un espacio de nombres para los recursos para ejecutar la prueba de referencia.

    kubectl create ns ibm-kube-bench-test
    
  2. Cree un ConfigMap con los archivos de configuración config y node del repositorio kube-samples GitHub.

    1. Descargue los archivos de configuración config y node en un directorio local denominado ibm. También puede clonar el repositorio y navegar al directorio ibm.
    2. Cree ConfigMap utilizando la opción --from-file para especificar el directorio ibm en el que descargó los archivos de configuración.
      kubectl create cm kube-bench-node -n ibm-kube-bench-test --from-file ibm
      
  3. Cree un trabajo para ejecutar la prueba de referencia en función de las configuraciones que ha creado anteriormente.

    kubectl 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. Comprueba que el trabajo se ha completado.

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

    Salida de ejemplo

    NAME                    READY   STATUS      RESTARTS   AGE
    kube-bench-node-hlvhc   0/1     Completed   0          23s
    
  5. Revise los resultados de CIS Kubernetes Benchmark para los nodos trabajadores comprobando los registros de pod.

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

    Salida de ejemplo

    == Summary ==
    20 checks PASS
    2 checks FAIL
    1 checks WARN
    0 checks INFO
    
  6. Opcional: cuando haya terminado de revisar los resultados, suprima los recursos que ha creado.

    kubectl delete ns ibm-kube-bench-test