Difference between revisions of "Pacman/Package signing (Italiano)"

From ArchWiki
Jump to: navigation, search
(Ampliamento "Installazione",)
m (Chiavi principali o master-key)
Line 68: Line 68:
 
Really sign? (y/N)
 
Really sign? (y/N)
 
}}
 
}}
If the fingerprint matches, go ahead and sign it.  You also need to assign at least a "marginal" trust level to each of the master keys.
+
Qualora la fingerprint corrisponda, si proceda a convalidarla. È anche necessario assegnare un livello di affidabilità di almeno "marginal" (marginale) ad ogni chiave principale.
 
{{bc|
 
{{bc|
 
Really sign? (y/N) y
 
Really sign? (y/N) y
Line 77: Line 77:
 
Save changes? (y/N) y
 
Save changes? (y/N) y
 
}}
 
}}
This process will repeat for each master key.
+
Tale processo sarà da ripetere per ogni chiave principale.
  
 
==Altre key==
 
==Altre key==

Revision as of 22:31, 18 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 è un nuovo tool disponibile con pacman 4. Con la nuova implementazione dei pacchetti firmati, permette all'utente di amministrarne la lista delle chiavi affidabili in pacman. Per un po' di storia sulla questione, si rimanda a questi articoli blog: [1] [2] [3] [4] e alla proposta di controllo delle firme in Pacman della wiki.

Funzionamento

Il sistema di firmatura pacchetti in pacman utilizza il modello "web of trust" per assicurare che i pacchetti vengono dagli sviluppatori e non da qualcuno che si sostituisca a loro indebitamente. Gli sviluppatori dei pacchetti e i Trusted User hanno chiavi PGP individuali che utilizzano per firmare i propri pacchetti. Questo significa che loro garantiscono il contenuto del pacchetto. Anche l'utente comune possiede una PGP key unica, che viene generata quando questi configura pacman-key.

Le chiavi possono essere usate per firmare altre key. Ciò signigica che il proprietario della chiave firmante garantisce per l'autenticità della chiave firmata. Per verificare un pacchetto, è necessario avere un collegamento di firme dalla propria chiave PGP al pacchetto stesso. Con la struttura di chiavi Arch questo può avventire intre modi:

  • Pacchetti personali (custom): l'utente crea da sé il proprio pacchetto e lo firma con una key personale.
  • Pacchetti non ufficiali (unofficial): uno sviluppatore fa un pacchetto e lo firma. L'utente utilizza la propria key per firmare quella dello sviluppatore.
  • Pacchetti ufficiali (official): uno sviluppatore fa un pacchetto e lo firma. La chiave dello sviluppatore viene firmata dalle chiavi principali (master-key). L'utente fa poi affidamento su queste ultime per garantire gli sviluppatori

Fingerprint o keyID

  • Una fingerprint o "impronta digitale" è un versione breve della key (chiave). Può essere usata per identificare la chiave stessa senza il bisogno di averla intera (in quanto a volte è decisamente lunga). È un po' il "nome" della key. Nella documentazione di pacman sono ciò che è chiamato keyIDs.
  • Formati di fingerprint
    • Fingerprint come "6645 B0A8 C700 5E78 DB1D 7864 F99F FE0F EAE9 99BD" devono essere compresse come "6645B0A8C7005E78DB1D7864F99FFE0FEAE999BD" (rimozione degli spazi)
    • La parte "0x" davanti alla key è opzionale: che sia aggiunta o tolta, funzionerà comunque.

Keyserver

  • I PGP key server immagazzinano i file key. In tal modo permettono all'utente di reperire le key basate sulle fingerprint, sui nomi e sulle ID. Il keyserver predefinito per pacman-key è configurato in /etc/pacman.d/gnupg/gpg.conf. È possibile sostituirlo usando l'opzione --keyserver da riga di comando.

Se si desidera cercare dei keyserver diversi, si può trovare una piccola lista nell'articolo di Wikipedia.

Disabilitare il controllo delle firme

