Non apt-get
usare https o qualsiasi tipo di crittografia? C'è un modo per configurarlo per usarlo?
Non apt-get
usare https o qualsiasi tipo di crittografia? C'è un modo per configurarlo per usarlo?
Risposte:
apt-get
(e altri comandi di manipolazione dei pacchetti, che sono un front-end per le stesse librerie APT) possono usare HTTP, HTTPS e FTP (e filesystem montati). Se si specificano gli https://
URL in /etc/apt/sources.list
e /etc/apt/sources.list.d/*
, quindi APT utilizzerà HTTPS.
APT verifica la firma dei pacchetti. Quindi non è necessario disporre di una forma di trasporto che fornisca l'autenticazione dei dati. Se un utente malintenzionato modifica i file che stai scaricando, questo verrà notato. Usare una verifica della firma è meglio che usare una connessione HTTPS, perché rileverà un attacco al server da cui stai scaricando, non solo un attacco in transito.
Più precisamente, il flusso di dati (semplificato) per un pacchetto è il seguente:
HTTPS garantisce che il passaggio 4 si svolga correttamente. Le firme del pacchetto assicurano che i passaggi da 2 a 4 si svolgano correttamente.
In effetti, HTTPS presenta un piccolo vantaggio per il passaggio 4: le firme del pacchetto assicurano solo che il pacchetto sia autentico. Un utente malintenzionato nel passaggio 4 potrebbe impersonare un server legittimo e servire versioni obsolete del pacchetto. Ad esempio, l'attaccante potrebbe impedirti di scaricare eventuali aggiornamenti di sicurezza, nella speranza di sfruttare una vulnerabilità sul tuo computer che avresti patchato se non fosse stato per l'attacco. Questo non è uno scenario molto realistico, perché richiede un attaccante attivo (quindi dovrebbe essere qualcuno che controlla la tua connessione Internet), ma potrebbe accadere in linea di principio.
L'altro vantaggio di HTTPS sarebbe se stai cercando di nascondere il fatto che stai scaricando i pacchetti Ubuntu da qualcuno che fa la ficcanaso sulla tua connessione di rete. Anche in questo caso, l'ascoltatore poteva vedere a quale host ti stai collegando; se ti connetti a un mirror Ubuntu e scarichi centinaia di megabyte, è chiaro che stai scaricando i pacchetti Ubuntu. L'ascoltatore potrebbe anche principalmente capire quali pacchetti stai scaricando dalla dimensione dei file. Quindi HTTPS sarebbe utile solo se stai scaricando da un server che offre anche altri file di dimensioni simili - non vedo alcun punto tranne i pacchetti di terze parti, e solo in circostanze molto insolite.
Per ribadire: il solito vantaggio di HTTPS, ovvero che sai di essere connesso al vero server, è inutile quando scarichi i pacchetti Ubuntu. La verifica della firma sui pacchetti offre una garanzia più forte di quella che HTTPS può fornire.
apt-get update
avrebbe segnalato un errore quando si tentava di accedere ai collegamenti. Con ppas: lo stesso. Qualcuno l'ha provato?
archive.ubuntu.com
no . Puoi controllare nel tuo browser se un server lo supporta prefissando https: // all'URL e vedendo se ottieni un elenco di directory, ecc.
Con APT, in genere ciò che è più importante non è che la tua connessione sia crittografata, ma che i file che stai ricevendo non siano stati manomessi.
APT ha una verifica della firma integrata per garantire ciò.
La crittografia impedirebbe agli intercettatori di vedere ciò che stai scaricando, ma ciò che stai effettivamente scaricando (e richiedendo) è abbastanza controverso: sarà lo stesso di quello che stanno scaricando migliaia di altri utenti Ubuntu e i file non contengono nulla che non sia t liberamente disponibile su molti server. Tuttavia, se hai bisogno di privacy su quali pacchetti in particolare stai scaricando, puoi usare HTTPS (specificalo nel tuo elenco di fonti).
La verifica della firma integrata in APT assicurerà che i file ricevuti non siano stati manomessi. Non importa da dove provengono i file ed è anche possibile avere proxy o proxy inversi tra te e il server per ridurre il carico del server o accelerare. La verifica della firma garantisce comunque che stai ottenendo il file non modificato, abbinando la firma che potrebbe essere prodotta solo crittograficamente con il file originale e una copia della chiave privata di Ubuntu.
Se passi a HTTPS, non sarai in grado di sfruttare i server proxy per accelerare l'accesso o ridurre il carico. E non aggiungerebbe ulteriori garanzie di non manomissione che la verifica della firma di APT non fornisce già. Ciò significherebbe, tuttavia, che gli intercettatori (come il tuo ISP) non saranno in grado di vedere quali pacchetti stai scaricando (che non è probabile che siano confidenziali e, come ha sottolineato Gilles, potrebbero indovinare dalla dimensione del file).
apt update
e c'è un uomo nel mezzo che ti fornisce indici fasulli, apt prende felicemente qualunque cosa ti dia l'uomo nel mezzo e lo scrive in / var / lib / apt / lists. Questo non è solo con un uomo malvagio nel mezzo, ma come se tu fossi sul WiFi dell'hotel e venissi reindirizzato a una pagina di accesso, se corri apt update
prima di aver effettuato l'accesso, le tue liste / var / lib / apt / verranno spazzate via con l'homepage dell'hotel HTML. BOGUS! In ogni caso, il controllo del certificato TLS di base lo escluderebbe immediatamente.
Le versioni APT recenti hanno il supporto TLS integrato, quindi è sufficiente sostituire gli URL mirror del repository di pacchetti con https
quelli preimpostati. Per Debian, potrebbe apparire così:
deb https://deb.debian.org/debian/ stretch main
deb https://deb.debian.org/debian-security stretch/updates main
deb https://deb.debian.org/debian/ stretch-updates main
Questo è utile, anche se APT include il proprio protocollo di firma per garantire che i pacchetti non vengano manomessi, poiché possono esserci dei bug in APT (come sono stati: CVE-2016-1252 , CVE-2019-3462 ). I protocolli HTTP / TLS e le loro cifre sono soggetti a un attento controllo, quindi una grave vulnerabilità a zero-day è molto meno probabile se si aggiunge questo livello di sicurezza.
Penso che questa domanda potrebbe usare una risposta con le istruzioni per il profano, quindi ...
APT non utilizza ancora HTTPS per impostazione predefinita nelle build quotidiane di Ubuntu 19.10 (Eoan) (che è ancora in fase di sviluppo). È possibile verificarlo esaminando il file /etc/apt/sources.list e notando che tutti gli URL di origine utilizzano lo schema URL "http:".
Per configurarlo per utilizzare HTTPS, è possibile seguire le seguenti istruzioni:
Innanzitutto , trova un mirror dell'archivio Ubuntu ufficiale affidabile che supporti HTTPS:
Ad esempio, ritengo affidabile la Wikimedia Foundation, quindi ho visitato l' URL http://mirrors.wikimedia.org/ubuntu/ mirror e successivamente l'ho cambiato in https://mirrors.wikimedia.org/ubuntu/ , che si risolve correttamente.
Se usi Firefox (67.0.4) e l' estensione HTTPS Everywhere (2019.6.27) è installata con la funzione "Encrypt All Sites Eligible" abilitata (tramite il pannello dei pulsanti della barra degli strumenti), i passaggi (4) e (5) possono essere omessi perché l'estensione modificherà automaticamente l'URL per utilizzare HTTPS, consentendo a uno di determinare immediatamente se la versione "https:" dell'URL verrà risolta.
Due , aggiorna il tuo elenco di fonti APT:
sudo cp /etc/apt/sources.list /etc/apt/sources.list.backup
per eseguire il backup dell'elenco delle fonti di aggiornamento.sudo sed --in-place --regexp-extended 's http://(us\.archive\.ubuntu\.com|security\.ubuntu\.com) https://mirrors.wikimedia.org g' /etc/apt/sources.list
con l' URL di base del mirror del tuo mirror preferito e, quindi, esegui il comando.In terzo luogo , dovresti esaminare il contenuto della directory /etc/apt/sources.list.d/ per le fonti "http:" che potrebbero essere cambiate in "https:" dopo aver installato il software al di fuori dell'archivio Ubuntu.
Ad esempio, il pacchetto Codice Visual Studio di Microsoft aggiunge un file vscode.list a questa directory che specifica un URL "http:". La semplice modifica dello schema URL da "http:" a "https:" consente gli aggiornamenti su HTTPS.
Prendi in considerazione il backup di tali file di origine prima di modificarli.
Infine , esegui un aggiornamento per assicurarti che gli aggiornamenti funzionino correttamente:
sudo apt-get update
comando.sudo cp /etc/apt/sources.list.backup /etc/apt/sources.list
comando.Vale anche la pena notare che esiste un pacchetto apt-transport-https per aggiungere il supporto HTTPS ad APT. Tuttavia, questo pacchetto non è apparentemente necessario secondo la pagina web https://launchpad.net/ubuntu/eoan/+package/apt-transport-https e non è necessario dall'APT 1.5 secondo le informazioni mostrate dopo aver eseguito il comando apt-cache show apt-transport-https
.