Imagina un dispositivo médico que ejecuta Linux en un hospital. Procesa los datos de los pacientes, ajusta las dosis e informa a los sistemas clínicos. O un cajero automático en la esquina de una calle que procesa transacciones las 24 horas del día. O un dispositivo de puerta de enlace en el extremo de una red de fabricación que transmite datos de sensores desde la planta de producción. Se verificó el sistema operativo de cada uno de ellos durante la instalación. Sin embargo, ¿todos los archivos binarios y las bibliotecas siguen siendo exactamente iguales a los que se crearon? Si exigieras esa garantía para un dispositivo en un quirófano o en una planta de fabricación, ¿por qué no esperar lo mismo de los servidores que ejecutan tu empresa?

La brecha en tu cadena de arranque

Por lo general, la instalación predeterminada de un sistema operativo genérico viene "desbloqueada", lo que te permite ser root en tu computadora y realizar cambios permanentes. Por lo tanto, si bien una instalación genérica de Red Hat Enterprise Linux (RHEL) o Debian admite el arranque seguro, por lo general solo el kernel está firmado. La cadena de confianza criptográfica del firmware no abarca el sistema de archivos raíz ni las aplicaciones. Sin embargo, para las empresas que desean crear "dispositivos", es posible aumentar la seguridad mediante el encadenamiento desde el arranque seguro hasta la integridad del sistema operativo con firmas personalizadas.

Desde los flujos de trabajo de los contenedores hasta la integridad del sistema operativo

La mayoría de las empresas ya crean, firman y envían imágenes de contenedores a través de canales de CI/CD. Cada solicitud de incorporación de cambios del contenedor verifica un resumen criptográfico. Cada vez que se inicia un contenedor nuevo, el tiempo de ejecución confirma que la imagen coincide con lo que se firmó. Las empresas ya confían en este modelo para sus aplicaciones.

El modo de imagen de Red Hat Enterprise Linux incorpora el mismo flujo de trabajo de contenedores al propio sistema operativo. En lugar de instalar y configurar un sistema operativo a mano o mediante scripts, lo defines en un Containerfile (u otro sistema de compilación de OCI compatible), lo creas como una imagen de contenedor y lo implementas con bootc. El sistema operativo se convierte en un artefacto reproducible y versionado que se mueve a través del mismo canal que tus aplicaciones. Las actualizaciones son atómicas. La restauración está integrada. Todos los sistemas implementados ejecutan la imagen que creaste y puedes rastrearla hasta el sistema de compilación que la produjo.

Gracias al modo de imagen, las imágenes selladas van un paso más allá. La imagen del sistema operativo que creaste y firmaste ahora se verifica criptográficamente desde el firmware hasta el tiempo de ejecución. No estás adoptando un proceso nuevo. Estás extendiendo uno en el que ya confías, desde tus aplicaciones hasta la capa del sistema operativo.

Cómo funciona

El arranque seguro y una imagen de kernel unificada y firmada ya verifican la cadena de arranque: Cargador de arranque, kernel, initramfs. Las imágenes selladas extienden la verificación a la propia imagen inmutable del sistema operativo con precisión a nivel de archivo. Mediante composefs y fs-verity, se integra un resumen criptográfico de la imagen del contenedor del sistema operativo directamente en el UKI firmado durante la compilación. En el tiempo de ejecución, el sistema verifica individualmente cada archivo que tú o tu equipo hayan añadido a esa imagen con respecto a ese resumen. El sistema se niega a cargar cualquier archivo del sistema operativo que no coincida. Si algo se modifica, daña o reemplaza después de compilar la imagen, el kernel devuelve un error de E/S. El sistema no sirve el archivo. No lo registra ni lo sirve, ni tampoco lo marca ni lo sirve. Sencillamente es ilegible. El contenido alterado desaparece de forma efectiva, por lo que el kernel no lo entrega a ningún proceso.

Lo que esto significa para tu infraestructura

La cadena de firmas está bajo tu control. Tú generas las claves, firmas las imágenes y decides en qué confían tus sistemas. No necesitas a ningún proveedor en tu cadena de custodia.

