Ubuntu-Downloads überprüfen
Dieser Artikel wurde für die folgenden Ubuntu-Versionen getestet:
Dieser Artikel ist größtenteils für alle Ubuntu-Versionen gültig.
Zum Verständnis dieses Artikels sind folgende Seiten hilfreich:
Wenn man eine ISO-Datei von Ubuntu heruntergeladen hat, kann man die Korrektheit des Downloads mit Hilfe einer Prüfsumme überprüfen, wobei im weiteren Verlauf dieses Artikels die SHA256 Prüfsumme genutzt wird. Über die Prüfsumme wird festgestellt, ob z.B. Übertragungsfehler aufgetreten sind ("bit flip"). Allerdings garantiert die Prüfsumme alleine nicht, dass es sich um die original ISO-Datei von Ubuntu handelt. Hätte sich z.B. jemand Zugang zum Download-Server verschafft und die ISO-Dateien manipuliert, so wäre es ein Leichtes auch die Prüfsumme entsprechend anzupassen, so dass diese zur manipulierten ISO-Datei passt.
Für diesen Zweck bietet Ubuntu seinen offiziellen GPG-Key zum Herunterladen an. Dieser kann anhand seines Fingerprints über eine HTTPS-verschlüsselte Webseite geprüft werden. Mit diesem sicheren GPG-Key wird dann die Prüfsummendatei verfiziert.
Die Kette zum Überprüfen der ISO-Datei sieht wie folgt aus:
Herunterladen der Prüfsummendatei und Prüfsummen-Signatur-Datei
Herunterladen der Ubuntu-Schlüssel vom Ubuntu-Schlüsselserver
Überprüfung der Schlüssel anhand der Signatur
Verifizieren der Signatur der Prüfsummendatei
Überprüfung der ISO-Datei
Voraussetzungen¶
Es wird das Kommandozeilenprogramm gpg benötigt, welches aber bei Ubuntu standardmäßig bereits installiert ist. Sollte das Programm fehlen, ist die Installation auf der Seite GnuPG beschrieben. Dort findet man auch weitere Informationen rund um das Programm und GPG.
Vorgehen¶
Herunterladen der Prüfsummendatei und Prüfsummen-Signatur-Datei¶
Nach dem Herunterladen der ISO-Datei lädt man zusätzlich aus dem gleichen Server-Verzeichnis die beiden Dateien SHA256SUMS und SHA256SUMS.gpg in den gleichen Ordner herunter, in dem zuvor die Abbilddatei geladen wure. In der Regel ist das also das Downloads-Verzeichnis:
Man öffnet ein Terminal[1] und gibt die folgenden Befehle ein:
cd ~/Downloads
Ubuntu und Ubuntu Server Edition¶
wget https://releases.ubuntu.com/<release>/SHA256SUMS https://releases.ubuntu.com/<release>/SHA256SUMS.gpg
Für <release>
setzt man entweder die Major-Versionsnummer oder den Codename der Ubuntu-Version ein, deren Abbilddatei man zuvor heruntergeladen hat. Beispiel für Ubuntu 22.04 (Codename: jammy):
wget https://releases.ubuntu.com/jammy/SHA256SUMS https://releases.ubuntu.com/jammy/SHA256SUMS.gpg
oder
wget https://releases.ubuntu.com/22.04/SHA256SUMS https://releases.ubuntu.com/22.04/SHA256SUMS.gpg
Ubuntu Derivate¶
Hat man sich eine Abbilddatei eines der Ubuntu/Derivate wie z.B. Kubuntu heruntergeladen, so folgt der Download-Link für die Prüfsummen- und Prüfsummen-Signatur-Datei einem abweichenden Schema:
wget https://cdimage.ubuntu.com/<Derivats-Name>/releases/<release>/release/SHA256SUMS https://cdimage.ubuntu.com/<Derivats-Name>/releases/<release>/release/SHA256SUMS.gpg
Also z.B. für Kubuntu 22.04:
wget https://cdimage.ubuntu.com/kubuntu/releases/jammy/release/SHA256SUMS https://cdimage.ubuntu.com/kubuntu/releases/jammy/release/SHA256SUMS.gpg
oder
wget https://cdimage.ubuntu.com/kubuntu/releases/22.04/release/SHA256SUMS https://cdimage.ubuntu.com/kubuntu/releases/22.04/release/SHA256SUMS.gpg
Hinweis:
Es ist wichtig, dass man die zur jeweilig heruntergeladenen Abbilddatei passende Prüfsummen- und Prüfsummen-Signatur-Datei herunterlädt! Andernfalls kann die Verifizierung im letzten Schritt nicht gelingen. Die hier im Artikel angegeben Links sind exemplarisch und können zukünftig auch einem anderen Schema folgen. Im Zweifel erfährt man den richtigen Download-Link, indem man in der Donwloadtabelle der Downloadseite auf den Link Prüfsumme klickt. In der sich dann öffnenden Seite sieht man in der Browser-Adress-Zeile dann auch den Link für die Prüfsummen-Datei. Der Link für die Prüfsummen-Signatur-Datei unterscheidet sich dann nur noch durch die angehängte Erweiterung .gpg.
Die Prüfsummen-Datei SHA256SUMS muss immer den exakten Namen der heruntergeladenen Abbilddatei enthalten! Hier das Beispiel für Kubuntu 22.04.3:
9a5ea3b4ae6651cf0cd82ec059e3e5c8d8b30006112ff06555acb35e45571f50 *kubuntu-22.04.3-desktop-amd64.iso
Herunterladen der Ubuntu-Schlüssel vom Ubuntu-Schlüsselserver¶
Nun sucht man auf dem Ubuntu-Hockeypuck-Keyserver hkps://keyserver.ubuntu.com
nach den verfügbaren Signaturschlüsseln für das Ubuntu-Abbild und import diese dann in GnuPG. Dazu verwendet man die folgende Such-Phrase: Ubuntu CD Image Automatic Signing Key <cdimage@ubuntu.com>
:
gpg -v --keyserver hkps://keyserver.ubuntu.com --search-keys 'Ubuntu CD Image Automatic Signing Key <cdimage@ubuntu.com>'
Daraufhin erhält man eine Abfrage ähnlich der folgenden:
gpg --keyserver hkps://keyserver.ubuntu.com --search-keys 'Ubuntu CD Image Automatic Signing Key <cdimage@ubuntu.com>' gpg: data source: https://162.213.33.8:443 (1) Ubuntu CD Image Automatic Signing Key <cdimage@ubuntu.com> 3072 bit RSA key A6AD0893499AA841, erzeugt: 2021-04-25 (2) Ubuntu CD Image Automatic Signing Key <cdimage@ubuntu.com> 1024 bit DSA key 46181433FBB75451, erzeugt: 2004-12-30 (3) Ubuntu CD Image Automatic Signing Key (2012) <cdimage@ubuntu.com> 4096 bit RSA key D94AA3F0EFE21092, erzeugt: 2012-05-11 Keys 1-3 of 3 for "Ubuntu CD Image Automatic Signing Key <cdimage@ubuntu.com>". Eingabe von Nummern, Nächste (N) oder Abbrechen (Q) >
Man kann die Schlüssel nun herunterladen und importieren, indem man die Abfrage mit 1,2,3
beantwortet, was dann bei obigem Beispiel zu der folgenden Ausgabe führt:
Keys 1-3 of 3 for "Ubuntu CD Image Automatic Signing Key <cdimage@ubuntu.com>". Eingabe von Nummern, Nächste (N) oder Abbrechen (Q) > 1,2,3 gpg: Schlüssel D94AA3F0EFE21092: Öffentlicher Schlüssel "Ubuntu CD Image Automatic Signing Key (2012) <cdimage@ubuntu.com>" importiert gpg: Schlüssel 46181433FBB75451: Öffentlicher Schlüssel "Ubuntu CD Image Automatic Signing Key <cdimage@ubuntu.com>" importiert gpg: Schlüssel A6AD0893499AA841: Öffentlicher Schlüssel "Ubuntu CD Image Automatic Signing Key <cdimage@ubuntu.com>" importiert gpg: Anzahl insgesamt bearbeiteter Schlüssel: 3 gpg: importiert: 3
Überprüfung der Schlüssel anhand der Signatur¶
Im nächsten Schritt muss die Signatur der Schlüssel geprüft werden:
gpg --check-sigs --with-fingerprint A6AD0893499AA841 46181433FBB75451 D94AA3F0EFE21092
Ist alles korrekt, bekommt man ausgehend vom obigen Beispiel die folgende Rückmeldung:
pub rsa4096 2012-05-11 [SC] 8439 38DF 228D 22F7 B374 2BC0 D94A A3F0 EFE2 1092 uid [ unbekannt] Ubuntu CD Image Automatic Signing Key (2012) <cdimage@ubuntu.com> sig!3 D94AA3F0EFE21092 2012-05-11 Ubuntu CD Image Automatic Signing Key (2012) <cdimage@ubuntu.com> pub dsa1024 2004-12-30 [SC] C598 6B4F 1257 FFA8 6632 CBA7 4618 1433 FBB7 5451 uid [ unbekannt] Ubuntu CD Image Automatic Signing Key <cdimage@ubuntu.com> sig!3 46181433FBB75451 2004-12-30 Ubuntu CD Image Automatic Signing Key <cdimage@ubuntu.com> pub rsa3072 2021-04-25 [SC] E378 D4AE 3F89 8232 2310 3642 A6AD 0893 499A A841 uid [ unbekannt] Ubuntu CD Image Automatic Signing Key <cdimage@ubuntu.com> sig!3 A6AD0893499AA841 2021-04-25 Ubuntu CD Image Automatic Signing Key <cdimage@ubuntu.com> sub rsa3072 2021-04-25 [E] sig! A6AD0893499AA841 2021-04-25 Ubuntu CD Image Automatic Signing Key <cdimage@ubuntu.com> gpg: 4 korrekte Signaturen
Wichtig ist, dass der Wert der jeweiligen Signaturen genau übereinstimmt!
Verifizieren der Signatur der Prüfsummendatei¶
Jetzt kann die Signatur der Prüfsummendatei gegen die soeben importierten Ubuntu-Schlüssel gegengeprüft werden.
Hinweis:
Da es sich bei SHA256SUMS.gpg und SHA256SUMS um Dateien handelt, muss der Befehl gpg
in dem Verzeichnis ausgeführt werden, in dem die beiden Dateien liegen. Standardmäßig liegen heruntergeladene Dateien im Verzeichnis Downloads, daher ist gegebenenfalls noch der Wechsel dahin mittels cd notwendig. Mit ls prüfen, ob die Dateien SHA256SUMS.gpg und SHA256SUMS zu sehen sind.
cd ~/Downloads ls
gpg --verify SHA256SUMS.gpg SHA256SUMS
gpg: Signatur vom Do 11 Aug 2022 13:07:33 CEST gpg: mittels RSA-Schlüssel 843938DF228D22F7B3742BC0D94AA3F0EFE21092 gpg: Korrekte Signatur von "Ubuntu CD Image Automatic Signing Key (2012) <cdimage@ubuntu.com>" [unbekannt] gpg: WARNUNG: Dieser Schlüssel trägt keine vertrauenswürdige Signatur! gpg: Es gibt keinen Hinweis, daß die Signatur wirklich dem vorgeblichen Besitzer gehört. Haupt-Fingerabdruck = 8439 38DF 228D 22F7 B374 2BC0 D94A A3F0 EFE2 1092
Wichtig ist hier die Zeile "gpg: Korrekte Signatur von ... ", welche die Integrität der Datei SHA256SUMS bestätigt.
Hinweis:
Die Warnung gpg: WARNUNG: Dieser Schlüssel trägt keine vertrauenswürdige Signatur!
bezieht sich auf die zuvor vom Ubuntu-Keyserver heruntergeladene Schlüssel-Datei(en). Sie besagt, dass man dieser Datei bisher noch nicht das Vertrauen ausgesprochen hat, indem man sie mit einem eigenen privaten PGP-Schlüssel unterzeichnet hat. Siehe dazu GnuPG/Web of Trust (Abschnitt „Signieren-von-fremden-Schluesseln“). Das ist aber für die Signatur-Prüfung an dieser Stelle zu vernachlässigen.
Überprüfung der ISO-Datei¶
Im letzten Schritt wird dann die Prüfsumme der heruntergeladenen ISO-Datei mit der Prüfsummendatei verglichen:
sha256sum --check --ignore-missing SHA256SUMS
Die Ausgabe für z.B. die ISO-Datei ubuntu-22.04.1-desktop-amd64.iso sollte so aussehen:
ubuntu-22.04.1-desktop-amd64.iso: OK
Der Ausführung des Befehls kann je nach Rechnergeschwindigkeit ein wenig dauern. Wichtig ist die Ausgabe "... OK". Erscheint diese nicht, stimmt die Prüfsumme der geprüften ISO-Datei nicht, so dass entweder ein Download-Fehler oder eine manipulierte ISO-Datei vorliegt.
Links¶
Downloads - Ubuntu-Downloads
Hashfunktionen - Grundlagen zur Verwendung von Hashalgorithmen
How to verify your Ubuntu download 🇬🇧 - Tutorial auf Ubuntu-Webseite
https://keyserver.ubuntu.com 🇬🇧 - Öffentlicher Keyserver von Ubuntu