Quando si installa un nuovo repository software, è necessario controllare l'impronta digitale della chiave del repository?

3

Sto registrando un video sull'installazione di alcuni software da un repository di venditori. A un certo punto, scarica la chiave GPG per il repository remoto e controllo manualmente la sua impronta prima aggiungendo chiave e il nuovo repository all'elenco dei repository attendibili per l'host corrente:

REPO="https://download.docker.com/linux/debian"
# Download and check GPG key
# Expected fingerprint:
# 9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88
curl -fsSL "${REPO}/gpg" > docker.debian.gpg
gpg --no-option \
    --with-fingerprint --keyid-format LONG \
    docker.debian.gpg

E solo se l'impronta digitale corrisponde, continuo il processo:

# Add Docker repository
apt-key add docker.debian.gpg
add-apt-repository \
   "deb [arch=amd64] ${REPO} \
   $(lsb_release -cs) \
   stable"

(il codice sopra è per Debian, ma seguo lo stesso pattern per CentOS / RedHat)

Mi sento come controllare l'impronta digitale chiave è un passo importante per garantire che non installeremo un software da un repository sovvertito. Ma non sono abbastanza sicuro di me stesso: alcuni altri tutorial che ho visto sembrano effettivamente presupporre che la chiave del repository sarà automaticamente controllata in un secondo momento.

Quindi, in tal caso, quale ulteriore livello di sicurezza aggiunge al controllo dell'impronta digitale chiave? Quali sarebbero i rischi di non farlo?

    
posta Sylvain Leroux 24.08.2017 - 15:32
fonte

1 risposta

2

[Non sono un esperto su apt o yum/dnf , quindi questo è solo un parere.]

some other tutorials I saw seem to actually assume the repository key will be automagically checked at a later time.

Controllato contro cosa? Contro lo stesso deposito che ti ha dato in primo luogo? Se questo capita di essere un repo malevolo, ovviamente continuerà a dirti che è la cosa reale. Non esiste una lista magica da qualche parte in cui le chiavi siano autentiche per quali reposli. Beh, in realtà c'è, l'elenco che viene fornito con apt , ma stai dicendo esplicitamente a apt di modificare quell'elenco.

La mia comprensione di add-apt-repository è che una volta aggiunto, questo diventa un'ancora di fiducia contro cui controllare tutte le firme future da questa fonte. Se è dannoso, dopo averlo inserito nell'elenco delle tue chiavi di fiducia sei aperto a ricevere software malevolo / falsificato da parte di quello sviluppatore.

Stabilire la fiducia

La vera domanda è: da dove prendi questo?

# Expected fingerprint
# 9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88

Se lo hai ottenuto dalla stessa fonte che ti servirà i pacchetti, o da una pagina HTTP non crittografata, o da qualche blog impreciso, allora non ti sta facendo molto bene.

Idealmente vuoi ottenere l'impronta digitale "fuori dalla banda", cioè da una fonte diversa di cui hai già fiducia nel mondo reale.

    
risposta data 24.08.2017 - 16:08
fonte

Leggi altre domande sui tag