Canonical Ubuntu 22.04 LTS es la última versión de soporte a largo plazo de Ubuntu, una de las distribuciones de Linux más populares del mundo. Como versión de soporte a largo plazo, Ubuntu 22.04 LTS tendrá soporte durante 10 años, recibirá actualizaciones de seguridad extendidas y parches en vivo del kernel a través de una suscripción a Ubuntu Advantage (gratis para uso personal). Esto continúa con el punto de referencia del lanzamiento de Ubuntu LTS como la base más segura para desarrollar e implementar aplicaciones y servicios de Linux. En esta publicación de blog, echaremos un vistazo a las diversas funciones y mejoras de seguridad que se han abierto paso en esta nueva versión desde la versión Ubuntu 20.04 LTS. Para una mirada más detallada a algunas de estas funciones, asegúrese de consultar los artículos anteriores de esta serie, que cubren las mejoras proporcionadas por cada versión provisional de Ubuntu entre 20.04 LTS y 22.04 LTS en los últimos 2 años.
Ubuntu 22.04 LTS presenta versiones de kernel optimizadas para diferentes plataformas. Para los dispositivos de escritorio certificados por OEM, el kernel v5.17 ascendente se usa como base, mientras que todas las demás plataformas de escritorio y servidor se basan en el kernel v5.15. Desde el kernel v5.4 de Ubuntu 20.04 LTS, ha habido numerosos cambios y mejoras de seguridad en el kernel de Linux, que incluyen:
Mejoras de seguridad específicas del hardware
Software Guard eXtensions (SGX) de Intel proporciona enclaves seguros respaldados por hardware que las aplicaciones pueden usar para almacenar datos confidenciales o realizar cálculos confidenciales sin el riesgo de interferencia de componentes que no son de confianza. Ubuntu 22.04 LTS es compatible con esta función, que se ha años en procesadores IntelAunque para las plataformas ARM, los dispositivos ARM64 ahora brindan soporte para las extensiones de etiquetado de memoria Armv8.5. Esta función está diseñada para evitar problemas de seguridad de la memoria al marcar las direcciones de memoria con claves que no se pueden falsificar fácilmente, lo que evita ataques comunes a la seguridad de la memoria, como desbordamientos de búfer. Los procesos de espacio de usuario ahora pueden habilitar el marcado de memoria para regiones de memoria seleccionadas para ayudar a prevenir ataques de corrupción de memoria. Finalmente, el subsistema de virtualización KVM también es compatible con AMD Secure Encrypted Virtualization (SEV) para proteger los registros de máquinas virtuales invitadas contra el acceso del sistema operativo host.
Mejoras generales de seguridad del kernel
También están disponibles muchas otras características de seguridad del kernel de uso general e independientes de la plataforma, incluidas nuevas características de seguridad como la programación del núcleo y varias mejoras de refuerzo. Desde que se descubrieron las primeras instancias de vulnerabilidades de canal lateral de microarquitectura (es decir, Spectre, etc.) hace 4 años, los desarrolladores han estado trabajando en una forma de controlar cómo se programan los procesos en los núcleos de multiprocesamiento simétrico (SMT). Los recursos de hardware de la CPU se comparten entre los hermanos SMT, por lo que es difícil evitar varios ataques de canal lateral de hardware.apoyo programación básica Ahora provisto, permite que los procesos controlen qué subprocesos se programarán entre pares de SMT, lo que les permite proteger la información confidencial para que no se filtre a otros procesos no confiables en el sistema.
La aleatorización de la pila del kernel proporciona una medida de refuerzo para frustrar a los atacantes que desean realizar ataques de corrupción de memoria en el kernel. Al colocar la pila del kernel en un desplazamiento diferente en las llamadas al sistema posteriores, un atacante no puede realizar un ataque filtrando primero la dirección de la pila del kernel y luego sobrescribiendo esta memoria en las llamadas al sistema posteriores. Al cerrar este potencial vector de ataque, Ubuntu 22.04 LTS brinda una plataforma más defensiva contra los ataques al kernel.
El subsistema BPF también ha visto una serie de mejoras de seguridad, que incluyen hacer que solo sean procesos privilegiados de forma predeterminada e incluir esfuerzos iniciales para admitir programas BPF firmados. Ambas medidas están diseñadas para ayudar a minimizar la posibilidad de que este subsistema funcional se pueda usar para atacar el kernel, al mismo tiempo que permite que los desarrolladores y administradores del sistema lo usen según sea necesario.
Finalmente, la inclusión del nuevo módulo de seguridad Landlock Linux proporciona un mecanismo alternativo para el aislamiento de aplicaciones que se puede usar con métodos más tradicionales a través de AppArmor o SELinux. Landlock permite que las aplicaciones especifiquen sus propias políticas (y, por lo tanto, más parecidas a los filtros seccomp), a diferencia de AppArmor y SELinux, que están diseñados para permitir que los administradores del sistema configuren políticas globales del sistema en una variedad de aplicaciones. Cuando se combina con el apilamiento de LSM, Landlock se puede combinar con AppArmor para proporcionar un enfoque de defensa en profundidad para el aislamiento de aplicaciones.
Para cada nueva versión de Ubuntu, existe la oportunidad de actualizar la gama de paquetes disponibles en el archivo de Ubuntu a la última versión original. Ubuntu 22.04 LTS no es una excepción, trae actualizaciones a muchos paquetes relacionados con la seguridad, incluidos OpenSSL, OpenSSH, nftables, gcc e incluso el humilde shell bash.
Abrir SSL 3
Ubuntu 22.04 LTS viene con la última versión principal del venerable kit de herramientas de cifrado OpenSSL. En OpenSSL 3, muchos algoritmos heredados han quedado obsoletos y desactivados de forma predeterminada, incluidos MD2 y DES. Estos y otros algoritmos obsoletos están presentes en los proveedores heredados y se pueden habilitar mediante cambios de configuración o mediante programación, según sea necesario. Al deshabilitarlos de forma predeterminada, los usuarios y las aplicaciones están protegidos contra ataques criptográficos contra estos algoritmos menos seguros.
Mejoras de OpenSSH UX para tokens FIDO/U2F
Otro pilar del ecosistema de seguridad de Linux es OpenSSH, que brinda acceso remoto seguro a los sistemas Linux. Se han lanzado siete versiones de OpenSSH desde que se incluyó la versión 8.2 en la versión anterior de Ubuntu 20.04 LTS, lo que trae una gran cantidad de mejoras para administradores de sistemas, desarrolladores y usuarios por igual. En particular, el uso de tokens de seguridad de hardware U2F/FIDO se ha mejorado mucho en OpenSSH 8.9, lo que brinda beneficios significativos en la experiencia del usuario al usar estos dispositivos de autenticación de segundo factor para el acceso remoto.
nftables como servidor de seguridad predeterminado
Un firewall en Linux consta de dos componentes: el mecanismo de firewall en el kernel de Linux y las herramientas para la configuración desde el espacio del usuario. Tradicionalmente, el kernel de Linux ha admitido dos subsistemas de políticas de firewall diferentes: iptables/xtables y los nftables más nuevos. Al crear e implementar reglas de firewall, nftables brinda ventajas significativas tanto en rendimiento como en flexibilidad, especialmente para sistemas IPv4/IPv6 de doble pila.tradicional iptables Las herramientas de administración del espacio de usuario ahora están configuradas sábana backend del núcleo, mientras que el nuevo nft También existen herramientas de espacio de usuario para permitir la creación de reglas más flexibles que tradicionalmente no se admiten iptables ejemplo.
GCC 11 y Bash 5.1
GCC 11.2 ofrece capacidades mejoradas de análisis estático que permiten a los desarrolladores detectar y solucionar posibles vulnerabilidades de software y otros problemas durante el ciclo de desarrollo. Esto incluye soporte para detectar posibles desreferencias de puntero NULL, uso después de libre, fugas de memoria y llamadas inseguras de condiciones de controlador de señal. Al usar Ubuntu 22.04 LTS como base para su plataforma de desarrollo, los desarrolladores de software pueden ayudar a garantizar que el código que escriben sea lo más correcto y libre de errores posible.
Tanto los desarrolladores como los administradores de sistemas se beneficiarán con la adición de Bash 5.1. Esta antigua versión de shell incluye soporte nativo para mejorar la generación de números pseudoaleatorios a través de la variable $SRANDOM. A diferencia de las variables $RANDOM históricas, $SRANDOM se deriva del dispositivo de origen aleatorio seguro /dev/urandom del núcleo, lo que garantiza que un atacante potencial no pueda predecir fácilmente su salida.
directorio de inicio privado
Tradicionalmente, los sistemas Ubuntu han optado por la comodidad del acceso compartido al directorio de inicio de un usuario, admitiendo casos de uso como PC compartidas en entornos universitarios y domésticos. Sin embargo, a medida que el panorama tecnológico ha crecido, con Ubuntu dominando otras áreas como la computación en la nube y el Internet de las cosas (IoT), ahora se considera necesario un enfoque más defensivo para proteger a los usuarios y sus datos. Ubuntu 22.04 LTS ahora habilita los directorios de inicio privados de forma predeterminada, lo que garantiza que otros no puedan acceder a los datos del usuario sin un permiso explícito.
En general, la gama de mejoras de seguridad en Ubuntu 22.04 LTS lo convierte en la versión de Ubuntu más segura hasta la fecha, aprovechando y construyendo sobre otras características de seguridad y refuerzo que han sido durante mucho tiempo una parte central de Ubuntu. Además, las actualizaciones de seguridad y los parches en vivo del kernel para 22.04 LTS, ambos disponibles durante diez años a través de una suscripción de Ubuntu Advantage, continúan sirviendo como punto de referencia para el lanzamiento de Ubuntu LTS de la base más segura para desarrollar e implementar aplicaciones y servicios de Linux.