6 999
contributi
S3v (discussione | contributi) Nessun oggetto della modifica |
S3v (discussione | contributi) mNessun oggetto della modifica |
||
(10 versioni intermedie di 3 utenti non mostrate) | |||
Riga 7: | Riga 7: | ||
# Prevenire eventuali problemi d'installazione dovuti ad un'immagine corrotta | # Prevenire eventuali problemi d'installazione dovuti ad un'immagine corrotta | ||
Se la manipolazione fraudolenta di un'immagine Debian è | Se la manipolazione fraudolenta di un'immagine Debian è una possibilità alquanto improbabile, la corruzione del file alla fine del suo download è, invece, un'eventualità tutt'altro che remota. In questo caso, durante l'installazione di Debian, potrebbero verificarsi svariati problemi (mancata partenza dell'installer, errato o inesistente riconoscimento di periferiche, blocchi improvvisi e inaspettati con relativa comparsa di messaggi d'errore esotici, tanto altro ancora) che determinano l'impossibilità di portare correttamente a compimento l'intero processo.<br/> | ||
Per prevenire questa eventualità, la seconda cosa da controllare (la prima è la compatibilità dell'immagine con l'architettura della propria macchina) è l'hash MD5 o SHA dell'immagine appena scaricata.<br/> | Per prevenire questa eventualità, la seconda cosa da controllare (la prima è la compatibilità dell'immagine con l'architettura della propria macchina) è l'hash MD5 o SHA dell'immagine appena scaricata.<br/> | ||
Questo processo porta via solo pochi minuti e potrebbe evitare la perdita di intere ore nel cercare di capire la causa dell'errore. | Questo processo porta via solo pochi minuti e potrebbe evitare la perdita di intere ore nel cercare di capire la causa dell'errore. | ||
Riga 17: | Riga 17: | ||
== Passi preliminari == | == Passi preliminari == | ||
Ipotizziamo di voler fare il check di un'immagine .iso di Debian | Ipotizziamo di voler fare il check di un'immagine .iso di Debian [[Stretch]] contenuta in questa pagina<sup>[[#Pagine esterne|[1]]]</sup>, in particolare il file in esame è "debian-9.0.0-i386-xfce-CD-1.iso". Il discorso non cambia per uno o più file .iso diversi anche riguardanti l'installazione di Debian [[testing]] o creati per essere masterizzati su supporti diversi come DVD o Blu-ray.<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- | debian-9.0.0-i386-xfce-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/> | ||
La scelta dipende dal grado di affidabilità voluta e dal tempo necessario a calcolare e verificare la firma digitale. Se non si hanno esigenze particolari, è consigliato effettuare il controllo con | La scelta dipende dal grado di affidabilità voluta e dal tempo necessario a calcolare e verificare la firma digitale. Se non si hanno esigenze particolari, è consigliato effettuare il controllo con almeno un algoritmo e MD5 è il più veloce tra quelli disponibili. Se invece si è interessati anche all'autenticità dell'immagine, si consiglia di ricorrere almeno all'hash SHA-256 o SHA-512, in quanto MD5 e (in misura minore) SHA-1 non sono più considerati sicuri nel proteggere da manipolazioni malevole. | ||
== mini.iso == | |||
Per l'immagine "mini.iso" sono presenti solo i file "MD5SUMS" e "SHA256SUMS"; per questi non esiste un corrispondente file .sign.<br/> | |||
Inoltre i due precedenti file devono essere modificati lasciando solo la riga che riguarda il file <code>mini.iso</code> in cui va tolto il [[path]]. Ad esempio la riga: | |||
<pre> | |||
bc5f27a03fe31ccd6e0f634699096103 ./netboot/mini.iso | |||
</pre> | |||
va cambiata in: | |||
<pre> | |||
bc5f27a03fe31ccd6e0f634699096103 mini.iso | |||
</pre> | |||
e tutti i file devono trovarsi nella stessa directory.<br/> | |||
Alternativamente si deve salvare il file <code>mini.iso</code> in una sotto-directory chiamata "netboot". | |||
== MD5 == | == MD5 == | ||
<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- | 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-9.0.0-i386-xfce-CD-1.iso</code> sia andato a buon fine: | ||
$ md5sum -c MD5SUMS | $ md5sum -c MD5SUMS | ||
'''debian- | '''debian-9.0.0-i386-xfce-CD-1.iso: OK''' | ||
md5sum: debian- | md5sum: debian-9.0.0-i386-netinst.iso: File o directory non esistente | ||
debian- | debian-9.0.0-i386-netinst.iso: apertura o lettura NON RIUSCITA | ||
md5sum: debian-mac-9.0.0-i386-netinst.iso: File o directory non esistente | |||
debian-update-mac-9.0.0-i386-netinst.iso: apertura o lettura NON RIUSCITA | |||
md5sum: debian- | md5sum: ATTENZIONE: 2 file elencati non possono essere letti | ||
debian-update- | |||
md5sum: ATTENZIONE: | |||
In caso di errore: | In caso di errore: | ||
<pre>$ md5sum -c MD5SUMS | <pre>$ md5sum -c MD5SUMS | ||
debian- | debian-9.0.0-i386-xfce-CD-1.iso: NON RIUSCITO | ||
... | ... | ||
... | ... | ||
Riga 77: | Riga 89: | ||
=== 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- | <pre>debian-9.0.0-i386-xfce-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- | <pre>debian-9.0.0-i386-xfce-CD-1.iso: FAILED | ||
... | ... | ||
... | ... | ||
Riga 87: | Riga 99: | ||
== 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 | 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 110: | ||
$ gpg --verify SHA512SUMS.sign SHA512SUMS | $ gpg --verify SHA512SUMS.sign SHA512SUMS | ||
... | ... | ||
gpg: Signature made dom | 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 110: | Riga 122: | ||
gpg: importate: 1 (RSA: 1) | gpg: importate: 1 (RSA: 1) | ||
</pre> | </pre> | ||
prestando particolare attenzione a digitare correttamente il nome del server e l'ID della chiave da prelevare.<br/> | |||
Alternativamente, nel caso non si voglia utilizzare una connessione remota o nel caso questa sia assente, si può importare la chiave dal file <code>/usr/share/keyrings/debian-role-keys.gpg</code>; in quest'ultimo caso verranno importate tutte le chiavi presenti in quel file: | |||
<pre> | |||
$ gpg --import /usr/share/keyrings/debian-role-keys.gpg | |||
</pre> | |||
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 - | $ gpg --keyring /usr/share/keyrings/debian-keyring.gpg --list-sig 6294BE9B | ||
pub 4096R/6294BE9B 2011-01-05 | pub 4096R/6294BE9B 2011-01-05 | ||
uid | 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 126: | Riga 141: | ||
sig 6294BE9B 2011-01-05 Debian CD signing key <debian-cd@lists.debian.org> | sig 6294BE9B 2011-01-05 Debian CD signing key <debian-cd@lists.debian.org> | ||
</pre> | </pre> | ||
Se avete fiducia nei soggetti sopra elencati (o perché noti ed autorevoli esponenti del progetto Debian | Se avete fiducia nei soggetti sopra elencati (o perché noti ed autorevoli esponenti del progetto Debian, perché li conoscete di persona o entrambe le cose, o perché garantite da altri soggetti fidati), potete considerare la chiave con ID uguale a 6294BE9B come fidata; vedremo tra poco come fare. Non è comunque necessario se ci basta sapere che ha le stesse garanzie del software proveniente dai [[repository]], e infatti le loro chiavi pubbliche sono contenute nel pacchetto '''debian-keyring''' scaricato da [[APT]] dopo averne verificato l'autenticità: ciò significa che se il file contenente l'hash dell'immagine è autentico, allora l'immagine scaricata è sicura quanto il software presente nei repository. | ||
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 | 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! | ||
Riga 139: | Riga 154: | ||
conferma che il controllo è stato positivo. | conferma che il controllo è stato positivo. | ||
Se si vuole, è possibile considerare questa chiave pubblica come "fidata" attraverso un proprio grado di fiducia.<br/> | Se si vuole, è possibile considerare questa chiave pubblica come "fidata" attraverso un proprio grado di fiducia. Non è comunque necessario se ci basta conoscere che l'immagine è fidata: ossia non danneggiata, perché l'hash corrisponde (ed è almeno SHA-256 o SHA-512), e autentica, perché l'hash è firmato dalla chiave privata di una persona, la cui chiave pubblica corrispondente è presente in un [[pacchetto]] Debian e quindi sicura quanto il resto del software presente nei repository. L'unico vantaggio sarà che si potrà effettuare d'ora in poi il controllo in automatico, e si potrà utilizzare anche per altre operazioni.<br/> | ||
A tal scopo basta confrontare l'impronta digitale visualizzata (fingerprint) con una di quelle contenute in questa pagina<sup>[[#Pagine esterne|2]]</sup> oppure (per gli inguaribili paranoici) farsela dettare per telefono o di persona da uno degli sviluppatori di Debian.<br/> | A tal scopo per i paranoici basta confrontare l'impronta digitale visualizzata (fingerprint) con una di quelle contenute in questa pagina<sup>[[#Pagine esterne|[2]]]</sup> oppure (per gli inguaribili paranoici) farsela dettare per telefono o di persona da uno degli sviluppatori di Debian.<br/> | ||
Infine: | Infine: | ||
<pre>$ gpg --sign-key 6294BE9B</pre> | <pre>$ gpg --sign-key 6294BE9B</pre> | ||
Riga 148: | Riga 163: | ||
<pre> | <pre> | ||
$ gpg --verify SHA512SUMS.sign SHA512SUMS | $ gpg --verify SHA512SUMS.sign SHA512SUMS | ||
gpg: Signature made dom | gpg: Signature made dom 16 giu 2013 23:29:22 CEST using RSA key ID 6294BE9B | ||
gpg: controllo il | 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 | 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> | ||
Riga 161: | Riga 177: | ||
== Pagine esterne == | == Pagine esterne == | ||
[1][http://cdimage.debian.org/debian-cd/current/i386/iso-cd/ Download delle immagini di Debian stable]<br/> | [1] [http://cdimage.debian.org/debian-cd/current/i386/iso-cd/ Download delle immagini di Debian stable per CD]<br/> | ||
[2][http://www.debian.org/CD/verify Fingerprint delle immagini d'installazione Debian] | [2] [http://www.debian.org/CD/verify Fingerprint delle immagini d'installazione Debian] | ||
{{Autori | {{Autori | ||
|Autore=[[Utente:S3v|S3v]] 18:50, 7 lug 2012 (CEST) | |Autore=[[Utente:S3v|S3v]] 18:50, 7 lug 2012 (CEST) | ||
|Verificata_da= | |||
: [[Utente:HAL 9000|HAL 9000]] 17:20, 19 apr 2015 (CEST) | |||
|Estesa_da= | |||
|Numero_revisori=1 | |||
}} | }} | ||
[[Categoria:Installazione]] | [[Categoria:Installazione]] | ||
[[Categoria:Crittografia]] | [[Categoria:Crittografia]] |
contributi