[[Vorlage(getestet, general)]] {{{#!vorlage Wissen [:Terminal: Ein Terminal öffnen] }}} [[Inhaltsverzeichnis(1)]] Wenn man eine ISO-Datei von Ubuntu [:Downloads:heruntergeladen] hat, kann man die Korrektheit des Downloads mit Hilfe einer [:Hashfunktionen/#Pruefsummen: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 [:GnuPG:GPG]-Key zum Herunterladen an. Dieser kann anhand seines [:GnuPG/#Fingerprint-anzeigen: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: 1. Herunterladen der Prüfsummendatei und Prüfsummen-Signatur-Datei 1. Herunterladen der Ubuntu-Schlüssel vom Ubuntu-Schlüsselserver 1. Überprüfung der Schlüssel anhand der Signatur 1. Verifizieren der Signatur der Prüfsummendatei 1. Ü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: {{{#!vorlage Befehl cd ~/Downloads }}} {{{#!vorlage Befehl wget https://releases.ubuntu.com//SHA256SUMS https://releases.ubuntu.com//SHA256SUMS.gpg }}} Für `` setzt man entweder die Major-Versionsnummer oder den Codename der Ubuntu-Version ein, deren Abbilddatei man zuvor heruntergeladen hat. Beipsiel für Ubuntu 22.04 (Codename: jammy): {{{#!vorlage Befehl wget https://releases.ubuntu.com/jammy/SHA256SUMS https://releases.ubuntu.com/jammy/SHA256SUMS.gpg }}} oder {{{#!vorlage Befehl wget https://releases.ubuntu.com/22.04/SHA256SUMS https://releases.ubuntu.com/22.04/SHA256SUMS.gpg }}} ==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 `: {{{#!vorlage Befehl gpg -v --keyserver hkps://keyserver.ubuntu.com --search-keys 'Ubuntu CD Image Automatic Signing Key ' }}} Daraufhin erhält man eine Abfrage ähnlich der folgenden: {{{ gpg --keyserver hkps://keyserver.ubuntu.com --search-keys 'Ubuntu CD Image Automatic Signing Key ' gpg: data source: https://162.213.33.8:443 (1) Ubuntu CD Image Automatic Signing Key 3072 bit RSA key A6AD0893499AA841, erzeugt: 2021-04-25 (2) Ubuntu CD Image Automatic Signing Key 1024 bit DSA key 46181433FBB75451, erzeugt: 2004-12-30 (3) Ubuntu CD Image Automatic Signing Key (2012) 4096 bit RSA key D94AA3F0EFE21092, erzeugt: 2012-05-11 Keys 1-3 of 3 for "Ubuntu CD Image Automatic Signing Key ". 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 ". 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) " importiert gpg: Schlüssel 46181433FBB75451: Öffentlicher Schlüssel "Ubuntu CD Image Automatic Signing Key " importiert gpg: Schlüssel A6AD0893499AA841: Öffentlicher Schlüssel "Ubuntu CD Image Automatic Signing Key " 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: {{{#!vorlage Befehl gpg --check-sigs --with-fingerprint [mark]A6AD0893499AA841[/mark] [mark]46181433FBB75451[/mark] [mark]D94AA3F0EFE21092[/mark] }}} 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) sig!3 [mark]D94AA3F0EFE21092[/mark] 2012-05-11 Ubuntu CD Image Automatic Signing Key (2012) pub dsa1024 2004-12-30 [SC] C598 6B4F 1257 FFA8 6632 CBA7 4618 1433 FBB7 5451 uid [ unbekannt] Ubuntu CD Image Automatic Signing Key sig!3 [mark]46181433FBB75451[/mark] 2004-12-30 Ubuntu CD Image Automatic Signing Key pub rsa3072 2021-04-25 [SC] E378 D4AE 3F89 8232 2310 3642 A6AD 0893 499A A841 uid [ unbekannt] Ubuntu CD Image Automatic Signing Key sig!3 [mark]A6AD0893499AA841[/mark] 2021-04-25 Ubuntu CD Image Automatic Signing Key sub rsa3072 2021-04-25 [E] sig! A6AD0893499AA841 2021-04-25 Ubuntu CD Image Automatic Signing Key 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. {{{#!vorlage 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. {{{#!vorlage Befehl cd ~/Downloads ls \}}} }}} {{{#!vorlage Befehl 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) " [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. {{{#!vorlage 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/#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: {{{#!vorlage Befehl 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 * [https://tutorials.ubuntu.com/tutorial/tutorial-how-to-verify-ubuntu How to verify your Ubuntu download] {en} - Tutorial auf Ubuntu-Webseite * [https://keyserver.ubuntu.com] {en} - Öffentlicher Keyserver von Ubuntu #tag: Installation, Sicherheit, Ubuntu