Hat apt-get
https oder irgendeine Art von Verschlüsselung verwenden? Gibt es eine Möglichkeit, es zu konfigurieren, um es zu verwenden?
Hat apt-get
https oder irgendeine Art von Verschlüsselung verwenden? Gibt es eine Möglichkeit, es zu konfigurieren, um es zu verwenden?
Antworten:
apt-get
(und andere Paketmanipulationsbefehle, die ein Front-End für dieselben APT-Bibliotheken sind) können HTTP, HTTPS und FTP (und bereitgestellte Dateisysteme) verwenden. Wenn Sie https://
URLs in /etc/apt/sources.list
und angeben /etc/apt/sources.list.d/*
, verwendet APT HTTPS.
APT überprüft die Signatur von Paketen. Sie benötigen also kein Transportmittel, das die Datenauthentifizierung ermöglicht. Wenn ein Angreifer die heruntergeladenen Dateien ändert, wird dies bemerkt. Die Verwendung einer Signaturüberprüfung ist besser als die Verwendung einer HTTPS-Verbindung, da dadurch ein Angriff auf den Server erkannt wird, von dem Sie herunterladen, und nicht nur ein Angriff während der Übertragung.
Genauer gesagt ist der (vereinfachte) Datenfluss für ein Paket wie folgt:
HTTPS stellt sicher, dass Schritt 4 korrekt ausgeführt wird. Die Paketsignaturen stellen sicher, dass die Schritte 2 bis 4 korrekt ausgeführt werden.
Tatsächlich hat HTTPS für Schritt 4 einen kleinen Vorteil: Die Paketsignaturen stellen nur sicher, dass das Paket authentisch ist. Ein Angreifer in Schritt 4 könnte sich als legitimer Server ausgeben und veraltete Versionen des Pakets bereitstellen. Beispielsweise könnte der Angreifer verhindern, dass Sie Sicherheitsupdates herunterladen, um eine Sicherheitsanfälligkeit auf Ihrem Computer auszunutzen, die Sie ohne den Angriff gepatcht hätten. Dies ist kein sehr realistisches Szenario, da dafür ein aktiver Angreifer erforderlich ist (das müsste also jemand sein, der die Kontrolle über Ihre Internetverbindung hat), dies kann jedoch grundsätzlich passieren.
Der andere Vorteil von HTTPS wäre, wenn Sie versuchen, die Tatsache zu verbergen, dass Sie Ubuntu-Pakete von jemandem herunterladen, der auf Ihrer Netzwerkverbindung herumschnüffelt. Sogar dann konnte der Lauscher sehen, zu welchem Host Sie eine Verbindung herstellen. Wenn Sie eine Verbindung zu einem Ubuntu-Spiegel herstellen und Hunderte von Megabyte herunterladen, ist es klar, dass Sie Ubuntu-Pakete herunterladen. Der Lauscher kann auch anhand der Größe der Dateien herausfinden, welche Pakete Sie herunterladen. HTTPS wäre also nur dann nützlich, wenn Sie von einem Server herunterladen, der auch andere Dateien ähnlicher Größe anbietet. Ich sehe keinen Grund, außer für Pakete von Drittanbietern, und dies nur unter sehr ungewöhnlichen Umständen.
Um es noch einmal zu wiederholen: Der übliche Vorteil von HTTPS, dass Sie wissen, dass Sie mit dem realen Server verbunden sind, ist nutzlos, wenn Sie Ubuntu-Pakete herunterladen. Die Signaturprüfung auf Paketen bietet eine stärkere Garantie als HTTPS bieten kann.
apt-get update
Beim Versuch, auf die Links zuzugreifen , wurde ein Fehler gemeldet. Mit ppas: das gleiche. Hat es jemand ausprobiert?
archive.ubuntu.com
tut es nicht . Sie können in Ihrem Browser überprüfen , ob ein Server unterstützt durch https prefixing: // auf die URL und zu sehen , wenn Sie eine Liste von Verzeichnissen etc.
Bei APT ist es in der Regel wichtiger, dass Ihre Verbindung nicht verschlüsselt ist, sondern dass die empfangenen Dateien nicht manipuliert wurden.
APT verfügt über eine integrierte Signaturüberprüfung, um dies sicherzustellen.
Die Verschlüsselung würde verhindern, dass Lauscher sehen können, was Sie herunterladen, aber was Sie tatsächlich herunterladen (und anfordern), ist ziemlich unumstritten: Es wird dasselbe sein, wie Tausende anderer Ubuntu-Benutzer herunterladen und die Dateien enthalten nichts, was nicht vorhanden ist. Auf vielen Servern frei verfügbar. Wenn Sie jedoch den Datenschutz für die Pakete benötigen, die Sie herunterladen, können Sie HTTPS verwenden (geben Sie dies in Ihrer sources.list an).
Die in APT integrierte Signaturüberprüfung stellt sicher, dass die empfangenen Dateien nicht manipuliert wurden. Es spielt keine Rolle, woher die Dateien kommen, und es ist sogar möglich, Proxys oder Reverse-Proxys zwischen Ihnen und dem Server zu haben, um die Serverlast zu verringern oder die Geschwindigkeit zu erhöhen. Die Signaturüberprüfung stellt weiterhin sicher, dass Sie die unveränderte Datei erhalten, die der Signatur entspricht, die nur mit der Originaldatei und einer Kopie des privaten Schlüssels von Ubuntu kryptografisch erstellt werden konnte.
Wenn Sie zu HTTPS wechseln, können Sie Proxyserver nicht mehr nutzen, um den Zugriff zu beschleunigen oder die Last zu reduzieren. Und es würde keine Sicherheit mehr gegen Manipulationen geben, die die Signaturprüfung von APT noch nicht bietet. Dies würde jedoch bedeuten, dass Lauscher (wie Ihr ISP) nicht sehen können, welche Pakete Sie herunterladen (was wahrscheinlich nicht vertraulich ist und wie Gilles darauf hinwies, anhand der Dateigröße erraten werden kann).
apt update
und ein Mann in der Mitte Ihre falschen Indizes füttern, nimmt apt glücklich das, was der Mann in der Mitte Ihnen gibt, und schreibt es in / var / lib / apt / lists. Dies gilt nicht nur für einen bösen Mann in der Mitte, sondern auch, wenn Sie im Hotel-WLAN sind und auf eine Anmeldeseite umgeleitet werden. Wenn Sie apt update
vor dem Anmelden ausgeführt werden , werden Ihre / var / lib / apt / -Listen verworfen mit der hotel homepage HTML. BOGUS! Grundlegende TLS-Zertifizierungsprüfungen würden dies jedoch sofort ausschließen.
In neueren APT-Versionen ist TLS-Unterstützung integriert, sodass Sie einfach die Spiegel-URLs Ihres Paket-Repositorys durch https
vorab festgelegte URLs ersetzen müssen. Für Debian könnte es so aussehen:
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
Dies ist nützlich, obwohl APT ein eigenes Signaturprotokoll enthält, um sicherzustellen, dass Pakete nicht manipuliert werden, da es in APT Fehler geben kann (wie bisher: CVE-2016-1252 , CVE-2019-3462 ). Die HTTP / TLS-Protokolle und ihre Verschlüsselungen werden einer eingehenden Prüfung unterzogen, sodass eine schwerwiegende Zero-Day-Sicherheitsanfälligkeit viel weniger wahrscheinlich ist, wenn Sie diese Sicherheitsstufe hinzufügen.
Ich denke, diese Frage könnte eine Antwort mit Anweisungen für den Laien gebrauchen, also ...
APT verwendet immer noch nicht standardmäßig HTTPS in täglichen Builds von Ubuntu 19.10 (Eoan) (das sich noch in der Entwicklung befindet). Sie können dies überprüfen, indem Sie die Datei /etc/apt/sources.list untersuchen und feststellen, dass alle Quell-URLs das URL-Schema "http:" verwenden.
Um es für die Verwendung von HTTPS zu konfigurieren, können Sie die folgenden Anweisungen befolgen:
Erstens , einen vertrauenswürdige offiziellen Ubuntu - Archiv Spiegel finden , die HTTPS unterstützt:
Zum Beispiel halte ich die Wikimedia Foundation für vertrauenswürdig, so dass ich die URL http://mirrors.wikimedia.org/ubuntu/ mirror besuchte und sie anschließend in https://mirrors.wikimedia.org/ubuntu/ änderte , was sich erfolgreich auflöst.
Wenn Sie Firefox (67.0.4) verwenden und die Erweiterung HTTPS Everywhere (2019.6.27) mit aktivierter Funktion "Alle berechtigten Sites verschlüsseln" (über die Symbolleistenschaltfläche) installiert haben, können die Schritte (4) und (5) weggelassen werden Da die Erweiterung die URL automatisch so ändert, dass sie HTTPS verwendet, kann sofort festgestellt werden, ob die "https:" - Version der URL aufgelöst wird.
Zweitens , aktualisieren Sie Ihre APT-Quellenliste:
sudo cp /etc/apt/sources.list /etc/apt/sources.list.backup
, um die Liste der Update-Quellen zu sichern.sudo sed --in-place --regexp-extended 's http://(us\.archive\.ubuntu\.com|security\.ubuntu\.com) https://mirrors.wikimedia.org g' /etc/apt/sources.list
durch die Spiegelbasis- URL Ihres bevorzugten Spiegels, und führen Sie dann den Befehl aus.Drittens sollten Sie den Inhalt des Verzeichnisses /etc/apt/sources.list.d/ auf "http:" - Quellen untersuchen, die nach der Installation von Software von außerhalb des Ubuntu-Archivs möglicherweise in "https:" geändert werden.
Beispielsweise fügt das Visual Studio Code-Paket von Microsoft diesem Verzeichnis eine vscode.list-Datei hinzu, die eine "http:" - URL angibt. Durch einfaches Ändern des URL-Schemas von "http:" in "https:" können Aktualisierungen über HTTPS vorgenommen werden.
Ziehen Sie in Betracht, solche Quelldateien zu sichern, bevor Sie sie ändern.
Führen Sie zuletzt ein Update durch, um sicherzustellen, dass die Updates ordnungsgemäß funktionieren:
sudo apt-get update
Befehl aus.sudo cp /etc/apt/sources.list.backup /etc/apt/sources.list
Befehls erstellten Sicherungsquelllistendateien wieder her .Es ist auch erwähnenswert, dass es ein apt-transport-https- Paket gibt, um APT HTTPS-Unterstützung hinzuzufügen. Dieses Paket ist laut der Webseite https://launchpad.net/ubuntu/eoan/+package/apt-transport-https jedoch anscheinend nicht erforderlich und wird seit APT 1.5 nicht mehr benötigt, wie nach Ausführung des Befehls angegeben apt-cache show apt-transport-https
.