Controllare l'integrità delle immagini Debian: differenze tra le versioni

+ aggiornata a Wheezy
mNessun oggetto della modifica
(+ aggiornata a Wheezy)
Riga 17: Riga 17:


== Passi preliminari ==
== Passi preliminari ==
Ipotizziamo  di voler fare il check di un'immagine .iso di Debian "Squeeze" contenuta in questa pagina<sup>[[#Pagine esterne|[1]]]</sup>, in particolare il file in esame è "debian-6.0.5-i386-CD-1.iso". Il discorso non cambia per uno o più file .iso diversi anche riguardanti l'installazione di Debian testing. <br/>
Ipotizziamo  di voler fare il check di un'immagine .iso di Debian "Squeeze" contenuta in questa pagina<sup>[[#Pagine esterne|[1]]]</sup>, in particolare il file in esame è "debian-7.1.0-i386-CD-1.iso". Il discorso non cambia per uno o più file .iso diversi anche riguardanti l'installazione di Debian [[testing]]. <br/>
Si può notare che i primi file della lista sono:
Si può notare che i primi file della lista sono:
* '''MD5SUMS'''
* '''MD5SUMS'''
Riga 32: Riga 32:
A questo punto può essere comodo creare una directory che conterrà tutti i file che verranno utilizzati nei successivi passi:
A questo punto può essere comodo creare una directory che conterrà tutti i file che verranno utilizzati nei successivi passi:
<pre>$ ls ~/mycheckdir
<pre>$ ls ~/mycheckdir
debian-6.0.5-i386-CD-1.iso MD5SUMS.sign SHA1SUMS.sign SHA256SUMS.sign SHA512SUMS.sign MD5SUMS SHA1SUMS SHA256SUMS SHA512SUMS
debian-7.1.0-i386-CD-1.iso MD5SUMS.sign SHA1SUMS.sign SHA256SUMS.sign SHA512SUMS.sign MD5SUMS SHA1SUMS SHA256SUMS SHA512SUMS
</pre>
</pre>
Non è necessario scaricare tutti i file contenenti le firme digitali, ma solo la coppia (file - file.sign) relativa all'algoritmo che si vuole utilizzare per effettuare il controllo.<br/>
Non è necessario scaricare tutti i file contenenti le firme digitali, ma solo la coppia (file - file.sign) relativa all'algoritmo che si vuole utilizzare per effettuare il controllo.<br/>
Riga 40: Riga 40:
<pre>$ md5sum -c MD5SUMS</pre>
<pre>$ md5sum -c MD5SUMS</pre>
Verrà calcolata la firma MD5 di tutti i file elencati in MD5SUMS e poi confrontata con quella presente nello stesso file.<br/>
Verrà calcolata la firma MD5 di tutti i file elencati in MD5SUMS e poi confrontata con quella presente nello stesso file.<br/>
Poiché la maggior parte dei file non è presente, l'output ci informerà di conseguenza. La sola cosa che importa è, però, che il controllo sul file <code>debian-6.0.5-i386-CD-1.iso</code> sia andato a buon fine:
Poiché la maggior parte dei file non è presente, l'output ci informerà di conseguenza. La sola cosa che importa è, però, che il controllo sul file <code>debian-7.1.0-i386-CD-1.iso</code> sia andato a buon fine:
  $ md5sum -c MD5SUMS
  $ md5sum -c MD5SUMS
  '''debian-6.0.5-i386-CD-1.iso: OK'''
  '''debian-7.1.0-i386-CD-1.iso: OK'''
  md5sum: debian-6.0.5-i386-CD-10.iso: File o directory non esistente
  md5sum: debian-7.1.0-i386-CD-10.iso: File o directory non esistente
  debian-6.0.5-i386-CD-10.iso: apertura o lettura NON RIUSCITA
  debian-7.1.0-i386-CD-10.iso: apertura o lettura NON RIUSCITA
  ...
  ...
  ...
  ...
  md5sum: debian-update-6.0.5-i386-CD-9.iso: File o directory non esistente
  md5sum: debian-update-7.1.0-i386-CD-5.iso: File o directory non esistente
  debian-update-6.0.5-i386-CD-9.iso: apertura o lettura NON RIUSCITA
  debian-update-7.1.0-i386-CD-5.iso: apertura o lettura NON RIUSCITA
  md5sum: ATTENZIONE: 68 file elencati non possono essere letti
  md5sum: ATTENZIONE: 76 file elencati non possono essere letti
 
