22 Backport de código fuente #
SUSE utiliza profusamente la actualización retroactiva (backports), por ejemplo, para la migración de las soluciones y funciones del software actual a los paquetes liberados de SUSE Linux Enterprise. La información de este capítulo explica por qué puede ser engañoso comparar números de versión para juzgar las capacidades y la seguridad de los paquetes de software de SUSE Linux Enterprise. En este capítulo también se explica cómo mantiene SUSE el software del sistema seguro y actualizado, a la vez que mantiene la compatibilidad con el software de su aplicación en sus productos SUSE Linux Enterprise. También descubrirá cómo comprobar qué problemas de seguridad públicos se han solucionado en el software de su sistema SUSE Linux Enterprise y el estado actual de su software.
22.1 Motivos para emplear backport #
A los desarrolladores en sentido ascendente les preocupa sobre todo que avance el software que están creando. A menudo, combinan las soluciones de errores con nuevas funciones que todavía no se han sometido a pruebas exhaustivas y pueden introducir nuevos fallos.
Para los desarrolladores de distribuciones, es importante distinguir entre:
soluciones de errores con un potencial limitado para afectar a la funcionalidad; y
cambios que pueden afectar a la funcionalidad existente.
Normalmente, los desarrolladores de distribuciones no siguen todos los cambios en sentido ascendente cuando un paquete forma parte de una distribución publicada. Normalmente se limitan a la versión en sentido ascendente que han publicado inicialmente y crean parches basados en los cambios para solucionar errores. Esta práctica se conoce como backport.
Normalmente, los desarrolladores de distribuciones solo introducen nuevas versiones del software en dos casos:
cuando los cambios entre sus paquetes y las versiones de sentido ascendente son tan grandes que el enfoque de backport ya no es factible; o
en el caso de software que por sus características propias, se queda obsoleto con facilidad, como los productos contra el software dañino.
SUSE usa ampliamente el enfoque de actualización retroactiva (backport), ya que nos permite ofrecer un buen equilibrio respecto a numerosas consideraciones que afectan al software de empresa. Las más importantes son las siguientes:
Disponer de interfaces estables (API) en las que los fabricantes de software puedan confiar al crear componentes para su uso en los productos de empresa de SUSE.
Garantizar que los paquetes empleados para publicar los productos de empresa de SUSE sean de la mayor calidad y se hayan sometido a pruebas exhaustivas, por sí mismos y como parte del producto de empresa completo.
Mantener las diferentes certificaciones de los productos de empresa de SUSE por parte de otros fabricantes, como certificaciones para productos de Oracle o SAP.
Permitir que los desarrolladores de SUSE se concentren en crear una siguiente versión del producto tan buena como sea posible, en lugar de tener que dividir su atención entre un amplio número de versiones.
Mantener una visión clara de qué es una publicación de empresa particular, de modo que nuestra asistencia pueda proporcionar información precisa y más reciente sobre ello.
22.2 Argumentos en contra del enfoque de backport #
Es una regla general de nuestras directivas no introducir nuevas versiones en sentido ascendente de un paquete en los productos de empresa. Sin embargo, no es una regla inexcusable. En el caso de ciertos tipos de paquetes, especialmente los de software antivirus, las consideraciones de seguridad tienen prioridad sobre el enfoque conservador, preferible desde el punto de vista de las garantías de calidad. Para los paquetes de esa clase, ocasionalmente se introducen nuevas versiones en una versión publicada de una línea de productos de empresa.
A veces, para otros tipos de paquetes, también se decide introducir una nueva versión en lugar del enfoque de backport. Esta decisión se toma cuando el backport no es económicamente factible o cuando hay un motivo técnico relevante para introducir la nueva versión.
22.3 Implicaciones del concepto de backport para interpretar números de versiones #
Debido al enfoque de backport, no es posible comparar sencillamente los números de versiones para determinar si un paquete de SUSE contiene una solución para un problema en concreto o se le ha añadido una función determinada. Con el backport, la parte de sentido ascendente del número de versión de un paquete de SUSE solamente indica en qué versión de sentido ascendente se basa el paquete de SUSE. Puede incluir correcciones de errores y funciones que no estén en la versión de sentido ascendente que corresponda, pero que se hayan incluido en el paquete de SUSE a través de backport.
Un aspecto en concreto que puede provocar problemas en lo que respecta al valor limitado de los números de versión en relación con el enfoque de backport, es el de las herramientas de seguridad. Algunas herramientas de seguridad (o determinadas pruebas de dichas herramientas) solo emplean la información de versiones. Estas herramientas y pruebas, por tanto, son susceptibles de generar “falsos positivos” (cuando una parte del software se identifica como vulnerable de forma errónea) cuando hay versiones de backport implicadas. Al evaluar informes de herramientas de análisis de seguridad, compruebe siempre si una entrada se basa en un número de versión o en una prueba real de vulnerabilidad.
22.4 Cómo comprobar qué errores están solucionados y qué funciones están disponibles y con backport #
Hay varias ubicaciones en las que se almacena la información relacionada con las funciones y soluciones de errores:
El registro de cambios del paquete:
rpm -q --changelog name-of-installed-package rpm -qp --changelog packagefile.rpm
El contenido documenta brevemente el historial de cambios del paquete.
El registro de cambios del paquete puede contener entradas como
bsc#1234
(“Bugzilla Suse.Com”) que hagan referencia al sistema de seguimiento de Bugzilla de SUSE, o bien enlaces a otros sistemas de seguimiento de errores. Por motivos de confidencialidad, quizá no sea posible acceder a toda la información al respecto.Los paquetes pueden incluir un archivo
/usr/share/doc/NOMBREPAQUETE/README.SUSE
con información general de alto nivel, específica del paquete de SUSE.El paquete de código fuente del RPM contiene los parches aplicados al crear los RPM binarios normales como archivos independientes. Puede interpretar dicha información si está familiarizado con la lectura de código fuente. Consulte el Section 6.1.2.5, “Installing or Downloading Source Packages” para instalar orígenes de software SUSE Linux Enterprise, consulte el Section 6.2.5, “Installing and Compiling Source Packages” para los paquetes de creación en SUSE Linux Enterprise y consulte el libro Maximum RPM para ver los trabajos internos de creación de paquetes de software SUSE Linux Enterprise.
Para conocer las soluciones a problemas de seguridad, consulte los avisos de seguridad de SUSE. Suelen hacer referencia a errores mediante nombres estandarizados, como
CAN-2005-2495
, mantenidos por el proyecto Common Vulnerabilities and Exposures (CVE).