Preguntas frecuentes sobre la seguridad en Debian

Recibimos a menudo las siguientes preguntas, así que hemos resumido aquí sus respuestas:

  1. ¡No se verifica correctamente la firma de sus avisos!
  2. ¿Cómo se gestiona la seguridad en Debian?
  3. ¿Por qué os molestáis en tocar una versión tan antigua de ese paquete?
  4. ¿Cuál es la norma que decide que un paquete corregido aparezca en security.debian.org?
  5. ¿Qué significa local (remoto)?
  6. ¡El número de versión de un paquete indica que aún estoy ejecutando una versión vulnerable!
  7. He recibido un aviso, pero parece que no está la compilación para una de las arquitecturas de procesador.
  8. ¿Cómo se gestiona la seguridad de inestable?
  9. ¿Cómo se gestiona la seguridad de testing?
  10. ¿Cómo se gestiona la seguridad de contrib y non-free?
  11. El aviso de seguridad dice que para la versión inestable, el problema está arreglado en la versión 1.2.3-1, pero inestable tiene la 1.2.5-1, ¿qué sucede entonces?
  12. ¿Por qué no hay réplicas oficiales de security.debian.org?
  13. He visto el DSA 100 y el DSA 102, ¿qué pasó con el DSA 101?
  14. ¿Cómo puedo ponerme en contacto con el equipo de seguridad?
  15. Creo que he encontrado un problema de seguridad, ¿qué debo hacer?
  16. ¿Qué se supone que tengo que hacer si hay un problema de seguridad en algún paquete?
  17. He intentado bajar un paquete listado en uno de los avisos de seguridad, pero me ha dado un error de archivo no encontrado.
  18. Tengo una corrección a un error, ¿la puedo subir a security.debian.org directamente?
  19. Tengo una corrección, ¿puedo publicarla en proposed-updates en su lugar?
  20. Estoy casi seguro de que mis paquetes están bien, ¿cómo puedo publicarlos?
  21. ¿Cómo puedo ayudar con la seguridad?
  22. ¿Cuál es el propósito de proposed-updates?
  23. ¿Quién forma parte del equipo de seguridad?
  24. ¿Durante cuánto tiempo se proporcionan actualizaciones de seguridad?
  25. ¿Cómo puedo verificar la integridad de los paquetes?
  26. ¿Qué hacer si un paquete cualquiera se rompe tras una actualización de seguridad?
  27. ¿Qué es un identificador CVE?
  28. ¿Emite debian un DSA para cada identificador CVE?
  29. ¿Puede Debian asignar identificadores CVE?

P: ¡No se verifica correctamente la firma de sus avisos!

R: Casi siempre esto se debe a un problema en su lado. La lista debian-security-announce sólo permite el envío de mensajes que esten firmados por alguno de los miembros del equipo de seguridad.

Lo más normal es que alguna pieza de su software de correo altere ligeramente el mensaje y eso rompa la firma. Asegúrese de que su software no realiza ninguna codificación o decodificación MIME, o conversiones de tabulador/espacio.

Algunos programas que suelen causar problemas de este tipo son fetchmail (con la opción mimedecode activada), formail (sólo el de procmail 3.14) y evolution.

P: ¿Cómo se gestiona la seguridad en Debian?

R: Una vez que el equipo de seguridad recibe una notificación de un incidente, uno o más miembros lo revisan y consideran si afecta a la versión estable de Debian (es decir, si la versión que allí hay es vulnerable o no). Si ésta versión es vulnerable, se trabaja para arreglar el problema. También se contacta con los mantenedores del paquete, si es que no se han puesto en contacto todavía con el equipo de seguridad. Por último, se prueba la solución y se preparan nuevos paquetes. Después se compilarán para todas las arquitecturas para las que se ofrezca soporte en la versión estable y se publican en el servidor de descargas. Una vez hecho esto, se publica un aviso de seguridad.

P: ¿Por qué os molestáis en tocar una versión tan antigua de ese paquete?

La directriz más importante al hacer un paquete nuevo para que corrija un problema de seguridad es hacer tan pocos cambios como sea posible. Nuestros usuarios y desarrolladores se basan en el comportamiento exacto de una versión una vez que está hecha, así que cualquier cambio que hagamos puede romper el sistema de alguien. Esto es especialmente cierto en el caso de bibliotecas: nos aseguramos de que no se cambia nunca la API (Interfaz del Programa de la Aplicación) ni la ABI (Interfaz Binario de la Aplicación), por muy pequeño que sea el cambio.

