Product SiteDocumentation Site

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 invoca apt-key quando è installato o aggiornato). 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
--------------------
pub   1024D/F42584E6 2008-04-06 [expires: 2012-05-15]
    Key fingerprint = 7F5A 4445 4C72 4A65 CBCD  4FB1 4D27 0D06 F425 84E6
uid                  Lenny Stable Release Key <debian-release@lists.debian.org>

pub   4096R/55BE302B 2009-01-27 [expires: 2012-12-31]
    Key fingerprint = 150C 8614 919D 8446 E01E  83AF 9AA3 8DCD 55BE 302B
uid                  Debian Archive Automatic Signing Key (5.0/lenny) <ftpmaster@debian.org>

pub   2048R/6D849617 2009-01-24 [expires: 2013-01-23]
    Key fingerprint = F6CF DE30 6133 3CE2 A43F  DAF0 DFD9 9330 6D84 9617
uid                  Debian-Volatile Archive Automatic Signing Key (5.0/lenny)

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>

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>

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.