In caso di errore:
In caso di errore:
<pre>$ md5sum -c MD5SUMS
<pre>$ md5sum -c MD5SUMS
debian-6.0.5-i386-CD-1.iso: NON RIUSCITO
debian-7.1.0-i386-CD-1.iso: NON RIUSCITO
...
...
...
...
Riga 77: Riga 78:
=== Verifica dell'integrità ===
=== Verifica dell'integrità ===
In caso di check positivo dell'integrità del file:
In caso di check positivo dell'integrità del file:
<pre>debian-6.0.5-i386-CD-1.iso: OK</pre>
<pre>debian-7.1.0-i386-CD-1.iso: OK</pre>
mentre in caso d'errore si otterrà qualcosa tipo:
mentre in caso d'errore si otterrà qualcosa tipo:
<pre>debian-6.0.5-i386-CD-1.iso: FAILED
<pre>debian-7.1.0-i386-CD-1.iso: FAILED
...
...
...
...
Riga 87: Riga 88:
== Verifica della firma PGP ==
== Verifica della firma PGP ==
Per incrementare ulteriormente la sicurezza e accertarsi che i file  scaricati siano affidabili e non manipolati, si può effettuare anche la verifica della firma mediante [[GnuPG]] (GPG).<br/>
Per incrementare ulteriormente la sicurezza e accertarsi che i file  scaricati siano affidabili e non manipolati, si può effettuare anche la verifica della firma mediante [[GnuPG]] (GPG).<br/>
La firma è  contenuta nei file <code>MD5SUMS.sign, SHA1SUMS.sign, SHA256SUMS.sign</code> e <code>SHA512SUMS.sign</code> e consente di esser sicuri che i file corrispondenti siano stati effettivamente uploadati da chi li ha generati. Se la verifica si conclude con esito positivo, i file possono essere ritenuti autentici e, a cascata, può essere ritenuta affidabile l'immagine .iso che si sta installando.
La firma è  contenuta nei file <code>MD5SUMS.sign, SHA1SUMS.sign, SHA256SUMS.sign</code> e <code>SHA512SUMS.sign</code> e consente di esser sicuri che i file corrispondenti siano stati effettivamente uploadati da chi li ha generati. Se la verifica si conclude con esito positivo, i file possono essere ritenuti autentici e, a cascata, può essere ritenuta affidabile l'immagine .iso che si sta utilizzando per installare Debian.


