Omitir las comprobaciones de firma GPG solo para un único repositorio

34

He leído el siguiente artículo: ¿Cómo omito / ignoro las comprobaciones de firma gpg de apt?

Describe cómo configurar aptpara no comprobar las firmas de paquetes en absoluto .

Sin embargo, me gustaría limitar el efecto de esta configuración a un único repositorio (en este caso alojado localmente).

Es decir: todos los repositorios oficiales deben utilizar la verificación de la firma GPG como de costumbre, excepto para el repositorio local de .

¿Cómo voy a hacer eso?

De lo contrario, ¿cuál sería la ventaja (en términos de seguridad) de firmar los paquetes durante una compilación automatizada (algunos metapaquetes y algunos programas) y luego hacer todas lasapt prescripciones seguras ? Después de todo, el host con el repositorio también sería aquel en el que reside la clave secreta GPG.

0xC0000022L
fuente
En mi opinión, la firma automatizada utilizando una clave en línea, aunque lejos de ser ideal, sería estrictamente mejor que no firmar en absoluto. También sería mucho más fácil de configurar (no es necesario configurar cada cliente para renunciar a las comprobaciones) y mucho más fácil la transición a una mejor configuración más adelante si lo desea.
Celada
@Celada: ¿es esa una opinión (que es "estrictamente mejor") o hay una justificación para su declaración? Estoy preguntando, porque hasta ahora no puedo ver una razón por la cual esto mejoraría la seguridad o cualquier otro aspecto. El único momento en que esto sería algo beneficioso sería si alguna vez tuviera la intención de publicar mi repositorio, ¿no?
0xC0000022L
Sostengo esa opinión racionalmente :-) Si el repositorio está firmado, al menos los malos tienen que obtener la clave de firma, que probablemente mantendrá en un solo lugar y probablemente en un cuadro de desarrollo, o al menos no sea legible por el Servidor HTTP De lo contrario, no hay protección en absoluto. En otras palabras, solo quiero decir que no hay ninguna desventaja en firmar, por lo que podría firmar incluso si la ventaja es muy pequeña. Y dado que sería más fácil de configurar, eso es con lo que iría.
Celada
@Celada: este es un repositorio para uso local solamente. Quién podría acceder a él. Caso de uso: un host con contenedores invitados. Tanto el host como los contenedores tendrán acceso. No hay acceso público planeado. Pero supongo que esperaré una respuesta un poco más y buscaré lo inevitable (firma).
0xC0000022L
De acuerdo, veremos si alguien sabe la respuesta a su pregunta. No sé qué herramienta planea usar para generar el repositorio, pero recomiendo reprepro . Muchas de las otras herramientas como dput(o lo que sea que Debian use) son muy elaboradas y parecen una gran exageración para el repositorio ad hoc solo local. repreprose encargará de generar el repositorio con todos los archivos de índice y diseño de directorio correctos automáticamente sin necesidad de una gran instalación de servidor de base de datos ... y también firmará el resultado básicamente sin trabajo adicional de su parte.
Celada

Respuestas:

48

Puede establecer opciones en su sources.list:

deb [trusted=yes] http://localmachine/debian wheezy main

La trustedopción es lo que desactiva la verificación GPG. Ver man 5 sources.listpara más detalles.

Nota: esto se agregó en apt 0.8.16 ~ exp3. Entonces está en jadeo (y, por supuesto, Jessie), pero no exprimido.

derobert
fuente
gracias un montón. Esto era exactamente lo que estaba buscando. Confío en 1.0.1ubuntu2.7que ya tendrá esa característica, dado su número de versión.
0xC0000022L
@ 0xC0000022L sí, debería.
derobert
Esta es definitivamente la mejor respuesta si necesita acceder repetidamente a un repositorio sin firmar, hay respuestas actualizadas a la otra pregunta vinculada en la pregunta original aquí que muestra cómo hacerlo temporalmente por repositorio.
dragon788
11

Para asegurarse de que ve una advertencia mientras usa un repositorio inseguro, mejor use allow-insecure = yes en su lugar como a continuación

deb [ allow-insecure=yes ] ...
Naresh Mehta
fuente
Interesante, gracias por tu respuesta. Una pequeña pero importante diferencia de hecho.
0xC0000022L