ACK ofrece la función de inspección para analizar las cargas de trabajo de su clúster en busca de riesgos de seguridad en su configuración. Una vez que se ejecuta una tarea de inspección, el sistema genera un informe correspondiente. Este informe le permite consultar y atender los elementos de riesgo, así como monitorear el estado de salud de sus cargas de trabajo en tiempo real.
Requisitos previos
El clúster debe ejecutar Kubernetes v1.14 o posterior. Para actualizar su clúster, consulte Manually update an ACK cluster.
-
Si usted es un usuario de RAM, complete la autorización de RAM y la autorización RBAC como se describe en las siguientes secciones.
-
Autorización de RAM
Complete la autorización de RAM en la página de Inspections para garantizar que el usuario actual de RAM tenga los permisos necesarios para utilizar la página de Inspections del clúster actual. De lo contrario, no tendrá permisos suficientes y no podrá usar las funciones disponibles en la página de Inspections. Para obtener más información, consulte Grant permissions to access clusters and cloud resources by using RAM.
Si desea utilizar la función de informes de inspección, debe otorgar al usuario de RAM permisos de lectura sobre el proyecto específico de Simple Log Service (SLS). Este proyecto lo utiliza el componente de recopilación de registros de su clúster. De lo contrario, la falta de permisos le impedirá consultar los informes de inspección. Para obtener más información, consulte Examples of custom RAM authorization.
-
Autorización RBAC
Complete la autorización RBAC para los recursos en la página de Inspections con el fin de otorgar permisos de administrador al usuario de RAM para el clúster especificado. Esto garantiza que el usuario de RAM tenga los permisos necesarios para operar los recursos de Kubernetes en la página de Inspections. Para obtener más información, consulte Use RBAC to authorize operations on resources within a cluster.
-
Ejecución de una inspección
Inicie sesión en la consola de ACK. En el panel de navegación izquierdo, haga clic en Clusters.
En la página de Clusters, haga clic en el nombre de su clúster. En el panel de navegación izquierdo, haga clic en .
-
Opcional: Siga las instrucciones en pantalla para instalar o actualizar el componente de inspección.
El componente security-inspector es gratuito, pero consume recursos de pod. Para obtener más información sobre el componente y sus notas de versión, consulte security-inspector.
-
Ejecute una inspección.
ImportanteSe recomienda ejecutar las inspecciones fuera de las horas pico.
De forma predeterminada, la inspección analiza todos los elementos compatibles. En la esquina superior derecha de la página de Inspections, puede hacer clic en Configure Periodic Inspection para especificar los elementos que se deben analizar. Para obtener más información, consulte Inspection items.
Para ejecutar una inspección inmediata, en la esquina superior derecha de la página de Inspections, haga clic en Inspect.
Para ejecutar inspecciones periódicas, en la esquina superior derecha de la página de Inspections, haga clic en Configure Periodic Inspection. A continuación, seleccione Configure Periodic Inspection y configure el periodo de inspección.
Una vez completada la inspección, en la pestaña Inspections, localice el resultado de inspección deseado y haga clic en Details en la columna Actions.
Detalles de la inspección
La página de Inspections enumera los resultados detallados de la inspección para las distintas cargas de trabajo. La página ofrece las siguientes funciones:
Filtre los resultados por criterios como Passed or Failed, Namespace y Workload Type, y consulte el Number of Passed Items y los Risk Item de cada carga de trabajo.
Consulte los detalles de cada elemento de inspección, incluido el estado de la verificación (aprobado o con errores) a nivel de pod y contenedor, una descripción detallada y sugerencias de corrección. Si un elemento con errores no requiere corrección, puede agregarlo a la lista de permitidos.
Consulte el archivo YAML de una carga de trabajo.
Informes de inspección
La página de Reports muestra los resultados de la inspección más reciente. La página incluye la siguiente información:
Un resumen de los resultados del análisis, que incluye el número total de elementos inspeccionados, la cantidad y el porcentaje de cada tipo de recurso analizado, y la puntuación general de salud.
Estadísticas de las principales categorías de análisis, incluidas comprobaciones de salud, imágenes, red, recursos y seguridad.
Resultados detallados del análisis para cada configuración de carga de trabajo, incluidos el tipo de recurso, el nombre del recurso, el namespace, el tipo de comprobación, el elemento de inspección y el resultado.
Elementos de inspección
La función de inspección de configuración analiza y muestra resultados para los siguientes elementos.
ID de comprobación | Elemento de comprobación | Descripción y riesgo de seguridad | Corrección |
hostNetworkSet | Evitar que los contenedores compartan el namespace de red del host | Comprueba si | Modifique la especificación del pod para eliminar el campo Ejemplo: |
hostIPCSet | Evitar que los contenedores compartan el namespace IPC del host | Comprueba si | Modifique la especificación del pod para eliminar el campo Ejemplo: |
hostPIDSet | Evitar que los contenedores compartan el namespace PID del host | Comprueba si | Modifique la especificación del pod para eliminar el campo Ejemplo: |
hostPortSet | Evitar que los procesos del contenedor escuchen en puertos del nodo | Comprueba si | Modifique la especificación del pod para eliminar el campo Ejemplo: |
runAsRootAllowed | Evitar que los contenedores se ejecuten como usuario root | Comprueba si | Modifique la especificación del pod para agregar Ejemplo: |
runAsPrivileged | Evitar que los contenedores se ejecuten en modo privilegiado | Comprueba si | Modifique la especificación del pod para eliminar el campo Ejemplo: |
privilegeEscalationAllowed | Evitar la escalada de privilegios en contenedores | Comprueba si | Modifique la especificación del pod para agregar el campo Ejemplo: |
capabilitiesAdded | Eliminar capacidades de Linux innecesarias | Comprueba el campo | Modifique la especificación del pod para agregar solo las capacidades de Linux necesarias y eliminar todas las demás. Si no se requieren capacidades adicionales de Linux, elimínelas todas. Ejemplo: Si se requieren capacidades específicas, agregue solo las necesarias y elimine todas las demás. Ejemplo: |
notReadOnlyRootFilesystem | Usar un sistema de archivos raíz de solo lectura para los contenedores | Comprueba si | Modifique la especificación del pod para agregar Ejemplo: Si necesita modificar archivos en un directorio específico, utilice un campo Ejemplo: |
cpuRequestsMissing | Establecer solicitudes de CPU para los contenedores | Comprueba si | Modifique la especificación del pod para agregar un campo Ejemplo: |
cpuLimitsMissing | Establecer límites de CPU para los contenedores | Comprueba si | Modifique la especificación del pod para agregar un campo Ejemplo: |
memoryRequestsMissing | Establecer solicitudes de memoria para los contenedores | Comprueba si | Modifique la especificación del pod para agregar un campo Ejemplo: |
memoryLimitsMissing | Establecer límites de memoria para los contenedores | Comprueba si | Modifique la especificación del pod para agregar un campo Ejemplo: |
readinessProbeMissing | Configurar sondas de preparación para los contenedores | Comprueba si hay una | Modifique la especificación del pod para agregar un campo Ejemplo: |
livenessProbeMissing | Configurar sondas de actividad para los contenedores | Comprueba si hay una | Modifique la especificación del pod para agregar un campo Ejemplo: |
tagNotSpecified | Usar una etiqueta de imagen específica para los contenedores | Comprueba si el campo | Modifique el campo Ejemplo: |
anonymousUserRBACBinding | Prohibir el acceso de usuarios anónimos al clúster | Revisa los enlaces de control de acceso basado en roles (RBAC) en el clúster para encontrar cualquier configuración que otorgue acceso a usuarios anónimos. Si se permite el acceso anónimo, usuarios malintencionados podrían robar información confidencial o atacar el clúster. | Modifique los enlaces RBAC para eliminar cualquier permiso que permita a los usuarios anónimos acceder a los recursos del clúster. Ejemplo: |
Eventos
Tipo de evento | Nombre del evento | Ejemplo de contenido | Descripción | Acciones |
Normal | SecurityInspectorConfigAuditStart | Starting config audit | La tarea de inspección ha comenzado. | No se requiere ninguna acción. |
Normal | SecurityInspectorConfigAuditFinished | Config audit finished | La tarea de inspección ha finalizado. | No se requiere ninguna acción. |
Advertencia | SecurityInspectorConfigAuditHighRiskFound | Found 2 high-risk items after config audit | Después de la inspección, se encontraron elementos de alto riesgo sin mitigar en algunas cargas de trabajo. |
|