6.5. Controllare l'autenticità dei pacchetti
La sicurezza è molto importante per gli amministratori di Falcot Corp. Di conseguenza, devono garantire che vengano installati solo i pacchetti di cui è garantita la provenienza da Debian senza alcuna manomissione lungo il percorso. Un autore di attacchi informatici potrebbe tentare di aggiungere codice dannoso ad un pacchetto altrimenti legittimo. Tale pacchetto, se installato, potrebbe fare qualsiasi cosa per cui l'autore dell'attacco l'ha progettato, tra cui ad esempio scoprire password o informazioni riservate. Per ovviare a questo rischio, Debian fornisce un sigillo di garanzia a prova di manomissione per garantire, in fase di installazione, che un pacchetto venga veramente dal suo manutentore ufficiale e non sia stato modificato da terzi.
Il sigillo funziona con una catena di hash crittografici e una firma. Il file firmato è il file Release
, fornito dai mirror Debian. Contiene una lista dei file Packages
(comprese le loro forme compresse, Packages.gz
e Packages.bz2
, e la versione incrementale), insieme ai loro hash MD5, SHA1 e SHA256, che assicurano che i file non siano stati manomessi. Questi file Packages
contengono una lista dei pacchetti Debian disponibili sul mirror, con i loro hash, che assicura a sua volta che il contenuto dei pacchetti non sia stato alterato.
Le chiavi fidate sono gestite con il comando apt-key
che si trova nel pacchetto apt. Questo programma mantiene un portachiavi di chiavi pubbliche GnuPG, che sono usate per verificare le firme nei file Release.gpg
disponibili nei mirror. Può essere usato per aggiungere manualmente nuove chiavi (quando sono necessari mirror non ufficiali). In generale tuttavia, servono solo le chiavi ufficiali di Debian. Queste chiavi sono automaticamente mantenute aggiornate dal pacchetto debian-archive-keyring (che mette i portachiavi corrispondenti in /etc/apt/trusted.gpg.d
). Tuttavia, la prima installazione di questo particolare pacchetto richiede cautela: anche se il pacchetto è firmato come ogni altro, la firma non può essere verificata esternamente. Gli amministratori prudenti dovrebbero dunque controllare le impronte digitali delle chiavi importate prima di fidarsi di loro per installare nuovi pacchetti:
# apt-key fingerprint
/etc/apt/trusted.gpg.d//debian-archive-squeeze-automatic.gpg
------------------------------------------------------------
pub 4096R/473041FA 2010-08-27 [expires: 2018-03-05]
Key fingerprint = 9FED 2BCB DCD2 9CDF 7626 78CB AED4 B06F 4730 41FA
uid Debian Archive Automatic Signing Key (6.0/squeeze) <ftpmaster@debian.org>
/etc/apt/trusted.gpg.d//debian-archive-squeeze-stable.gpg
---------------------------------------------------------
pub 4096R/B98321F9 2010-08-07 [expires: 2017-08-05]
Key fingerprint = 0E4E DE2C 7F3E 1FC0 D033 800E 6448 1591 B983 21F9
uid Squeeze Stable Release Key <debian-release@lists.debian.org>
/etc/apt/trusted.gpg.d//debian-archive-wheezy-automatic.gpg
-----------------------------------------------------------
pub 4096R/46925553 2012-04-27 [expires: 2020-04-25]
Key fingerprint = A1BD 8E9D 78F7 FE5C 3E65 D8AF 8B48 AD62 4692 5553
uid Debian Archive Automatic Signing Key (7.0/wheezy) <ftpmaster@debian.org>
/etc/apt/trusted.gpg.d//debian-archive-wheezy-stable.gpg
--------------------------------------------------------
pub 4096R/65FFB764 2012-05-08 [expires: 2019-05-07]
Key fingerprint = ED6D 6527 1AAC F0FF 15D1 2303 6FB2 A1C2 65FF B764
uid Wheezy Stable Release Key <debian-release@lists.debian.org>
Una volta che le chiavi appropriate sono nel portafoglio, APT controlla le firme prima di ogni operazione rischiosa, così che le interfacce mostrano a video un messaggio se si richiede di installare un pacchetto la cui autenticità non può essere verificata.