¿Las listas de repositorios son seguras? ¿Hay una versión HTTPS?

18

¿Las actualizaciones del repositorio son seguras?

Como soy un pequeño cerebro del lado del desarrollador, no puedo entender por qué la lista de repositorios es http://security.ubuntu.com y los otros sitios http (no asegurados) enumerados en /etc/apt/sources.list . Sin una coincidencia de cadena de certificados, esto aparece como "pedir a cualquier respondedor una lista de paquetes para actualizar" en lugar de "preguntar al sitio de ubuntu.com ..."

¿Puede una red fallar en la suplantación de los sitios de actualización, y es esta una práctica común para proporcionar una copia localmente almacenada y vetada?

    
pregunta Charles Merriam 03.10.2013 - 01:04

1 respuesta

27

En resumen, sí, están seguros, debido a la criptografía de clave pública utilizada para firmar los archivos.

Todos los archivos descargados por APT tienen una firma que permite que el archivo descargado se verifique contra las claves públicas almacenadas en su computadora como si estuvieran firmadas por Ubuntu y solo Ubuntu. Esto verifica que el archivo que recibe ha sido autorizado por Ubuntu en algún momento y no ha sido modificado o manipulado desde entonces.

Existe una explicación técnica de cómo funciona esto de Ubuntu (y de Debian que usa el mismo sistema).

Debido al uso de HTTP en lugar de HTTPS, sí los espías podrían ver qué archivos está descargando, pero la privacidad no es probable que le preocupe en este caso. Un intento man-in-the-middle de modificar los paquetes para inyectar código dañino aún fallaría porque rompería el mecanismo de firma.

Una posible sorpresa en este mecanismo de firma es que no garantiza que esté obteniendo la versión más actualizada del paquete (de hecho, a veces los espejos tardan en actualizarse). Para ayudar a mitigar este problema, el archivo de lanzamiento firmado incluye una fecha "válida hasta" después de la cual todos los archivos a los que hace referencia deben considerarse obsoletos. Sería plausible que un hombre en el medio sustituya un archivo con una versión anterior no modificada del archivo dentro de esta fecha Válido hasta y haga que su APT crea que no hay actualizaciones. Pero no pueden hacer modificaciones arbitrarias a los paquetes ni podrían retroceder en el tiempo más allá de cierto punto.

Los mecanismos de firma proporcionan una seguridad mucho mejor que HTTPS en este tipo de entorno distribuido donde los archivos se duplican en muchos servidores no controlados por Ubuntu. En esencia, solo necesita confiar en Ubuntu, no en el espejo, por lo que debe probar que los archivos originalmente provienen de Ubuntu y no se han modificado desde entonces; no es necesario verificar la identidad del espejo.

Tenga en cuenta que cuando agrega un repositorio no oficial a su lista de fuentes, como un PPA, recibirá archivos que no están firmados por Ubuntu. APT debería advertirte sobre esto, porque no han sido firmados por un certificado que coincida con cualquiera de las claves públicas instaladas en tu computadora, como lo autoriza Ubuntu.

    
respondido por el thomasrutter 03.10.2013 - 02:46

Lea otras preguntas en las etiquetas