Por esto, migrar a una nueva versión, si el autor original tiene una disponible, no es una buena solución; la mejor solución es incorporar los cambios más relevantes (y que introducen el arreglo de seguridad) en la versión disponible. Habitualmente, los desarrolladores originales están dispuestos a ayudar en este trabajo si fuera necesario. Si no es así, el equipo de seguridad de Debian puede prestar su ayuda para hacerlo.

En algunos casos, no es posible incorporar una corrección de seguridad en versiones más antiguas porque, por ejemplo, es necesario cambiar o reescribir una gran cantidad de código fuente. Si ésto sucede, puede ser necesario pasar a una versión nueva del autor, pero esto ha de ser coordinado de antemano por el equipo de seguridad.

P: ¿Cuál es la norma que decide que un paquete corregido aparezca en security.debian.org?

R: Una vulnerabilidad de seguridad de la distribución estable asegura la aparición de un paquete en security.debian.org. No hay ninguna otra razón. No importa la gravedad de la vulnerabilidad. Normalmente, el equipo de seguridad preparará los paquetes junto con el desarrollador del paquete. Siempre que alguien (de confianza) investigue el problema y envíe todos los paquetes necesarios compilados al equipo de seguridad, incluso las correcciones a problemas de seguridad más triviales podrán entrar en security.debian.org. Por favor, consulte la información disponible más abajo.

Las actualizaciones de seguridad tienen un objetivo: proporcionar una corrección a una vulnerabilidad de seguridad. No son un método para incluir cambios adicionales a la distribución estable sin pasar por el proceso normal de publicación.

P: ¿Qué significa local (remoto)?

R: Algunos avisos describen vulnerabilidades que no se pueden identificar con el esquema clásico de aprovechamiento local y remoto. De algunas vulnerabilidades se puede sacar provecho de forma remota, por ejemplo, si no corresponde a un demonio que está leyendo de un puerto de la red. En caso de que se pueda sacar provecho de archivos especiales que se puedan distribuir por la red, aunque el servicio vulnerable no esté conectado permanentemente con la red, denominamos a este tipo de incidencia local (remota).

Estas vulnerabilidades están a medio camino entre las locales y las remotas y suelen referirse a archivos que se pueden distribuir por la red, como adjuntos de correo o descargándolos de una página.

P: ¡El número de versión de un paquete indica que aún estoy ejecutando una versión vulnerable!

R: En lugar de actualizar a una versión más moderna, adaptamos las soluciones a los fallos a la versión que salió en la distribución estable. Hacemos esto para asegurarnos que una versión de la distribución cambia lo menos posible, de manera que las cosas no cambien o fallen de forma inesperada como resultado de una corrección. Puede comprobar si está ejecutando una versión segura de un paquete examinando su registro de cambios (changelog), o comparando su número de versión exacto con el indicado en el Informe de Seguridad de Debian correspondiente.

P: He recibido un aviso, pero parece que no está la compilación para una de las arquitecturas de procesador.

R: Generalmente el equipo de seguridad publica un aviso con compilaciones de los paqutes actualizados para todas las arquitecturas que soporta Debian. Sin embargo, algunas arquitecturas son más lentas que otras y puede ocurrir que las compilaciones para la mayoría de las arquitecturas estén listas pero algunas aún falten. Estas arquitecturas más pequeñas representan una fracción pequeña de la base de usuarios. Dependiendo de la urgencia del asunto podríamos decidir publicar el aviso correspondiente. Las arquitecturas que falten serían instaladas tan pronto como estuvieran disponibles, pero no se publicará un nuevo aviso. Por supuesto, nunca publicaremos un aviso en el que las compilaciones para i386 o amd64 no estén presentes.

P: ¿Cómo se gestiona la seguridad de inestable?

R: La seguridad en inestable la gestionan principalmente los mantenedores de paquetes, no el equipo de seguridad de Debian. Aunque el equipo de seguridad puede cargar correcciones de seguridad de alta prioridad cuando se sabe que los mantenedores de los paquetes están inactivos, el soporte para estable siempre tiene prioridad. Si quiere tener un servidor seguro (y estable) le recomendamos encarecidamente que utilice la distribución estable.

P: ¿Cómo se gestiona la seguridad de testing?

