Difference between revisions of "Pacman/Package signing (Español)"

From ArchWiki
Jump to: navigation, search
(Configuración)
Line 6: Line 6:
  
 
==Visión general"==
 
==Visión general"==
El sistema de la firma de paquetes de pacman se basa en el modelo de "confianza web" para garantizar que los paquetes proceden de los desarrolladores y no de alguien que pretenda suplantarlos. Los desarrolladores y los TUs (usuarios de confianza) disponen de claves PGP individuales para firmar digitalmente sus paquetes. Además, cuando configuras pacman, tú también obtienes una clave personal.
+
El sistema de la firma de paquetes de pacman se basa en el modelo de "confianza web" para garantizar que los paquetes proceden de los desarrolladores y no de alguien que pretenda suplantarlos. Los desarrolladores y los TUs (usuarios de confianza) disponen de llaves PGP individuales para firmar digitalmente sus paquetes. Además, cuando configuras pacman, tú también obtienes una llave personal.
  
 
Una '''llave PGP''' permite a los desarrolladores firmar sus paquetes de una forma única, asegurando que ellos hicieron el paquete y no un impostor.  
 
Una '''llave PGP''' permite a los desarrolladores firmar sus paquetes de una forma única, asegurando que ellos hicieron el paquete y no un impostor.  
  
Un '''keyid''' es una versión corta de una clave que puede usarse para identificar a dicha clave sin escribirla por completo, dado que éstas pueden ser muy largas.  
+
Un '''keyid''' es una versión corta de una llave que puede usarse para identificar a dicha llave sin escribirla por completo, dado que éstas pueden ser muy largas.  
  
 
Formatos de keyid:
 
Formatos de keyid:
Line 16: Line 16:
 
* El bit "0x" es opcional.
 
* El bit "0x" es opcional.
  
Las claves se pueden usar para firmar otras claves, lo que significa que el propietario de la clave de firma da el visto bueno a la autenticidad de la clave firmada. Para confiar en la autenticidad de un paquete, es necesario tener una cadena de firmas de tu propia clave PGP que confirme la autenticidad del paquete. De acuerdo con la estructura de claves de Arch, esto se puede dar de tres formas:
+
Las llaves se pueden usar para firmar otras llaves, lo que significa que el propietario de la llave de firma da el visto bueno a la autenticidad de la llave firmada. Para confiar en la autenticidad de un paquete, es necesario tener una cadena de firmas de tu propia llave PGP que confirme la autenticidad del paquete. De acuerdo con la estructura de llaves de Arch, esto se puede dar de tres formas:
  
* '''Paquetes propios''': Tu construyes tus paquetes y los firmas con tu clave personal.
+
* '''Paquetes propios''': Tu construyes tus paquetes y los firmas con tu llave personal.
* '''Paquetes no oficiales''': Un desarrollador construye un paquete y lo firma. Has de usar tu clave personal para firmar la clave del desarrollador.
+
* '''Paquetes no oficiales''': Un desarrollador construye un paquete y lo firma. Has de usar tu llave personal para firmar la llave del desarrollador.
* '''Paquetes oficiales''': Un desarrollador construye un paquete y lo firma. La clave del desarrollador ha sido firmada por las claves maestras de Arch. Has de usar tu clave para firmar las claves maestra y otorgarles confianza para darle el visto bueno a los desarrolladores.
+
* '''Paquetes oficiales''': Un desarrollador construye un paquete y lo firma. La llave del desarrollador ha sido firmada por las llaves maestras de Arch. Has de usar tu llave para firmar las llaves maestra y otorgarles confianza para darle el visto bueno a los desarrolladores.
  
 
==Configuración==
 
==Configuración==

Revision as of 13:21, 21 January 2012

This template has only maintenance purposes. For linking to local translations please use interlanguage links, see Help:i18n#Interlanguage links.


