Red Hat Training

A Red Hat training course is available for Red Hat Satellite

3.2. Firme digitali per pacchetti RHN

Tutti i pacchetti distribuiti attraverso RHN dovrebbero avere una Firma Digitale. La suddetta firma viene creata attraverso una chiave unica privata, e può essere verificata con la chiave pubblica corrispondente. Dopo aver creato un pacchetto SRPM (Source RPM) e l'RPM possono essere firmati in modo digitale tramite una chiave GnuPG. Prima di installare il pacchetto, è necessario utilizzare una chiave pubblica in modo da verificare che il pacchetto sia stato firmato da una entità fidata, e che lo stesso non sia stato modificato dopo l'ultima firma.

3.2.1. Generazione di una coppia di chiavi GnuPG

Una coppia di chiavi GnuPG consiste in una chiave pubblica ed una privata. Per la sua generazione:
  1. Nel prompt della shell digitare come utente root il seguente comando:
    gpg --gen-key
    Se eseguite il comando come utente non root, visualizzerete il messaggio di seguito riportato:
    gpg: Warning: using insecure memory!
    
    Questo messaggio viene visualizzato poichè gli utenti non root non possono bloccare le pagine della memoria. Poichè non è auspicabile che altre persone siano in possesso della vostra chiave GnuPG privata o frase d'accesso, sarà necessario generare come utente root una coppia di chiavi. L'utente root è in grado di bloccare le pagine della memoria, ciò significa che le informazioni non verranno mai scritte sul disco.
  2. Dopo aver eseguito il comando per generare una coppia di chiavi sarete in grado di visualizzare una schermata introduttiva contenente alcune opzioni della chiave, simili a quanto segue:
    	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. Accettate l'opzione di default: (1) DSA and ElGamal. Questa opzione vi permetterà di creare una firma digitale e di eseguire una codifica/decodifica con due tipi di tecnologie. Digitate 1 e poi premete Invio.
  4. Successivamente scegliete la misura della chiave, ciò indicherà la lunghezza della chiave. Più la chiave è lunga e più sarà resistente agli attachi. A questo scopo è consigliato la creazione di una chiave a 1024 bit.
  5. L'opzione successiva richiederà di stabilire la validità della vostra chiave. Se selezionate una data di scadenza, ricordate che tutti gli utenti che utilizzano la vostra chiave pubblica dovranno essere informati della suddetta data, e quindi acquisire una nuova chiave pubblica. È consigliato non selezionare alcuna data di scadenza. Se non impostate alcuna data sarà chiesto di confermare la vostra scelta:
    Key does not expire at all Is this correct (y/n)?
    
  6. Premete y per confermare.
  7. Il compito successivo sarà quello di fornire un User-ID contenente il nome, l'indirizzo email ed un commento aggiuntivo, ognuno di essi viene richiesto individualmente. Una volta terminato verrà mostrato un sommario contenente le informazioni da voi inserite.
  8. Una volta confermata la vostra selezione inserite una frase d'accesso.

    Nota

    In modo simile alle password una frase d'accesso efficace è fondamentale per la sicurezza in GnuPG. Utilizzate un giusto mix di lettere maiuscole e minuscole, numeri e/o punteggiatura.
  9. Dopo aver inserito e verificato la frase d'accesso verranno generate le chiavi. A questo punto sarà visualizzato un messaggio simile al seguente:
    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. 
    
    +++++.+++++.++++++++....++++++++++..+++++.+++++.+++++++.+++++++ +++.
    ++++++++++++++++++++++++++++++++++++++..........................++++
    
    Terminata l'attività nella schermata, le nuove chiavi verranno posizionate nella directory .gnupg nella home directory di root. Questo rappresenta la posizione predefinita delle chiavi generate dall'utente root.
Per elencare le chiavi di root usare il comando:
gpg --list-keys
L'output sarà simile al seguente:
/root/.gnupg/pubring.gpg ----------------  pub 1024D/B7085C8A 2002-02-18
 Your Name<you@example.com> 
sub 1024g/E12AF9C4 2002-02-18
Per ripristinare la chiave pubblica, utilizzate il seguente comando:
gpg --export -a 'Your Name' > public_key.txt
La chiave pubblica è scritta sul file public_key.txt.
Questa chiave pubblica è molto importante, infatti essa risulta essere la chiave da impiegare su tutti i sistemi client che ricevono un software personalizzato attraverso up2date. Le tecniche utilizzate per impiegare questa chiave attraverso un'organizzazione, sono disponibili nella Red Hat Network Client Configuration Guide.