R: La seguridad en «testing» se beneficia de los esfuerzos de seguridad de todo el proyecto para inestable. Sin embargo, hay un retraso mínimo de dos días en la migración, y algunas correcciones de seguridad pueden quedar retenidas debido a las transiciones. El equipo de seguridad ayuda a agilizar las transiciones reteniendo actualizaciones importantes de seguridad, pero esto no es siempre posible y pueden ocurrir retrasos. Especialmente en los meses posteriores a la publicación de una nueva versión estable, cuando se cargan en inestable muchas versiones nuevas, las correcciones de seguridad para testing pueden quedar retrasadas. Si quiere tener un servidor seguro (y estable) le recomendamos encarecidamente que utilice la distribución estable.

P: ¿Cómo se gestiona la seguridad de contrib y non-free?

R: La respuesta corta es que no se gestiona. Contrib y non-free no son partes oficiales de la distribución Debian y no se publican del mismo modo que las versiones oficiales, por tanto no reciben soporte por parte del equipo de seguridad. Algunos paquetes de non-free se distribuyen sin código fuente o con una licencia que no permite la distribución de versiones modificadas. En estos casos no es posible realizar ningún tipo de corrección de seguridad. Si es posible corregir el problema y el responsable del paquete o algún otro proporciona paquetes correctos actualizados, normalmente el equipo de seguridad los procesará y luego publicará el aviso.

P: El aviso de seguridad dice que para la versión inestable, el problema está arreglado en la versión 1.2.3-1, pero inestable tiene la 1.2.5-1, ¿qué sucede entonces?

R: Intentamos listar la primera versión de «inestable» que arregló el problema. A menudo el mantenedor ha subido alguna versión nueva mientras tanto. Compare la versión en «inestable» con la versión que le indicamos. Si es la misma o superior, debería estar a salvo de esta vulnerabilidad.

P: ¿Por qué no hay réplicas oficiales de security.debian.org?

R: En realidad, sí las hay. Hay varias réplicas oficiales, implementadas mediante alias de DNS. El propósito de security.debian.org es ofrecer las actualizaciones de seguridad tan pronto como sea posible.

Si recomendáramos el uso de réplicas no oficiales se añadiría una complejidad adicional innecesaria y además puede causar frustraciones si las réplicas no se mantiene actualizadas.

P: He visto el DSA 100 y el DSA 102, ¿qué pasó con el DSA 101?

R: Muchos fabricantes (la mayoría de GNU/Linux, pero también de derivados de BSD) coordinan los avisos de seguridad para algunos incidentes, y se acuerda un calendario de manera que todos puedan enviar el aviso al mismo tiempo. Se decidió ésto para no discriminar a aquellos que necesiten más tiempo (por ejemplo, cuando un fabricante necesita hacer pasar los paquetes por largas pruebas de calidad o da soporte a varias arquitecturas o distribuciones de paquetes binarios). Nuestro propio equipo de seguridad también prepara los avisos por adelantado. De vez en cuando, aparecen otros problemas de seguridad que deben ser resueltos antes de enviar el aviso que está ya preparado pero aparcado, de ahí el vacío temporal entre uno o más números de distintos avisos de seguridad.

P: ¿Cómo puedo ponerme en contacto con el equipo de seguridad?

R: La información de seguridad de Debian se puede enviar a security@debian.org o a team@security.debian.org. Los miembros del equipo de seguridad leen ambas direcciones.

Si usted es un mantenedor de paquetes y desea contactar con nosotros sobre un incidente en su paquete, por favor rellene un informe en nuestro Request Tracker (gestor de solicitudes). Por otro lado, si desea usar cifrado PGP es mejor utilizar el correo electrónico.

Si así lo desea, puede cifrar el correo con la clave de contacto de seguridad de Debian (id. de la clave 0x90F8EEC5). Para obtener las claves PGP/GPG de miembros individuales del equipo, por favor, utilice el servidor de claves keyring.debian.org.

P: Creo que he encontrado un problema de seguridad, ¿qué debo hacer?

R: Si sabe de un problema de seguridad, bien porque haya ocurrido en uno de sus propios paquetes o en el de algún otro, póngase en contacto con el equipo de seguridad. Si el equipo de seguridad de Debian confirma la vulnerabilidad y otras fuentes se muestran también vulnerables, normalmente también se pone en contacto con esas otras fuentes. Si la vulnerabilidad aún no es pública, el equipo de seguridad intenta coordinar los avisos de seguridad con otras fuentes, para que las distribuciones principales estén sincronizadas.