Local languages: Català – Dansk – English – Español – Esperanto – Hrvatski – Indonesia – Italiano – Lietuviškai – Magyar – Nederlands – Norsk Bokmål – Polski – Português – Slovenský – Česky – Ελληνικά – Български – Русский – Српски – Українська – עברית – العربية – ไทย – 日本語 – 正體中文 – 简体中文 – 한국어


External languages (all articles in these languages should be moved to the external wiki): Deutsch – Français – Română – Suomi – Svenska – Tiếng Việt – Türkçe – فارسی

pacman-key es una nueva herramienta incluida con pacman 4. Cumple la función de manejar la lista de llaves PGP que mantiene pacman en la nueva implementación de la firma de paquetes.

Visión general"

El sistema de la firma de paquetes de pacman se basa en el modelo de "confianza web" para garantizar que los paquetes proceden de los desarrolladores y no de alguien que pretenda suplantarlos. Los desarrolladores y los TUs (usuarios de confianza) disponen de llaves PGP individuales para firmar digitalmente sus paquetes. Además, cuando configuras pacman, tú también obtienes una llave personal.

Una llave PGP permite a los desarrolladores firmar sus paquetes de una forma única, asegurando que ellos hicieron el paquete y no un impostor.

Un keyid es una versión corta de una llave que puede usarse para identificar a dicha llave sin escribirla por completo, dado que éstas pueden ser muy largas.

Formatos de keyid:

  • Keyids como "6645 B0A8 C700 5E78 DB1D 7864 F99F FE0F EAE9 99BD" tienen que ser comprimidas a "6645B0A8C7005E78DB1D7864F99FFE0FEAE999BD" (sin espacios).
  • El bit "0x" es opcional.

Las llaves se pueden usar para firmar otras llaves, lo que significa que el propietario de la llave de firma da el visto bueno a la autenticidad de la llave firmada. Para confiar en la autenticidad de un paquete, es necesario tener una cadena de firmas de tu propia llave PGP que confirme la autenticidad del paquete. De acuerdo con la estructura de llaves de Arch, esto se puede dar de tres formas:

  • Paquetes propios: Tu construyes tus paquetes y los firmas con tu llave personal.
  • Paquetes no oficiales: Un desarrollador construye un paquete y lo firma. Has de usar tu llave personal para firmar la llave del desarrollador.
  • Paquetes oficiales: Un desarrollador construye un paquete y lo firma. La llave del desarrollador ha sido firmada por las llaves maestras de Arch. Has de usar tu llave para firmar las llaves maestra y otorgarles confianza para darle el visto bueno a los desarrolladores.

Configuración

Configurando pacman

En primer lugar, debes de decidir el nivel de validación que quieres. Esto se configura usado la opción SigLevel /etc/pacman.conf. En este fichero hay varios comentarios, aunque puede consultar pacman.conf man page para más detalles.

Warning: La opción TrustAll existe para tareas de depuración y hace muy fácil confiar en las llaves que no han sido verificadas. Se recomienda usar TrustedOnly para todos los repositorios oficiales.

A diciembre de 2011, la base de datos de firmas no ha sido implementada todavía, por lo que es necesario añadir la opción DatabaseOptional si usas Required, por ejemplo:

SigLevel = Required DatabaseOptional TrustedOnly

Inicializando el llavero (keyring)

Para configurar el llavero de pacman has de usar:

# pacman-key --init

Esto configura el nuevo llavero en /etc/pacman.d/gnupg y genera una llave maestra para tu sistema.

Agregando llaves

Cuando pacman encuentra una llave desconocida en un paquete, pide si la quiere importar.

Esto agrega la llave al llavero, pero la deja en un estado de confianza desconocida (unknown trust).

Para listar las llaves presentes:

$ pacman-key -l

Firmar llaves

Para que funcione la llave, el nivel de confianza tiene que ser cambiado.

Encuentre el desarrollador a quien le pertenece la llave en https://www.archlinux.org/developers/; el texto del enlace "PGP Key" es el keyid.

Para firmar una llave localmente, use:

# pacman-key --lsign-key <keyid>

