Red Hat Training

A Red Hat training course is available for Red Hat Satellite

3.2. Assinaturas Digitais dos Pacotes RHN

Todos os pacotes distribuídos através da RHN devem ter uma assinatura digital. Esta é criada através de uma chave privada única e pode ser verificada com sua chave pública correspondente. Após criar um pacote, o SRPM (Source RPM ou RPM Fonte) e o RPM podem ser assinados digitalmente com uma chave GnuPG. Antes do pacote ser instalado, a chave pública é usada para verificar se o pacote foi assinado por uma entidade confiável e se não foi alterado desde que foi assinado.

3.2.1. Gerando um Par de Chaves GnuPG

O par de chaves GnuPG consiste de chaves privadas e públicas.
  1. Digite o seguinte comando como usuário root na solicitação do terminal:
    gpg --gen-key
    Se você executar este comando como outro usuário, verá a seguinte mensagem:
    gpg: Aviso: usando memória não segura!
    
    Esta mensagem aparece porque os usuários não-root não podem bloquear páginas de memória. Como você não deve revelar a ninguém sua chave GnuPG privada ou senha, é necessário gerar o conjunto de chaves como root. Este usuário pode bloquear páginas de memória, assim as informações nunca são salvas no disco.
  2. Após executar o comando para gerar um conjunto de chaves, você vê uma tela introdutória contendo opções da chave, similar a:
    	gpg (GnuPG) 1.2.6; Copyright (C) 2004 Free Software
    	Foundation, Inc.  This program comes with ABSOLUTELY NO
    	WARRANTY. This is free software, and you are welcome to
    	redistribute it under certain conditions. See the file COPYING
    	for details. Please select what kind of key you want: (1) DSA
    	and ElGamal (default) (2) DSA (sign only) (4) RSA (sign only)
    	Your selection?
    
  3. Aceite a opção default: (1) DSA and ElGamal. Esta permite criar uma assinatura digital e criptografar/descriptografar com dois tipos de tecnologias. Digite 1 e então pressione Enter.
  4. Em seguida, escolha a extensão da chave. Quanto mais longa sua chave, mais resistente a ataques você estará. É recomendado criar uma chave de, no mínimo, 1024 bits.
  5. A próxima opção pede a você especificar o período de validade de sua chave. Se escolher uma data de expiração, lembre-se que todos usando sua chave pública também devem ser informados sobre sua expiração e receber uma nova chave pública. É recomendado não selecionar uma data de expiração. Em seguida, você precisa confirmar sua decisão:
    A chave não irá expirar nunca. Está correto (y/n)?
    
  6. Pressione y para confirmar sua decisão.
  7. Sua próxima tarefa é prover um ID de usuário contendo seu nome, e-mail, endereço e comentário opcional. Cada um é solicitado separadamente. Ao terminar, você verá um sumário das informações indicadas.
  8. Após aceitar suas escolhas, indique uma senha.

    Nota

    Assim como as senhas de suas contas, esta senha é essencial para a mais alta segurança na GnuPG. Componha sua senha com letras em caixa alta e baixa, use números e/ou inclua pontuações.
  9. Após indicar e verificar sua senha, suas chaves são geradas. Aparece uma mensagem parecida com:
    We need to generate a lot of random bytes. It is a good idea to perform some
    other action (type on the keyboard, move the mouse, utilize the disks) 
    during the prime generation; this gives the random number generator a 
    better chance to gain enough entropy. 
    
    +++++.+++++.++++++++....++++++++++..+++++.+++++.+++++++.+++++++ +++.
    ++++++++++++++++++++++++++++++++++++++..........................++++
    
    Quando a atividade das telas terminar, suas chaves novas são colocadas no diretório .gnupg dentro do diretório home do usuário root. Este é um local padrão de chaves geradas pelo usuário root.
Para listar as chaves root, use o comando:
gpg --list-keys
O output é similar a:
/root/.gnupg/pubring.gpg ----------------  pub 1024D/B7085C8A 2002-02-18
 Your Name<you@example.com> 
sub 1024g/E12AF9C4 2002-02-18
Para obter sua chave pública, use o seguinte comando:
gpg --export -a 'Your Name' > public_key.txt
Sua chave pública é gravada no arquivo public_key.txt.
Esta chave pública é muito importante. É a chave que deve ser empregada em todos os sistemas cliente que recebem software personalizado através do up2date. As técnicas para empregar esta chave numa empresa inteira são cobertas no Guia de Configuração do Cliente Red Hat Network.