=== Pacchetti necessari ===
=== Pacchetti necessari ===
Riga 98: Riga 99:
$ gpg --verify SHA512SUMS.sign SHA512SUMS
$ gpg --verify SHA512SUMS.sign SHA512SUMS
...
...
gpg: Signature made dom 13 mag 2012 14:01:50 CEST using RSA key ID 6294BE9B
gpg: Signature made dom 16 giu 2013 23:29:22 CEST using RSA key ID 6294BE9B
gpg: Impossibile controllare la firma: chiave pubblica non trovata
gpg: Impossibile controllare la firma: chiave pubblica non trovata
</pre>
</pre>
Riga 113: Riga 114:
Ora la chiave pubblica è presente nel nostro portachiavi ed è una buona idea controllare chi ha firmato la chiave appena prelevata:
Ora la chiave pubblica è presente nel nostro portachiavi ed è una buona idea controllare chi ha firmato la chiave appena prelevata:
<pre>
<pre>
$ gpg --keyring /usr/share/keyrings/debian-keyring.gpg -kvv 6294BE9B
$ gpg --keyring /usr/share/keyrings/debian-keyring.gpg --list-sig 6294BE9B
gpg: using PGP trust model
pub  4096R/6294BE9B 2011-01-05
pub  4096R/6294BE9B 2011-01-05
uid                   Debian CD signing key <debian-cd@lists.debian.org>
uid                 Debian CD signing key <debian-cd@lists.debian.org>
sig          1B3045CE 2011-01-07  Colin Tuckley <colin@tuckley.org>
sig          1B3045CE 2011-01-07  Colin Tuckley <colin@tuckley.org>
sig          3442684E 2011-01-05  Steve McIntyre <steve@einval.com>
sig          3442684E 2011-01-05  Steve McIntyre <steve@einval.com>
Riga 130: Riga 130:
Per finire non resta altro che verificare che il file <code>SHA512SUMS</code> sia autentico:
Per finire non resta altro che verificare che il file <code>SHA512SUMS</code> sia autentico:
  $ gpg --verify SHA512SUMS.sign SHA512SUMS
  $ gpg --verify SHA512SUMS.sign SHA512SUMS
  gpg: Signature made dom 13 mag 2012 14:01:50 CEST using RSA key ID 6294BE9B
  gpg: Signature made dom 16 giu 2013 23:29:22 CEST using RSA key ID 6294BE9B
  '''gpg: Good signature from "Debian CD signing key <debian-cd@lists.debian.org>"'''
  '''gpg: Good signature from "Debian CD signing key <debian-cd@lists.debian.org>"'''
  gpg: ATTENZIONE: questa chiave non è certificata con una firma fidata!
  gpg: ATTENZIONE: questa chiave non è certificata con una firma fidata!
  gpg:          Non ci sono indicazioni che la firma appartenga al proprietario.
  gpg:          Non ci sono indicazioni che la firma appartenga al proprietario.
Impronta digitale della chiave primaria: DF9B 9C49 EAA9 2984 3258  9D76 DA87 E80D 6294 BE9B
Impronta digitale della chiave primaria: DF9B 9C49 EAA9 2984 3258  9D76 DA87 E80D 6294 BE9B
L'output:
L'output:
<pre>gpg: Good signature from "Debian CD signing key <debian-cd@lists.debian.org>"</pre>
<pre>gpg: Good signature from "Debian CD signing key <debian-cd@lists.debian.org>"</pre>
Riga 148: Riga 148:
<pre>
<pre>
$ gpg --verify SHA512SUMS.sign SHA512SUMS
$ gpg --verify SHA512SUMS.sign SHA512SUMS
gpg: Signature made dom 13 mag 2012 14:01:50 CEST using RSA key ID 6294BE9B
gpg: Signature made dom 16 giu 2013 23:29:22 CEST using RSA key ID 6294BE9B
gpg: controllo il trustdbgpg: 3 marginal(s) needed, 1 complete(s) needed, PGP trust model
gpg: controllo il trustdb
gpg: 3 marginal(s) needed, 1 complete(s) needed, PGP trust model
gpg: depth: 0  valid:  1  signed:  1  trust: 0-, 0q, 0n, 0m, 0f, 1u
gpg: depth: 0  valid:  1  signed:  1  trust: 0-, 0q, 0n, 0m, 0f, 1u
gpg: depth: 1  valid:  1  signed:  0  trust: 1-, 0q, 0n, 0m, 0f, 0u
gpg: depth: 1  valid:  1  signed:  0  trust: 1-, 0q, 0n, 0m, 0f, 0u
gpg: il prossimo controllo del trustdb sarà fatto il 2012-07-08
gpg: il prossimo controllo del trustdb sarà fatto il 2013-09-23
gpg: Good signature from "Debian CD signing key <debian-cd@lists.debian.org>"
gpg: Good signature from "Debian CD signing key <debian-cd@lists.debian.org>"
</pre>
</pre>
6 999

contributi