Descripción general
Clair es un proyecto open source que proporciona una herramienta para controlar la seguridad de los contenedores mediante un análisis estático de puntos vulnerables de los de appc y los de docker. Es un motor de análisis basado en API que inspecciona estos entornos capa por capa para encontrar fallos de seguridad conocidos. Con esta herramienta, puede diseñar fácilmente servicios que proporcionen un control permanente de los contenedores para buscar puntos vulnerables.
Clair para la seguridad de los contenedores
Para generar listas de los puntos vulnerables que son un riesgo para los contenedores, se importan constantemente datos sobre ellos desde un conjunto de fuentes y se relacionan estos datos con el contenido indexado de imágenes. Cuando estos datos cambian upstream, se pueden enviar el estado anterior y el estado nuevo del punto vulnerable junto con las imágenes que afectan mediante un webhook a un extremo configurado. Además, se pueden personalizar todos los elementos principales en tiempo de compilación y sin dividir el proyecto de manera programática. Clair respalda la seguridad de los contenedores al permitir:
- Actualizar los datos de los puntos vulnerables desde un conjunto de fuentes que defina y almacenarlos en su base de datos
- Permitir que los clientes consulten esta base de datos para buscar puntos vulnerables en imágenes específicas mediante el uso de una API.
- Indexar imágenes de contenedores con una lista de características de la imagen mediante el uso de una API
Funcionamiento de Clair
Clair revisa todas las capas del contenedor y alerta sobre las posibles amenazas en función de la base de datos de puntos vulnerables y exposiciones comunes (CVE) y otras similares de Red Hat®, Ubuntu y Debian. Dado que muchos contenedores comparten las mismas capas, resulta fundamental realizar un análisis interno para diseñar un inventario de los paquetes y compararlo con los CVE conocidos.
Además, Clair brinda soporte para los administradores de paquetes de lenguajes de programación, empezando por Python y una API nueva centrada en las imágenes.
Gracias a la detección automática de los puntos vulnerables, podrá generar conciencia e implementar las prácticas recomendadas de la seguridad en los equipos de desarrollo y operaciones, además de promover la acción para aplicar parches y abordar estas fallas. Cuando se encuentra alguna de ellas, Clair identifica de inmediato las capas actuales que están afectadas, sin tener que realizar un análisis nuevamente, y envía la notificación correspondiente.
Por ejemplo, desde hace un tiempo, se conoce el punto vulnerable CVE-2014-0160, llamado "Heartbleed", y aun así el análisis de seguridad de Red Hat Quay lo considera una posible amenaza para un gran porcentaje de imágenes de contenedores que los usuarios almacenaron en Quay.
Tenga en cuenta que los puntos vulnerables suelen depender de ciertas condiciones específicas para que puedan aprovecharse de ellos. En el caso de Heartbleed, solo se considera una amenaza si se instala y utiliza el paquete vulnerable OpenSSL. Clair no está preparada para ese nivel de análisis, y los equipos deben llevar a cabo uno más detallado cuando sea necesario.
Clair y Kubernetes
Clair es parte del proyecto open source Project Quay. La plataforma de KubernetesRed Hat OpenShift® puede utilizar esta herramienta para proteger los contenedores por medio del operador de seguridad de Kubernetes, el cual también forma parte de Red Hat Quay. Se trata de una plataforma open source de registro de las imágenes de los contenedores que permite diseñar, distribuir e implementar los contenedores en los centros de datos internacionales, y se concentra en los modelos y los entornos de desarrollo en la nube y de DevSecOps.
El operador de seguridad de los contenedores de Quay, que se integra a Red Hat OpenShift, le permite aumentar la seguridad de sus repositorios de imágenes con sistemas de automatización, autenticación y autorización. Red Hat Quay está disponible con Red Hat OpenShift o como elemento independiente.
Con Red Hat OpenShift Service on AWS (ROSA), puede diseñar imágenes desde su código fuente, implementarlas y gestionar su ciclo de vida. Proporciona un registro de imágenes de contenedores integrado e interno que se puede implementar en su entorno de ROSA para gestionarlas de manera local. Quay.io, una instancia pública de registro de contenedores de Red Hat Quay que Red Hat distribuye y mantiene, aporta la mayoría de las imágenes y los operadores a los clústeres de ROSA. Red Hat Quay está disponible como un servicio alojado y como un sistema de software que puede instalar en su propio centro de datos o en su entorno de nube. Sus funciones avanzadas son la replicación geográfica, el análisis de las imágenes y la capacidad de restaurarlas. Para implementarlas, debe utilizar Clair como parte de su configuración general de OpenShift.
Nuestros consultores pueden ayudarlo
La ayuda de Red Hat
Como parte de su compromiso con las comunidades open source, Red Hat seguirá participando del desarrollo de Project Quay en el papel de miembro de la fundación Cloud Native Computing Foundation.
Red Hat colabora en gran medida con el diseño de las funciones nuevas para Clair y Project Quay, y controla una de las principales bases de datos de puntos vulnerables que se utiliza en Clair. Además, dirige la instalación más grande de Clair a través de quay.io, el cual funciona como un entorno real para las pruebas de carga.