Verificar el primer enlace en la cadena de verificación apt-get

1

Últimamente me hago la siguiente pregunta: ¿Cómo sabes realmente que has instalado el paquete que ordenaste en debian / ubuntu con el uso de APT?

Creo que entendí los conceptos básicos de la cadena de verificación, excepto el primer enlace.

Entonces, cuando le digo a apt que instale un paquete, descarga el archivo Release del repositorio-espejo especificado en sources.list . Ese archivo está firmado por la clave secreta mantenedores del repositorio . Apt verifica la firma con las claves de confianza locales ( apt-key list ). Si todo está bien, apt usa las sumas de comprobación en el archivo "Release" para verificar más archivos de Paquetes y las sumas de comprobación en ellos para verificar que los archivos .deb que estoy instalando no hayan sido manipulados.

Lo que no entiendo en este momento es cómo verifico que tengo un buen conjunto de claves de confianza para verificar la firma del archivo de "lanzamiento" (es decir, el primer enlace de la cadena).

En el caso común, recibo las claves a través de los paquetes debian-archive-keyring o su equivalente de ubuntu. Pero como es posible que mi llavero esté vacío al principio antes de instalarlo, no puedo verificar este paquete de manera efectiva. Tiene que haber otra opción.

  1. Para Debian, he encontrado esta bonita página web enlace a la que puedo acceder a través de HTTPS que enumera todos los repositorios válidos -clave de mantenimiento. Así que puedo usar apt-key para verificar las huellas digitales de mis claves locales con las del sitio web. Me parece bien. Pero no puedo encontrar algo similar para ubuntu. Y este no parece ser el método "popular" para verificar el anillo de claves.

    Incluso tienen esta oración en la página:

      

    Tenga en cuenta que los detalles aquí son solo informativos, no debe confiar en ellos y utilizar otras formas de verificarlos.

  2. A través de la web de confianza. He leído algunas cosas al respecto, pero no lo hago ahora si estoy convencido. Por ejemplo: cuando busco la clave estable de Debian actual en pgp.mit.edu , veo que la clave está firmada por cuatro claves diferentes. Pero no conozco a ninguno de ellos. Para ser justos, tres de esos cuatro están fuertemente firmados por mucha gente. Pero tampoco conozco a ninguno de ellos.

    enlace

¿No sería mejor si cada 'creador de repositorio' (como debian, ubuntu) tuviera una página https accesible fácil y segura donde pueda comparar fácilmente su clave local, en lugar de excavar en el WOT para poder encontrar ¿Un enlace convincente al proyecto debian?

Pregunta de bonificación : ¿existe la posibilidad de 'verificar' que un paquete es el resultado de un proceso de compilación de un código fuente específico que puede ver?

Hasta ahora creo que el mantenedor del repositorio que firma el archivo release "promete" (no sé una palabra mejor) esto con su firma. ¿Es eso correcto?

    
pregunta Freelandposture 27.09.2016 - 15:34
fuente

1 respuesta

1

El conjunto de claves de Debian se envía con el instalador de distribución, por lo que el medio de instalación le proporciona una base de arranque para su confianza en el repositorio. Esto también se aplica a (probablemente) todas las demás distribuciones de Linux que dependen de OpenPGP / GnuPG para la verificación en los administradores de paquetes.

Si no confía en su medio de instalación, debe verificarlo a través de cualquiera de los medios provistos (obteniéndolo de una fuente confiable, comparándolo con otros, verificando las firmas de OpenPGP emitidas, ...).

Si desea construir una ruta de confianza en el anillo de claves de Debian manualmente, busque algunos desarrolladores de Debian y verifique su identidad / firme sus claves. Por lo general, con mucho gusto se reunirán con usted si se lo piden amablemente.

  

¿No sería mejor si cada 'creador de repositorio' (como debian, ubuntu) tuviera una página https accesible fácil y segura donde pueda comparar fácilmente su clave local, en lugar de excavar en el WOT para poder encontrar ¿Un enlace convincente al proyecto debian?

Hay personas alrededor que confían en no en HTTPs y en el sistema de confianza jerárquico por algunas razones (válidas) (pero esto va mucho más allá de esta respuesta, y ya hemos discutido muchas veces) y prefieren confiar en la red descentralizada de confianza de OpenPGP, especialmente para la confianza de arranque.

Al final, la verificación se reduce a encontrar una fuente de imagen de CD confiable, de todos modos.

  

Pero no conozco a ninguno de ellos. Para ser justos, tres de esos cuatro están fuertemente firmados por mucha gente. Pero tampoco conozco a ninguno de ellos.

Básicamente, tendría que iniciar su red de confianza en algún lugar (reuniéndose con otras personas que ya están conectadas a la red de confianza, verificando su ID y firmando su clave), y continuar ampliando su visión personal en la web de confianza mediante seleccionar recursivamente a las personas en las que desea confiar hasta alcanzar las claves de firma de Debian. Por supuesto, esto no es una tarea trivial.

Decidir si confiar en una página HTTP sufre los mismos problemas: una y otra vez, hay informes de autoridades de certificación pirateadas y rotas. ¿Conoces todos esos cientos de CA y confías en cada de ellos? ¡Todos son de confianza y pueden emitir certificados de Debian válidos!

  

Pregunta extra: ¿Existe la posibilidad de 'verificar' que un paquete es el resultado de un proceso de compilación de un código fuente específico que puede ver?

Debian le promete firmando los paquetes que se crearon utilizando el archivo de lanzamiento de las respectivas fuentes de Debian. Los paquetes se crean en servidores de compilación y están firmados por claves especiales, esto no es nada que los desarrolladores individuales de Debian hagan manualmente.

    
respondido por el Jens Erat 27.09.2016 - 18:30
fuente

Lea otras preguntas en las etiquetas