Warning: Usare con cautela. Disabilitare la firma dei pacchetti permette a pacman di installare automaticamente pacchetti inaffidabili.

Se non si è interessati alla firma dei pacchetti, è possibile disabilitare il controllo delle firme PGP completamente. È sufficiente modificare /etc/pacman.conf e scommentare la linea seguente sotto [options]:

SigLevel = Never

Da ciò consegue l'assenza di controllo delle firme (il comportamento predefinito prima di pacman 4). Se si decide di farlo, non è necessario impostare un portachiavi con pacman-key. Sarà possibile modificare tale opzione, qualora si decida di abilitare la verifica dei pacchetti.

Installazione

Configurare pacman

Prima di tutto, si deve decidere che livello di controllo si desidera. A determinarlo è l'opzione SigLevel nel file /etc/pacman.conf. Alcune possibilità sono menzionate nei commenti di quel file. Per un'esposizione più dettagliata, si rimanda alla pagina di manuale di pacman.conf.

È opportuno prendere nota delle implicazioni delle due opzioni seguenti e ricordare quale si sceglie nel configurare il proprio portachiavi:

  • TrustedOnly: Solo le chiavi che sono state convalidate dall'utente sono considerate affidabili. È possibile aggiungere key al proprio portachiavi senza preoccupazioni. Questa è l'opzione di default.
  • TrustAll: Ogni chiave nel proprio portachiavi è considerata affidabile. È necessaria molta cautela da parte dell'utente nell'aggiungere chiavi.

Inizializzare il portachiavi

Per impostare il portachiavi di pacman, usare il comando:

# pacman-key --init

In tal modo si crea un nuovo portachiavi in /etc/pacman.d/gnupg e si genera una chiave principale (master-key) unica per il proprio sistema.

Aggiungere le chiavi

Chiavi principali o master-key

Le master-key sono cinque chiavi principali di Arch Linux, che sono utilizzate per firmare le key di sviluppatori e Trusted User. Queste chiavi dovrebbero essere nel portachiavi dell'utente. Si possono trovare le keyIDs dalla pagina delle Master Key. Per installarle, dare il comando:

# pacman-key -r <keyid> <keyid> <keyid> <keyid> <keyid>

Attenzione: qualora il proprio SigLevel sia impostato su TrustAll, sarà necessario verificare le chiavi prima di lanciare il comando in questione, in quanto qualsiasi chiave si scarichi, sarà automaticamente dichiarata affidabile!

Si potrebbe aver bisogno di firmare in locale queste key ed inpostare il loro livello di affidabilità come per lo meno "marginal" (marginale):

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

Prima di firmare e rendere affidabile qualsiasi chiave, si deve verificare la sua fingerprint. Il modo più sicuro per farlo è di non utilizzare un computer, ad esempio, telefonare ad Allan , offrirgli una birra e chiederla a lui di persona. Scherzi a parte, è ragionevolmente sicuro controllare la fingerprint conforntando liste diverse, come la pagina delle Master Key e il blog di Allan.

gpg> lsign
...
 Primary key fingerprint: ...
...
Really sign? (y/N)

Qualora la fingerprint corrisponda, si proceda a convalidarla. È anche necessario assegnare un livello di affidabilità di almeno "marginal" (marginale) ad ogni chiave principale.

Really sign? (y/N) y
gpg> trust
...
Your decision? 3
gpg> q
Save changes? (y/N) y

Tale processo sarà da ripetere per ogni chiave principale.

Altre key

Quando pacman incontra chiavi sconosciute sui pacchetti, chiederà all'utente di aggiungerle. Per far ciò si può scaricare il file della PGP key e avviare 'pacman-key -a key-file'; in alternativa è possibile reperila da un keyserver basato sulla fingerprint. Questa seconda possibilità è più semplice ed è spiegata qui sotto:

  • Trovare la fingerprint della chiave di uno sviluppatore: si visiti la pagina degli sviluppatori e si trovi il link PGP Key. Il link è la fingerprint.
  • Dare il comando pacman-key -r <fingerprint> --keyserver <key server>. Come keyserver <key server> utilizzare "hkp://pgp.mit.edu".
  • pacman-key -l mostra le key aggiunte.
  • Ciò aggiunge le key al portachiavi, ma lascia il livello di affidabilità come "unknown" (sconosciuto).