Las organizaciones de alta seguridad de los sectores gubernamental, financiero y sanitario llevan años exigiendo este nivel de integridad del sistema operativo. Las imágenes selladas lo ofrecen y están disponibles para cualquier organización que las solicite. No es necesario pertenecer a un sector regulado para beneficiarte de saber que tu sistema operativo es exactamente lo que construiste.

Vale la pena ser precisos sobre lo que abarcan las imágenes selladas. El sello protege los archivos de la imagen inmutable del sistema operativo: El sistema operativo base y todo el software que añadas por encima. Tus agentes de supervisión, herramientas de seguridad, binarios de aplicaciones y los paquetes específicos que tu equipo añadió a la imagen base. Todo ello está sellado. No abarca la configuración de escritura en /etc ni el estado de tiempo de ejecución en /var. Esa distinción es deliberada. El sello protege el sistema operativo que construiste. Tus herramientas de gestión de la configuración y de seguridad del tiempo de ejecución ayudan a proteger el resto.

Al principio de este artículo mencioné un dispositivo médico y un cajero automático, pero esto va más allá de esos ejemplos. Imagina un centro de datos, una flota de edge o una planta de fabricación. Un Containerfile define el sistema operativo. Una canalización lo crea, firma y sella. La misma imagen sellada se implementa en bare metal, máquinas virtuales e instancias de nube. La misma integridad la acompaña a todas partes. No se trata de una capacidad de nicho para un caso de uso limitado. Este es el aspecto que debería tener la integridad del sistema operativo.

Primeros pasos

Las imágenes selladas están disponibles como vista previa tecnológica en RHEL 10.2. Se basa en tecnologías upstream de Linux e incluye componentes importantes del proyecto systemd, herramientas existentes de arranque seguro y composefs, que ofrecen una forma flexible y eficiente de obtener una integridad similar a la que proporciona dm-verity, pero con la flexibilidad de un enfoque basado en sistemas de archivos. Hacia aquí se dirige la gestión del sistema operativo. La vista previa tecnológica está abierta, las herramientas ya funcionan y publicaremos una serie de instrucciones paso a paso en el Red Hat Developer Blog en las próximas semanas para ayudarte a ver cómo es realmente la creación y verificación de sistemas de esta manera en la práctica.

Prueba del producto

Prueba del producto Red Hat Enterprise Linux

Versión de Red Hat Enterprise Linux que organiza los recursos de hardware y se ejecuta en los sistemas físicos, en la nube o como guest de un hipervisor.

Sobre los autores

Mark joined Red Hat in 2014 and is part of the RHEL and OpenShift product management teams. Before that, he had experience as: a sysadmin, a support tech for multiple Linux distros, a consulting architect and an engineering partnership manager. He loves discussing image-based operating systems, edge scenarios, and container engines. Outside of work, Mark enjoys going to see punk rock and other weird music shows in tiny clubs.

UI_Icon-Red_Hat-Close-A-Black-RGB

Navegar por canal

automation icon

Automatización

Las últimas novedades en la automatización de la TI para los equipos, la tecnología y los entornos

AI icon

Inteligencia artificial

Descubra las actualizaciones en las plataformas que permiten a los clientes ejecutar cargas de trabajo de inteligecia artificial en cualquier lugar

open hybrid cloud icon

Nube híbrida abierta

Vea como construimos un futuro flexible con la nube híbrida

security icon

Seguridad

Vea las últimas novedades sobre cómo reducimos los riesgos en entornos y tecnologías

edge icon

Edge computing

Conozca las actualizaciones en las plataformas que simplifican las operaciones en el edge

Infrastructure icon

Infraestructura

Vea las últimas novedades sobre la plataforma Linux empresarial líder en el mundo

application development icon

Aplicaciones

Conozca nuestras soluciones para abordar los desafíos más complejos de las aplicaciones

Virtualization icon

Virtualización

El futuro de la virtualización empresarial para tus cargas de trabajo locales o en la nube