La capacità di apt
di accedere a diverse sorgenti di pacchetti comporta
una potenziale vulnerabilità in termini di sicurezza. Si supponga di
aggiungere al proprio file sources.list
un archivio di
pacchetti pubblicati da Pinco Pallo Hacker, per potere installare il
pacchetto ultraprogramma
di Pinco. È possibile però
che, a insaputa dell'utente, l'archivio di Pinco contenga anche le sue
versioni «personalizzate» di pacchetti come
libc6
e ssh
... versioni
che rubano le informazioni private o aprono backdoor nel sistema! Se questi
pacchetti hanno un numero di versione più alto di quello dei pacchetti
Debian legittimi, apt
li installerà nel sistema senza farsi problemi
durante l'aggiornamento successivo, permettendo a Pinco di fare il suo
lavoro sporco senza venire scoperto. Pinco potrebbe anche forzare il mirror
degli archivi Debian dell'utente e sostituire il software legittimo con la
sua versione rimaneggiata.
Fortunatamente le versioni più recenti di apt
e aptitude, come quella
documentata in questo manuale, hanno sistemi di sicurezza incorporati per
aiutare a sconfiggere questo tipo di attacchi. apt
usa un forte meccanismo
di sicurezza basato sul popolare software per cifratura GPG, per verificare che i pacchetti
distribuiti dai mirror Debian ufficiali siano gli stessi pacchetti che sono
stati caricati dagli sviluppatori Debian. aptitude poi avverte se si cerca
di installare un pacchetto da una sorgente non Debian, o se si cerca di
aggiornare un pacchetto che era installato da una sorgente Debian ad una
versione che proviene da una sorgente non Debian.
Avvertimento | |
---|---|
I meccanismi di sicurezza di Se ci si assicura di installare solamente software da una sorgente sicura, si avrà un ottimo grado di protezione da pacchetti pericolosi, ma ciò non può eliminare tutti i rischi correlati con l'installazione di software. |
apt
permette all'amministratore di un archivio di fornire una
firma per l'indice dell'archivio. Questa firma, che
(in pratica) non può essere contraffatta, indica che i file di pacchetto
elencati nell'indice sono gli stessi file che l'amministratore ha voluto
mettere nell'archivio: cioè che il contenuto dell'archivio non è stato
manomesso da quando è stato creato.[9] La
firma può essere verificata controllando che corrisponda alla
chiave pubblica dell'amministratore. La chiave
pubblica dell'archivio Debian è distribuita con apt
, tipicamente sul CD di
Debian.
Quando aptitude scarica un indice di archivio, controlla se l'indice è firmato correttamente. Se non è firmato, aptitude non si fida dei file di pacchetto in quell'archivio. (Vedere più sotto per informazioni su ciò che questo significa.) Se ha una firma, ma la firma non è corretta o non può essere verificata, viene mostrato un avvertimento e aptitude si rifiuta di fidarsi dei pacchetti in quell'archivio.
Successivamente, quando si effettua un giro di installazioni, aptitude controlla se i pacchetti provengono da sorgenti fidate. Se un pacchetto non fidato sta per essere installato o se un pacchetto sta per essere aggiornato da una versione fidata a una non fidata, viene mostrato un avvertimento e viene data la possibilità di annullare lo scaricamento:
Potrebbe essere utile permettere ad apt
di fidarsi di archivi aggiuntivi,
oltre all'archivio principale Debian. Per ciascun archivio di cui ci si
desidera fidare, è necessario acquisire la chiave pubblica che viene usata
per firmare l'indice dei pacchetti dell'archivio. Questa è tipicamente un
file di testo il cui nome termina con .asc
; può essere
fornita dall'amministratore del sito o può essere scaricabile da un server
di chiavi pubblico. Per maggiori informazioni su cosa sono le chiavi
pubbliche e su come ottenerle, vedere la pagina web di GPG.
L'elenco delle chiavi di cui apt ha fiducia è memorizzato nel
file portachiavi
/etc/apt/trusted.gpg
. Una volta ottenuta la chiave GPG,
la si può aggiungere a questo file eseguendo il comando gpg
--no-default-keyring --keyring /etc/apt/trusted.gpg --import
nuovachiave.asc
. aptitude
successivamente si fiderà di qualsiasi archivio che sia firmato con la
chiave contenuta in nuovachiave.asc
.
Avvertimento | |
---|---|
Una volta che la chiave di un archivio è stata aggiunta al portachiavi di APT, l'archivio viene considerato fidato tanto quanto gli stessi mirror Debian principali! Questa cosa andrebbe fatta solamente se si è certi che la chiave che si sta aggiungendo sia corretta e che la persona a cui appartiene la chiave sia degna di fiducia e competente. |
[9] Come detto in precedenza, non indica che i pacchetti nell'archivio siano sicuri o persino non pericolosi; dimostra solamente che siano originali.