Hay muchos paquetes en AUR que, cuando intentas instalarlos, generan un error como:==> ERROR: One or more PGP signatures could not be verified!
Esto se resuelve importando la clave con algo como gpg --recv-keys 123456789ABCDEF
. La discusión sobre AUR a menudo proporcionará la clave.
Tengo algunas preguntas sobre esto:
¿Qué hacen exactamente estas claves? ¿Qué se verifica con GPG y por qué es necesario?
¿Por qué es necesario importar claves a mano? ¿Por qué no se puede automatizar?
Si importar ciegamente la clave del hilo de comentarios de AUR es malo, ¿qué pasos se supone que debo seguir para "verificar" la clave?
¿Dónde se supone que debo encontrar la clave si nadie se molesta en publicarla en los comentarios y si no tengo tiempo para publicar un comentario y espero que el responsable de mantenimiento responda?
Buscando en línea, encontré referencias a unpublicación de blog muy conocida. Lamento decir que después de varias lecturas cuidadosas todavía no entiendo los puntos anteriores.
Respuesta1
¿Qué hacen exactamente estas claves? ¿Qué se verifica con GPG y por qué es necesario?
Las claves se utilizan para verificar que el software que está descargando es lo que el autor del paquete pretendía que fuera, en lugar de malware troyano de un servidor de repositorio que puede haber sido infiltrado con éxito por un atacante. O tal vez un atacante pueda redirigir su solicitud de descarga a su repositorio de malware disfrazado en lugar de a un repositorio AUR genuino. La verificación mediante GPG hace que sea muy difícil para un atacante utilizar con éxito los repositorios de software como canal de distribución de malware.
¿Por qué es necesario importar claves a mano? ¿Por qué no se puede automatizar?
Se supone que debes tomar una decisión consciente sobre si confías o no en un autor/empaquetador de software en particular, y si estás lo suficientemente seguro para tus propósitos de que la clave que has recibido es genuina y no de un impostor.
El nivel de confianza necesario depende de lo que esté haciendo: un sistema doméstico privado para divertirse, un servidor que manejará la información de salud y/o tarjetas de crédito de otras personas para una empresa, y un servidor de soporte auxiliar para un sistema nacional de defensa antimisiles. cada uno debería tener requisitos algo diferentes.
Si importar ciegamente la clave del hilo de comentarios de AUR es malo, ¿qué pasos se supone que debo seguir para "verificar" la clave?
Si la clave está firmada por otras personas cuyas claves usted ya tiene y confía en el criterio de esas personas al menos cuando se trata de firmar claves GPG, puede tomarlo como evidencia de que la clave probablemente sea genuina. De lo contrario, puede intentar obtener la clave de varias fuentes diferentes y comparar los resultados. Si es lo suficientemente importante para usted, puede incluso llamar o reunirse con el desarrollador para obtener una confirmación más sólida de que tiene la clave correcta.
¿Dónde se supone que debo encontrar la clave si nadie se molesta en publicarla en los comentarios y si no tengo tiempo para publicar un comentario y espero que el responsable de mantenimiento responda?
Las claves públicas GPG que están destinadas a ser utilizadas ampliamente se publican comúnmente en los servidores de claves SKS: si no tiene la clave correcta, las herramientas del paquete deberían poder mostrar el ID de clave de la clave requerida, y puede usarla para buscar la clave en los servidores de claves.
Consulte aquí para obtener más información sobre la red de servidores de claves SKS:https://sks-keyservers.net/
También puedes buscar en Google el ID de clave.
Respuesta2
TL;DR: nuevo, mejorado y automatizado "verifique la suma md5 de la descarga con la lista publicada en el sitio web"
La firma es una verificación digital de quién firmó el paquete con la seguridad de que no ha sido modificado desde que fue realizado. Normalmente firmado por el mantenedor del paquete o el administrador de versiones o alguien con "autoridad" en el grupo de mantenimiento del proyecto central de distribuciones. En esencia, es una verificación de integridad mejorada y automatizada de lo que está a punto de instalar: el nuevo "hemos publicado el hash md5sum de la lista de archivos, debe comparar lo que descarga con estos".
La forma en que funciona es con clave pública/privada: creo una clave privada con una contraseña (una buena y segura) y genero una clave pública con ella. Puedo dar la clave pública. Genero el paquete, lo firmo y cuando lo instalas te dicen que la clave pública que coincide con ABC321FF o lo que sea es lo que se necesita para verificar la firma. Una vez que importe la clave, el software de su parte puede verificar que el hash de identificación sea el mismo y que el hash esté firmado con mi clave privada.
Las preocupaciones de seguridad cuando se trata de agregar software desde un repositorio a su sistema son "¿quién está detrás de este software? Ah, y la clave también". Si es la clave para una distribución (algunas versiones tienen sus propias claves, o han revocado y creado nuevas claves), entonces no importa, de todos modos estás ejecutando software desde su distribución. Tenga en cuenta que cuando acceda a repositorios de terceros (como Ubuntu y PPA de proyectos), terminará importando una clave para cada uno de ellos, y esto podría ser una preocupación para usted.
Lo que debe tener en cuenta es que esa clave ahora solo funcionará para cualquier otra cosa que haya firmado. Dependiendo de su nivel de paranoia, es posible que desee agregar una clave según sea necesario y eliminarla de su lista de claves confiables cuando haya terminado de instalar el paquete. Por supuesto, con actualizaciones frecuentes estás creando más trabajo y pasos para actualizar.
Y si estás tan paranoico acerca de que esa clave firme algo desagradable, probablemente no deberías intentar instalar voluntariamente nada desde ese repositorio.