¿Son seguras las listas de repositorios? ¿Hay una versión HTTPS?
24
¿Son seguras las actualizaciones del repositorio?
Como un oso de poco cerebro del lado del desarrollador, no puedo entender por qué la lista de repositorios es http://security.ubuntu.comy los otros httpsitios (no seguros) enumerados en /etc/apt/sources.list. Sin una coincidencia de cadena de certificados, esto aparece como "pedirle a cualquier respondedor una lista de paquetes para actualizar" en lugar de "preguntar al sitio ubuntu.com ..."
¿Puede cualquier red elegir falsificar los sitios de actualización? ¿Es esta una práctica común proporcionar una copia examinada y en caché local?
En resumen, sí, son 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 verificar el archivo descargado con las claves públicas almacenadas en su computadora como firmadas por Ubuntu y solo Ubuntu. Esto verifica que el archivo que recibe fue autorizado por Ubuntu en algún momento y no se ha modificado ni manipulado desde entonces.
Una explicación técnica de cómo funciona esto está disponible en Ubuntu (y en Debian, que usa el mismo sistema).
Debido al uso de HTTP en lugar de HTTPS, sí, los espías pueden ver qué archivos está descargando, pero es probable que la privacidad no sea su preocupación en este caso. Un intento de hombre en el medio para modificar los paquetes para inyectar código dañino aún fallaría porque rompería el mecanismo de firma.
Un posible problema 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álido hasta" después de la cual todos los archivos a los que hace referencia deben considerarse obsoletos. Sería plausible que un intermediario 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 pueden 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 reflejan 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 provienen originalmente 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 advertirle sobre esto, ya que no han sido firmados por un certificado que coincida con ninguna de las claves públicas instaladas en su computadora según lo autorizado por Ubuntu.
¡Excelente! Entonces, la versión corta es "la capa de transporte no es segura, pero cada paquete está firmado. No hay una lista segura de actualizaciones disponibles y no se garantiza la entrega de parches para problemas de seguridad existentes".
Charles Merriam
2
No estoy seguro de lo que quiere decir con "No hay una lista segura de actualizaciones disponibles", pero el archivo de lanzamiento y las listas de paquetes están firmadas. Es solo que no verifica que su espejo esté actualizado.
thomasrutter
3
Er, si no hay forma de verificar que un espejo, o el sitio principal, esté actualizado, entonces no hay manera de saber si hay actualizaciones disponibles, actualizaciones de seguridad o de otro tipo. Es decir, no hay una lista segura de actualizaciones disponibles.
Charles Merriam
44
Alice ejecuta Ubuntu. Bob controla la conexión a Internet de Alice. Bob no puede poner un paquete incorrecto en la instalación de Alice porque cada paquete está firmado. Hay una gran falla de seguridad en Ubuntu. Alice intenta encontrar el paquete actualizado, pero Bob elimina toda mención del paquete de la verificación de actualización de Alice. Alice golpea a un administrador de sistemas y luego extrae la comprobación de actualización a través de HTTPS desde ubuntu.com verificando que está conectada al sitio web real a través de un enlace seguro. Ahora Alice ve la actualización de seguridad y Bob no puede ocultarla.
Charles Merriam
3
Por supuesto, esta es la respuesta correcta. Pero lo que me parece extraño es que a nadie parece preocuparle que un espía compile una lista de todos los paquetes que ha instalado en orden, incluidos los que ha actualizado y los que no, para atacar su ataque en vulnerabilidades de seguridad en esos paquetes.
Teekin
8
La respuesta mejor calificada aquí está claramente desactualizada. Desde entonces, se han encontrado 2 vulnerabilidades graves de ejecución remota de código en apt debido a la verificación de paquetes defectuosos. Boletines de seguridad aquí y aquí .
Esto es mucho peor que las preocupaciones sobre la fuga de privacidad / información y la versión del paquete obsoleto; Esto permite la ejecución de código arbitrario como raíz, falla de seguridad completa. Y la cuestión es: estos ataques se habrían evitado si se usara https en lugar de http.
Esto demuestra que el principio de defensa en profundidad se aplica aquí tanto como en cualquier otro lugar. Las muchas afirmaciones que flotan en torno a que https no proporciona ningún beneficio de seguridad mínimo en el contexto de apt es simplemente incorrecto, como han demostrado estos exploits.
La pregunta es si el beneficio de seguridad de https vale el costo en términos de almacenamiento en caché, aumento de gastos generales, etc. No puedo responder eso, pero al menos creo que Ubuntu / Canonical / Launchpad debería proporcionar puntos de conexión https opcionales para sus repositorios. .
La seguridad también se trata de la privacidad, y los medios HTTPS al menos tendrán más dificultades para descubrir qué paquetes y versiones está ejecutando.
l0b0
Sin embargo, diré que mientras apt no tenga problemas con esto, http está bien. Sin embargo, https ofrece una copia de seguridad en caso de que la seguridad de gpg (o cómo lo usa con mayor precisión) se estropee.
RoundDuckMan
2
Suplemento importante: de hecho, como la actualización y la instalación inicial se descargan en línea, se necesita mucho tráfico, y la fuente de este tráfico, es decir, secuencias de código binario y de texto, es reproducible. Por lo tanto, hay una gran cantidad de puertas de enlace y dispositivos de caché en Internet para ello. Un número considerable de ISP había configurado el caché basado en el protocolo http para ahorrar el ancho de banda de exportación, y el protocolo https no puede existir como un caché transparente.
Otra razón es que el programa de duplicación basado en http es mucho más simple, no hay necesidad de verificar el certificado tls-ssl, y tampoco hay que preocuparse por la invalidación del certificado o los problemas de configuración del servidor web.
No hace mucho tiempo, unos 20 años, al comienzo de Internet, https y el tráfico de Internet seguían siendo juegos muy caros. Por lo tanto, http también incluyó el protocolo ftp, que está a punto de quedar obsoleto, como la forma principal de entregar la instalación y actualización para la distribución de paquetes de software en línea.
Del mismo modo, Microsoft Windows y Office también se actualizan mediante http. Puede observar que generalmente no se trata del paquete de instalación descargado del servidor de Microsoft, sino del servidor de caché autoconstruido de su ISP.
La respuesta mejor calificada aquí está claramente desactualizada. Desde entonces, se han encontrado 2 vulnerabilidades graves de ejecución remota de código en apt debido a la verificación de paquetes defectuosos. Boletines de seguridad aquí y aquí .
Esto es mucho peor que las preocupaciones sobre la fuga de privacidad / información y la versión del paquete obsoleto; Esto permite la ejecución de código arbitrario como raíz, falla de seguridad completa. Y la cuestión es: estos ataques se habrían evitado si se usara https en lugar de http.
Esto demuestra que el principio de defensa en profundidad se aplica aquí tanto como en cualquier otro lugar. Las muchas afirmaciones que flotan en torno a que https no proporciona ningún beneficio de seguridad mínimo en el contexto de apt es simplemente incorrecto, como han demostrado estos exploits.
La pregunta es si el beneficio de seguridad de https vale el costo en términos de almacenamiento en caché, aumento de gastos generales, etc. No puedo responder eso, pero al menos creo que Ubuntu / Canonical / Launchpad debería proporcionar puntos de conexión https opcionales para sus repositorios. .
fuente
Suplemento importante: de hecho, como la actualización y la instalación inicial se descargan en línea, se necesita mucho tráfico, y la fuente de este tráfico, es decir, secuencias de código binario y de texto, es reproducible. Por lo tanto, hay una gran cantidad de puertas de enlace y dispositivos de caché en Internet para ello. Un número considerable de ISP había configurado el caché basado en el protocolo http para ahorrar el ancho de banda de exportación, y el protocolo https no puede existir como un caché transparente.
Otra razón es que el programa de duplicación basado en http es mucho más simple, no hay necesidad de verificar el certificado tls-ssl, y tampoco hay que preocuparse por la invalidación del certificado o los problemas de configuración del servidor web.
No hace mucho tiempo, unos 20 años, al comienzo de Internet, https y el tráfico de Internet seguían siendo juegos muy caros. Por lo tanto, http también incluyó el protocolo ftp, que está a punto de quedar obsoleto, como la forma principal de entregar la instalación y actualización para la distribución de paquetes de software en línea.
Del mismo modo, Microsoft Windows y Office también se actualizan mediante http. Puede observar que generalmente no se trata del paquete de instalación descargado del servidor de Microsoft, sino del servidor de caché autoconstruido de su ISP.
fuente