6.6. 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 ed una firma ben spiegato nel dettaglio in apt-secure(8). A partire da Debian 10 Buster il file firmato è InRelease
, fornito dai mirror Debian. Esiste anche un file legacy chiamato Release
. Entrambi contengono un elenco dei file Packages
(comprese le forme compresse, Packages.gz
e Packages.xz
, e le versioni incrementali), insieme ai loro hash SHA256, che garantiscono che i file non siano stati manomessi. Questi file Packages
, contengono un elenco dei pacchetti Debian disponibili sul mirror insieme ai loro hash, che assicurano che anche il contenuto dei pacchetti stessi non sia stato alterato. La differenza tra InRelease
e Release
è che il primo è firmato crittograficamente in linea, mentre per il secondo viene fornita una firma separata sotto forma del file Release.gpg
.
APT ha bisogno di un insieme di chiavi pubbliche GnuPG affidabili, disponibili sui mirror, per verificare le firme nei file InRelease
e Release.gpg
. Le ottiene dai file in /etc/apt/trusted.gpg.d/
e dal portachiavi /etc/apt/trusted.gpg
(gestito dal comando apt-key
). Le chiavi ufficiali Debian sono fornite ed aggiornate tramite il pacchetto debian-archive-keyring che le inserisce in /etc/apt/trusted.gpg.d/
:
#
ls /etc/apt/trusted.gpg.d/
debian-archive-bookworm-automatic.asc
debian-archive-bookworm-security-automatic.asc
debian-archive-bookworm-stable.asc
debian-archive-bullseye-automatic.asc
debian-archive-bullseye-security-automatic.asc
debian-archive-bullseye-stable.asc
debian-archive-buster-automatic.asc
debian-archive-buster-security-automatic.asc
debian-archive-buster-stable.asc
Una volta che le chiavi appropriate sono nel portachiavi, APT controllerà le firme prima di qualsiasi operazione rischiosa, in modo che le interfacce visualizzino un avviso se viene chiesto di installare un pacchetto la cui autenticità non può essere accertata.
Si noti che i pacchetti binari di solito non sono firmati. L'integrità di un pacchetto può essere confermata solo verificando i suoi hashsum con una fonte affidabile (e possibilmente firmata) di hashsum.