Si la vulnerabilidad ya se conoce públicamente, cerciórese de rellenar un informe del error en el sistema de seguimiento de fallos de Debian, y etiquételo como security (de seguridad).

Si es un desarrollador de Debian, mire más abajo.

P: ¿Qué se supone que tengo que hacer si hay un problema de seguridad en algún paquete?

R: Si sabe de un problema de seguridad, bien en un paquete suyo o en el de algún otro, póngase en contacto con el equipo de seguridad. Puede hacerlo por correo electrónico a team@security.debian.org. Ellos siguen la pista de los problemas de seguridad, pueden ayudar a los desarrolladores con los problemas de seguridad o incluso arreglar los problemas por sí mismos, y son responsables de enviar los avisos y mantener security.debian.org actualizado.

La Referencia del desarrollador tiene las instrucciones completas sobre qué hacer.

Es particulamente importante que no publique nada en ninguna distribución que no sea inestable sin un acuerdo previo con el equipo de seguridad, porque sólo causaría confusión y más trabajo.

P: He intentado bajar un paquete listado en uno de los avisos de seguridad, pero me ha dado un error de archivo no encontrado.

R: Cada vez que se arregla un nuevo error en un paquete más antiguo de security.debian.org, puede ocurrir frecuentemente que el paquete antiguo se elimine al tiempo que se instala el nuevo. Es por esto por lo que aparece el error de archivo no encontrado. No queremos distribuir paquetes con errores de seguridad conocidos más que el tiempo que sea absolutamente necesario.

Por favor, use los paquetes anunciados en los últimos avisos de seguridad, y que se distribuyen mediante la lista de correo debian-security-announce. Lo mejor es simplemente ejecutar apt-get update antes de actualizar el paquete.

P: Tengo una corrección a un error, ¿la puedo subir a security.debian.org directamente?

R: No, no puede. El archivo de debian.security.org lo mantiene el equipo de seguridad, que tiene que aprobar todos los paquetes. En vez de eso, debería enviar parches o paquetes fuente adecuados al equipo de seguridad, usando Request Tracker (el gestor de solicitudes) o escribiendo a team@security.debian.org. El equipo de seguridad lo revisará y puede subirlo, con o sin modificaciones.

La Referencia del desarrollador tiene instrucciones completas sobre qué hacer.

P: Tengo una corrección, ¿puedo publicarla en proposed-updates en su lugar?

R: Técnicamente, puede. Sin embargo, no debería, ya que interfiere mucho con el trabajo del equipo de seguridad. Los paquetes de security.debian.org se copian en proposed-updates de forma automática. Si ya hay en el archivo un paquete con el mismo número o mayor, el sistema de archivo rechazará la actualización de seguridad. De esta manera, la distribución estable acabará sin actualizaciones de seguridad para este paquete, a no ser que los paquetes incorrectos del directorio proposed-updates fueran rechazados. Por favor, póngase en contacto con el equipo de seguridad, incluya todos los detalles de la vulnerabilidad y adjunte los ficheros fuente (ficheros dsc y diff.gz) al mensaje.

La Referencia del desarrollador contiene instrucciones completas sobre cómo hacer esto.

P: Estoy casi seguro de que mis paquetes están bien, ¿cómo puedo publicarlos?

R: Si está muy seguro de que sus paquetes no rompen nada, de que la versión es la correcta (por ejemplo, mayor que la versión de estable y menor que la versión de testing/inestable), de que no cambió el comportamiento del paquete —salvo el problema de seguridad correspondiente—, de que lo compiló para la distribución adecuada (esto es, oldstable-security o stable-security), de que el paquete contiene el código fuente original si es nuevo en security.debian.org, de que puede confirmar que el parche aplicado a la versión más reciente está limpio y sólo afecta al problema de seguridad correspondiente (compruébelo con interdiff -z y ambos archivos .diff.gz files), de que ha revisado las pruebas al menos tres veces y de que debdiff no muestra ningún cambio, puede publicar los archivos en el directorio incoming ftp://security-master.debian.org/pub/SecurityUploadQueue de security.debian.org directamente. Mande también una notificación con todos los detalles y enlaces a team@security.debian.org.

P: ¿Cómo puedo ayudar con la seguridad?

R: Por favor, revise cada problema antes de enviarlo a security@debian.org. Podrá acelerar el proceso si es capaz de enviar parches. No nos redireccione simplemente correos de bugtraq, porque ya los recibimos — si puede ofrézcanos información adicional sobre las cosas de las que ya se haya informado en bugtraq.