Para mas opciones, entre al menú de manejo de la llave usando el comando:

# pacman-key --edit-key <keyid>

y ahora mete Template:Codeline aquí para listar las otras opciones.

Al contrario, pacman se puede configurar para confiar en cualquier llave en su llavero. Para hacer esto, agregue UNA de las siguientes lineas a Template:Filename:

SigLevel     = Required TrustAll
SigLevel     = Optional TrustAll


Script para agregar las firmas PGP requeridas

Cuando las llaves maestras son agregadas, ya no es necesario validar cada llave de desarrollador oficial o de usuario de confianza, por que ellos estan firmados en por lo menos tres llaves maestras.

Script para agregar todas las llaves maestras

Este script agrega todas las llaves maestras al almacenaje de llaves de pacman y pone el nivel de conianza en "marginal" (3).

Advertencia: Haga esto con precaucion. Por favor revize que las llaves listadas abajo coincidan con las llaves de master-keys. Es posible que alguien pueda hackear las llaves maestras e instertar llaves GPG maliciosas, haciendo que todo el proceso de firmas algo inutil.

Este script debe ser ejecutado como root o agregar sudo antes del comando pacman-key.

for key in FFF979E7 CDFD6BB0 4C7EA887 6AC6A4C2 824B18E8; do
    pacman-key --recv-keys $key
    pacman-key --lsign-key $key
    printf 'trust\n3\nquit\n' | gpg --homedir /etc/pacman.d/gnupg/ \
        --no-permission-warning --command-fd 0 --edit-key $key
done

Script para agregar todas las llaves GPG de developers de la pagina de developers: Developers page

Este script utiliza curl para descargar la pagina de Developers, extraer las llaves PGP y utiliza pacman --recv-keys con pgp.mit.edu como el servidor de llaves, para agregarlos al almacenaje de llaves de pacman.

Advertencia: Haga esto con precaucion. Es posible que alguien pueda hackear las llaves maestras de la pagina de Developers e instertar llaves GPG maliciosas,algo inutil.


Este script debe ser ejecutado como root o agregar sudo antes del comando pacman-key.

curl https://www.archlinux.org/developers/ |
awk -F\" '(/pgp.mit.edu/) {sub(/.*search=0x/,"");print $1}' |
xargs pacman-key --recv-keys

Script para agregar las llaves PGP desde la pagina de usuarios de confianza

Este script utiliza curl para descargar la pagina de usuarios de confianza, extrae las llaves PGP y utiliza pacman --recv-keys con pgp.mit.edu como el servidor de llaves, para agregarlos al almacenaje de llaves de pacman.

Advertencia: Haga esto con precaucion. Es posible que alguien pueda hackear las llaves maestras de la pagina de usuarios de confianza e instertar llaves GPG maliciosas,algo inutil.

Este script debe ser ejecutado como root o agregar sudo antes del comando pacman-key.

curl https://www.archlinux.org/trustedusers/ |
awk -F\" '(/pgp.mit.edu/) {sub(/.*search=0x/,"");print $1}' |
xargs pacman-key --recv-keys

Script para agregar todas las llaves GPG (de Desarrolladores y usuarios de confianza)

Advertencia: Haga esto con precaucion. Es posible que alguien pueda hackear las llaves de los los desarrolladores oficiales o de usuarios de confianza e inserte llaves GPG maliciosas, haciendo que todo el proceso de firmas.


curl https://www.archlinux.org/{developers,trustedusers}/ |
awk -F\" '(/pgp.mit.edu/) {sub(/.*search=0x/,"");print $1}' |
xargs pacman-key --recv-keys

Solucion a posibles problemas si la importacion de llaves falla

El problema puede ser porque ciertos proveedores de internet bloquean el puerto utilizado para la importacion de llaves.

Edite el archivo /etc/pacman.d/gnupg/gpg.conf y remplaze la linea keyserver hkp://keys.gnupg.net con keyserver hkp://pgp.mit.edu:11371. Despues de esto, todo debera funcionar bien.