4.2. Firmas digitales para paquetes de Red Hat Network
Todos los paquetes distribuidos a través de Red Hat Network deben tener una firma digital. Una firma digital es creada con una llave privada única y puede se puede verificar con la correspondiente llave pública. Después de crear un paquete, el (RPM con código fuente) y el RPM pueden ser firmados digitalmente con una llave GnuPG. Antes de que el paquete sea instalado, la llave pública sirve para verificar si el paquete está firmado por alguien confiable y si no ha sido modificado desde el momento de la firma.
4.2.1. Generación de un par de llaves GnuPG Copiar enlaceEnlace copiado en el portapapeles!
Copiar enlaceEnlace copiado en el portapapeles!
Un par de llaves GnuPG consta de la llaves privadas y públicas. Para generar un para de llaves:
- Escriba el siguiente comando como el usuario root en el indicador de shell:
gpg --gen-keyLos usuarios sin privilegios root no deben crear pares de llaves GPG. El usuario root puede bloquear páginas de memoria, lo cual significa que la información nunca se escribe al disco, a diferencia de los usuarios sin privilegios. - Después de ejecutar el comando para generar un par de llaves, verá una pantalla introductoria con las opciones de llave. La pantalla se asemeja a la siguiente:
gpg (GnuPG) 2.0.14; Copyright (C) 2009 Free Software Foundation, Inc. This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Please select what kind of key you want: (1) RSA and RSA (default) (2) DSA and Elgamal (3) DSA (sign only) (4) RSA (sign only) Your selection? - Elija la opción predeterminada: (2) DSA y ElGamal. Esta opción le permitirá crear una firma digital y cifrar/descifrar estos dos tipos de tecnología. Escriba
1y pulse Enter. - Elija ahora el tamaño de la llave. Entre más grande sea la llave, más resistentes serán los mensajes contra ataques. Se recomienda la creación de una llave de al menos 2024 bits.
- En la siguiente opción podrá especificar la duración de validez de la llave. Si elige una fecha de caducidad, informe a los usuarios de la llave la fecha de caducidad y suministre la llave pública de reemplazo cuando sea necesario. Se recomienda que no se elija una fecha de caducidad. Si no elige una fecha de caducidad se le preguntará si desea confirmar su decisión:
La llave no expira ¿Correcto (s/n)? - Presione y para confirmar su decisión.
- La siguiente tarea es proporcionar un ID de usuario que contenga su nombre, dirección de correo-e y un comentario opcional. Cada campo se solicita de manera individual. Cuando finalice, verá un resumen de la información introducida.
- Una vez aceptadas las opciones escogidas, introduzca su contraseña.
Nota
Como para la contraseña de su cuenta, una buena contraseña es necesaria para optimizar la seguridad en GnuPG. Mezcle mayúsculas y minúsculas en la frase secreta usada, utilice números y/o incluya marcas de puntuación. - Una vez introducida y verificada la contraseña, su llave será generada. Un mensaje similar al siguiente aparecerá:
Es necesario generar muchos bytes aleatorios. Es una buena idea realizar alguna otra acción (escribir en el teclado, mover el ratón, usar los discos) durante la generación primaria. Así, el generador de números aleatorios tendrá un mejor chance de obtener suficiente entropía. +++++.+++++.++++++++....++++++++++..+++++.+++++.+++++++.+++++++ +++. ++++++++++++++++++++++++++++++++++++++..........................++++Cuando cese la actividad en la pantalla, sus nuevas llaves se colocarán en el directorio.gnupgen el directorio principal de root. Este es el sitio predeterminado para las llaves generadas por el usuario root.
Para obtener la lista de llaves de root, use el comando:
gpg --list-keys
La salida será similar a la siguiente:
gpg: key D97D1329 marked as ultimately trusted
public and secret key created and signed.
gpg: checking the trustdb
gpg: 3 marginal(s) needed, 1 complete(s) needed, PGP trust model
gpg: depth: 0 valid: 3 signed: 0 trust: 0-, 0q, 0n, 0m, 0f, 3u
gpg: next trustdb check due at 2013-08-28
pub 2048D/D97D1329 2013-08-27 [expires: 2013-08-28]
Key fingerprint = 29C7 2D2A 5F9B 7FF7 6411 A9E7 DE3E 5D0F D97D 1329
uid Your Name<you@example.com>
sub 2048g/0BE0820D 2013-08-27 [expires: 2013-08-28]
Para obtener su llave pública, utilice el siguiente comando:
gpg --export -a 'Su Nombre' > public_key.txt
Su llave pública será escrita en el siguiente archivo
public_key.txt.
Esta llave pública es muy importante. Es la llave que debe ser implementada en todos los sistemas cliente que reciben los paquetes personalizados mediante
yum. Las técnicas usadas para implementar esta llave a lo largo de una organización se estudian en la Guía de configuración de clientes de Red Hat Network.