Una buena manera de empezar con el trabajo de seguridad es ayudando en el Debian Security Tracker (instrucciones).

P: ¿Cuál es el propósito de proposed-updates?

R: Este directorio contiene paquetes que se ha propuesto que entren en la siguiente revisión estable de Debian. Cuando un desarrollador envía un paquete para la distribución estable, acaba en el directorio proposed-updates. Como estable implica estabilidad, no se hacen actualizaciones automáticas. El equipo de seguridad enviará los paquetes corregidos mencionados en sus avisos a la estable, y si no, se depositarán antes en proposed-updates. Cada par de meses el Gestor de Versiones Estables (Stable Release Manager) revisa la lista de paquetes en proposed-updates y discute si un paquete debe ir a la distribución estable o no. Entonces se compila en en otra revisión de la estable (por ejemplo, 2.2r3 o 2.2r4). Los paquetes que no se ajuste a esto probablemente también serán rechazados o eliminados de proposed-updates.

Tenga en cuenta que los paquetes que suben los desarrolladores (no el equipo de seguridad) al directorio proposed-updates/ no tienen soporte del equipo de seguridad.

P: ¿Quién forma parte del equipo de seguridad?

R: El equipo de seguridad está formado en la actualidad de varios técnicos y secretarios. El propio equipo de seguridad es el que invita a la gente que desee a que se una al grupo.

P: ¿Durante cuánto tiempo se proporcionan actualizaciones de seguridad?

R: El equipo de seguridad intenta dar soporte a la distribución estable durante aproximadamente un año tras la publicación de la siguiente distribución estable, salvo en el caso de que sea liberada otra distribución durante ese año. No es posible dar soporte a estas tres distribuciones; ya es bastante difícil dar soporte a dos de ellas simultáneamente.

P: ¿Cómo puedo verificar la integridad de los paquetes?

R: Este proceso implica la verificación de la firma del archivo Release con la clave pública que usa el archivo. El archivo Release tiene las sumas de verificación de los archivos Packages y Source. En el Manual de seguridad de Debian se encuentran las instrucciones detalladas para comprobar la integridad de los paquetes.

P: ¿Qué hacer si un paquete cualquiera se rompe tras una actualización de seguridad?

R: Primero debería averiguar por qué se ha roto el paquete y cómo está el fallo relacionado con la actualización de seguridad. Después, póngase en contacto con el equipo de seguridad si el problema es muy grave o con el responsable de la publicación estable si no es tan grave. En este caso estamos hablando de paquetes al azar que se rompen tras la actualización de seguridad de otro paquete. Hable también con el equipo de seguridad si no es capaz de averiguar qué ha ido mal pero tiene un arreglo para el problema. Tenga en cuenta que es posible que éstos le reenvíen al responsable de la publicación estable.

P: ¿Qué es un identificador CVE?

R: El proyecto «Common Vulnerabilities and Exposures» asigna identificadores únicos, llamados identificadores CVE, a vulnerabilidades de seguridad específicas, para hacer más fácil la referencia unívoca a un asunto específico. Se puede encontrar más información en Wikipedia.

P: ¿Emite debian un DSA para cada identificador CVE?

R: El equipo de seguridad de Debian lleva cuenta de cada identificador CVE emitido, lo conecta al paquete correspondiente de Debian y evalúa su impacto en el contexto de Debian; el hecho es que algo que tenga asignado un identificador CVE no implica necesariamente que el asunto sea una amenaza seria para un sistema Debian. Esta información se registra en el Debian Security Tracker y para los asuntos que se consideran serios se emitirá un Aviso de Seguridad de Debian («DSA»).

Los asuntos de bajo impacto que no se cualifican para un DSA pueden arreglarse en la siguiente publicación de Debian, en un punto de publicación de las distribuciones estable y oldstable actuales, o se incluyen en un DSA cuando se emite éste para una vulnerabilidad más seria.

P: ¿Puede Debian asignar identificadores CVE?

R: Debian es una autoridad de numeración de CVE y puede asignar identificadores, pero sólo a asuntos que aún no se hayan desclasificado, por política de CVE. Si usted tiene una vulnerabilidad de seguridad no desclasificada para software en Debian y le gustaría obtener un identificador para la misma, contacte con el equipo de seguridad de Debian. Para casos donde a vulnerabilidad ya es pública, recomendamos seguir el procedimiento detallado en el CÓMO solicitar CVE en software libre.