Firmare le key

Perché le chiavi funzionino il livello di affidabilità deve essere cambiato.

Per firmare la key localmente, usare:

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

Ciò può essere fatto anche usando il comando di gpg lsign o, ugualmente, pacman-key --edit-key "<fingerprint>" e quindi lsign

Alternativamente è possibile settare pacman per convalidare ogni key nel suo portachiavi. Per quest'ultima ipotesi, si aggiunga UNA delle opzioni seguenti sotto [Options] in /etc/pacman.conf

SigLevel     = Required TrustAll
SigLevel     = Optional TrustAll

Script per aggiungere le chiavi PGP richieste

Quando le chiavi principali sono state aggiunte, non è necessario convalidare ogni PGP key degli Sviluppatori Arch Linux o dei Trusted Users. Infatti esse saranno firmate da almeno tre di queste chiavi principali.

Script per aggiungere tutte le principali PGP key

Questo script aggiunge le master key alle chiavi memorizzate da pacman e imposta il livello di affidabilità a "marginal" (3).

Warning: Usare con cautela. Controllare che le chiavi elencate sotto corrispondano alle master-keys. È possibile che qualcuno modifichi illecitamente le chiavi principali ed inserisca chiavi PGP maligne, rendendo l'intero processo di controllo inutile.

Lo script deve essere avviato come root per aggiungere le key (in alternativa si aggiunga sudo davanti al 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 per aggiungere tutte le chiavi PGP degli sviluppatori dalla pagina Sviluppatori

Questo script usa curl per scaricare la pagina Sviluppatori ed estrarre le fingerprint delle chiavi PGP. Quindi, con pacman --recv-keys e pgp.mit.edu come keyserver, li aggiunge al portachiavi pacman.

Warning: Usare con cautela. È possibile che qualcuno modifichi illecitamente la pagina Sviluppatori ed inserisca chiavi PGP maligne, rendendo l'intero processo di controllo inutile.

Lo script deve essere avviato come root per aggiungere le key (in alternativa si aggiunga sudo davanti al 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 per aggiungere tutte le chiavi PGP dei trusted users dalla pagina Trusted Users

Questo script usa curl per scaricare la pagina Trusted Users ed estrarre le fingerprint delle chiavi PGP. Quindi, con pacman --recv-keys e pgp.mit.edu come keyserver, li aggiunge al portachiavi pacman.

Warning: Usare con cautela. È possibile che qualcuno modifichi illecitamente la pagina Trusted Users ed inserisca chiavi PGP maligne, rendendo l'intero processo di controllo inutile.

Lo script deve essere avviato come root per aggiungere le key (in alternativa si aggiunga sudo davanti al 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 per aggiungere tutte le PGP key (sia degli Sviluppatori che dei Trusted Users)

Warning: Usare con cautela. È possibile che qualcuno modifichi illecitamente la pagina Sviluppatori/Trusted Users ed inserisca chiavi PGP maligne, rendendo l'intero processo di controllo inutile.
curl https://www.archlinux.org/{developers,trustedusers}/ |
awk -F\" '(/pgp.mit.edu/) {sub(/.*search=0x/,"");print $1}' |
xargs pacman-key --recv-keys

Risoluzione dei problemi

Impossibile importare le key

Alcuni ISP potrebbe aver bloccato la porta utilizzata per importare le chiavi PGP. Una soluzione è quella di utilizzare il keyserver del Massachusset's Institute of Technology che mette a disposizione una porta alternativa. Per farlo, modificare /etc/pacman.d/gnupg/gpg.conf, rimpiazzando la linea dei keyserver keyserver hkp://keys.gnupg.net con keyserver hkp://pgp.mit.edu:11371.