Wenn wir eine GNU/Linux-Distribution herunterladen, ist es üblich, die Erstellen Sie ein ISO-Image und beginnen Sie mit der Erstellung des bootfähigen USB-Laufwerks. Ohne groß darüber nachzudenken, was unterwegs passiert sein könnte. Die Wahrheit ist: Auch wenn oft nichts schiefgeht, vertrauen wir blind darauf, dass die ISO-Datei legitim ist. Dass niemand sie verändert hat und der Download nicht beschädigt wurde.
Wenn wir von einem kompletten Betriebssystem sprechen, ändert sich die Situation. Es handelt sich um große Dateien, deren Download lange dauert, und vor allem … Ein Fehler oder eine Manipulation im ISO kann das gesamte Team gefährden.Deshalb ist es in der Linux-Welt so üblich (und so empfehlenswert), die Integrität und Authentizität von ISO-Dateien mithilfe von Prüfsummen und GPG-Signaturen zu überprüfen, bevor man sie auf eine DVD brennt oder auf einen USB-Stick schreibt.
Was bedeutet es, eine ISO-Zertifizierung zu überprüfen: Integrität und Authentizität?
Bei der Überprüfung eines ISO-Standards führt man nicht nur eine einzige Prüfung durch, sondern zwei unterschiedliche Prüfungen, die nicht vermischt werden dürfen: die Dateiintegrität und die Authentizität ihres UrsprungsDie Integritätsprüfung gibt an, ob die ISO-Datei auf Ihrer Festplatte bitgenau mit der auf dem Server vorhandenen übereinstimmt. Die Authentizitätsprüfung gibt an, ob diese ISO-Datei und ihre Prüfsummen tatsächlich von dem Projekt stammen, das sie repräsentieren sollen.
Die Integrität wird durch eine Hash-Funktion (Prüfsumme) berechnet für die gesamte DateiWenn das Ergebnis auf Ihrem Computer mit dem vom Distributor veröffentlichten Ergebnis übereinstimmt, bedeutet dies, dass die ISO-Datei beim Herunterladen nicht verändert oder bei der Lagerung beschädigt wurde.
Die Authentizität wird bestätigt durch GPG-digitale Signaturen mit den öffentlichen Schlüsseln der Entwickler verknüpftIn der Praxis signiert die Distribution die Datei, die die Prüfsummen enthält (z. B. SHA256SUMS), und Sie überprüfen, ob diese Signatur dem offiziellen Projektschlüssel entspricht und nicht verändert wurde.
Obwohl viele Nutzer lediglich die MD5- oder SHA-Prüfsumme prüfen und sie für gültig halten, könnten Angreifer, falls der Download-Server kompromittiert wurde, auch... Ersetzen Sie die ISO-Datei und veröffentlichen Sie eine gefälschte Prüfsumme.Daher gehört es zu den bewährten Verfahren, auch die GPG-Signatur der Summendatei zu überprüfen.

Was ist eine Prüfsumme und wozu wird sie in ISO-Dateien verwendet?
Eine Prüfsumme ist das Ergebnis der Anwendung einer Prüfsumme auf eine Datei. kryptografische Hash-Funktion, die eine eindeutige Zeichenkette erzeugt für diesen Inhalt. Diese Zeichenkette wird üblicherweise hexadezimal dargestellt (Zeichen 0-9 und af) und hat eine feste Länge, unabhängig von der Größe der Originaldatei.
Im Kontext von GNU/Linux-Distributionen werden Prüfsummen verwendet, um Überprüfen Sie, ob sich die Daten seit der Veröffentlichung des Bildes durch das Projekt nicht geändert haben.Wenn zwei Dateien mit demselben Algorithmus denselben Hashwert erzeugen, gelten sie (in der Praxis) als identisch. Stimmen die Hashwerte nicht überein, genügt ein einziges abweichendes Bit, um den Wert vollständig zu verändern und das Problem aufzudecken.
Es gibt viele Hash-Algorithmen, aber die, die am häufigsten im Zusammenhang mit ISOs verwendet werden, sind: MD5, SHA-1 und die SHA-2-Familie (SHA-256, SHA-384, SHA-512…)Auf den Downloadseiten für Debian, Ubuntu, Fedora oder andere Distributionen werden oft neben den ISOs auch Dateien mit Namen wie MD5SUMS, SHA1SUMS oder SHA256SUMS angeboten.
Das Verfahren ist einfach: Sie laden die ISO-Datei und ihre Hash-Datei herunter, berechnen den ISO-Hash auf Ihrem Rechner und Sie überprüfen, ob das Ergebnis mit dem in der Prüfsummendatei veröffentlichten Wert übereinstimmt.Wenn es übereinstimmt, können Sie mit ziemlicher Sicherheit davon ausgehen, dass das Bild nicht beschädigt oder abgeschnitten ist.
MD5 wird heute als Algorithmus betrachtet. Für anspruchsvolle Sicherheitsanwendungen veraltetDa in der Praxis Kollisionen festgestellt wurden, ist es dennoch für grundlegende Integritätsprüfungen nützlich. Bei großen Downloads, insbesondere ISO-Dateien, empfiehlt sich die Verwendung von … SHA-256, das derzeit empfohlene Standard ist. in den meisten Verbreitungen.
Dateitypen, die Sie beim Herunterladen einer ISO-Datei finden.
Beim Herunterladen einer Distribution vom offiziellen Server findet man üblicherweise neben dem eigentlichen Image eine Reihe zusätzlicher Dateien. Jede dieser Dateien hat ihren Zweck, und es ist wichtig zu wissen, wozu sie dienen. Welche Funktion erfüllt jeder Dateityp und in welchem Zusammenhang steht er mit der Verifizierung? was du tun wirst.
Sie finden üblicherweise etwas in dieser Art (die Namen können je nach Distribution leicht variieren):
- Distributionsname-Version-Architektur.isoDas Image selbst, das Sie auf einen USB-Stick oder eine DVD brennen. Zum Beispiel ubuntu-20.04-desktop-amd64.iso, das die Distribution, Version, Edition (Desktop/Server) und Architektur angibt.
- MD5SUMSEine Textdatei, die eine Liste der MD5-Hashes für die in diesem Verzeichnis verfügbaren Bilder enthält. Jede Zeile ordnet einen Hash einem Dateinamen zu.
- MD5SUMS.gpgDie GPG-Signatur der MD5SUMS-Datei wurde mit dem Entwicklerschlüssel erstellt. Sie dient der Überprüfung, ob die MD5-Hash-Datei tatsächlich aus dem Projekt stammt und nicht verändert wurde.
- SHA256SUMS: Entspricht MD5SUMS, verwendet aber den SHA-256-Algorithmus. Diese Datei sollten Sie priorisieren, falls sie verfügbar ist.
- SHA256SUMS.gpg: SHA256SUMS GPG digitale Signatur, die zur Gewährleistung der Authentizität verwendet wird.
In manchen Distributionen findet man auch SHA1SUMS-, SHA512SUMS- oder ähnliche Dateien. Sie alle folgen demselben Prinzip: eine Liste von Summen und optional eine zugehörige GPG-Signatur So können Sie überprüfen, ob die Liste nicht manipuliert wurde.
Wenn Sie die ISO-Datei nicht über HTTP/HTTPS herunterladen, sondern über Bei BitTorrent integrieren die meisten Clients bereits ein Verifizierungssystem. Die interne Verarbeitung basiert auf Bruchstücken und Teilhashes, wodurch die Wahrscheinlichkeit einer beschädigten ISO-Datei stark reduziert wird. Um jedoch absolute Sicherheit hinsichtlich der Authentizität zu gewährleisten, empfiehlt es sich, die GPG-Signatur der Hash-Datei zu überprüfen.
Wie Hashfunktionen funktionieren (MD5, SHA-1, SHA-256…)
Auf praktischer Ebene müssen Sie die Mathematik hinter Hashes nicht verstehen, aber es ist hilfreich, ein paar grundlegende Konzepte zu erfassen, um ein klares Verständnis zu erlangen. Warum sind sie so nützlich zum Überprüfen von ISOs?Eine kryptografische Hash-Funktion nimmt eine Datei beliebiger Größe entgegen und gibt eine Zeichenkette fester Länge zurück; die Änderung eines einzigen Bits der Datei führt zu einem völlig anderen Hashwert.
Zu den Anforderungen an eine gute Hash-Funktion gehört, dass sie in gewisser Hinsicht einfach zu berechnen ist, aber praktisch unmöglich zu investierendass es sehr schwierig ist, zwei verschiedene Dateien mit demselben Hashwert zu finden (Kollision) und dass es resistent gegen Versuche ist, bösartigen Inhalt zu erzeugen, der zu einem bestimmten Hashwert passt.
MD5 war jahrelang der De-facto-Standard für diese Art der Verifizierung, aber Fortschritte in der Kryptographie haben gezeigt, dass Es ist möglich, verschiedene Dateien mit demselben MD5-Hash zu erstellen.Obwohl dies in einigen Projekten weiterhin gängige Praxis ist, wird aus Sicherheitsgründen empfohlen, robustere Algorithmen zu verwenden.
SHA-1 verbesserte einige Schwächen von MD5, es wurden jedoch auch Kollisionsprobleme festgestellt, und es wird als Nicht geeignet für neue Implementierungen, die hohe Sicherheitsanforderungen stellen.Die SHA-2-Familie (insbesondere SHA-256) bietet derzeit das ausgewogenste Verhältnis zwischen Sicherheit und Leistung bei der ISO-Verifizierung.
In der Praxis empfiehlt es sich, wenn die Distribution mehrere Summendateien anbietet, eine davon auszuwählen. SHA-256 oder SHA-512 als erste OptionVerwenden Sie SHA-1 nur dann, wenn es keine andere Möglichkeit gibt, und beschränken Sie MD5 auf eine einfache Integritätsprüfung, wenn Sie keine Alternative haben.
Linux-Tools zum Berechnen und Überprüfen von Prüfsummen
Die gute Nachricht ist, dass Sie nichts Ungewöhnliches installieren müssen: Die meisten modernen GNU/Linux-Distributionen enthalten diese bereits. Befehlszeilenprogramme zum Berechnen und Überprüfen von HashwertenDiese Tools sind üblicherweise Bestandteil von coreutils oder anderen Basispaketen.
Die am häufigsten anzutreffenden Befehle sind:
- md5sumBerechnet und überprüft MD5-Summen.
- sha1sumBerechnet und überprüft SHA-1-Summen.
- sha256sumBerechnet und überprüft SHA-256-Summen.
- sha512sumBerechnet und überprüft SHA-512-Summen.
Die Verwendung ist sehr einfach. Um den Hashwert einer bestimmten Datei zu berechnen, führen Sie einfach den folgenden Befehl im Terminal aus, und zwar in dem Verzeichnis, in dem sich die ISO-Datei befindet:
cd Descargas
sha256sum nombre-de-tu-imagen.iso
Der Befehl gibt eine Zeile mit dem Hashwert und dem Dateinamen aus, die Sie mit dem auf der Website veröffentlichten Wert vergleichen können. Falls Sie MD5 oder SHA-1 bevorzugen, Das Befehlsformat ist identisch, nur das Dienstprogramm ändert sich. (md5sum, sha1sum, sha512sum…).
Zusätzlich zur Berechnung einzelner Hashwerte ermöglichen diese Tools die gleichzeitige Überprüfung mehrerer Dateien mithilfe der Prüfmodus mit der Option -cHier kommt die MD5SUMS- oder SHA256SUMS-Datei ins Spiel, die Sie zusammen mit den ISOs heruntergeladen haben.
Überprüfung der Integrität einer ISO-Datei mithilfe von Summendateien
In einem typischen Szenario laden Sie sowohl das ISO-Image als auch die zugehörige SHA256SUMS-Datei (und, falls verfügbar, MD5SUMS- oder SHA1SUMS-Datei) von der offiziellen Website der Distribution herunter. Die Struktur dieser Datei ist sehr einfach: Jede Zeile enthält einen Hashwert, ein Leerzeichen, optional ein Sternchen oder ein weiteres Leerzeichen sowie den Dateinamen.
Um die ISO-Datei mit der Summendatei zu vergleichen, müssen Sie lediglich in den Ordner wechseln, in dem sich die ISO-Datei befindet. sowohl das Bild als auch die SHA256SUMS-Datei und führen Sie aus:
sha256sum -c SHA256SUMS
Das Hilfsprogramm durchläuft alle SHA256SUMS-Zeilen und vergleicht den lokal berechneten Hashwert jeder aufgelisteten Datei mit dem im Dokument. Wenn alles in Ordnung ist, wird etwa Folgendes angezeigt:
nombre-distro.iso: OK
Im Falle von Abweichungen, sei es aufgrund einer beschädigten ISO-Datei oder weil Die Datei stimmt nicht mit der Summenliste überein.Sie werden Meldungen wie diese sehen:
nombre-distro.iso: FAILED
sha256sum: WARNING: 1 computed checksum did NOT match
Das gleiche Verfahren gilt für MD5 und SHA-1, indem man das entsprechende Tool und die entsprechende Datei verwendet, zum Beispiel:
md5sum -c MD5SUMS
sha1sum -c SHA1SUMS
Diese Vorgehensweise ist besonders praktisch, wenn mehrere ISO-Dateien oder mehrere Dateien gleichzeitig heruntergeladen werden, denn Sie können alle Dateien gleichzeitig mit einem einzigen Befehl überprüfen. Das System zeigt Ihnen an, welche den Test bestanden haben und welche nicht.
GPG-Signaturen: Überprüfung der Echtheit der Summen
Bislang haben wir nur über Integrität gesprochen, aber die zweite Komponente fehlt: Stellen Sie sicher, dass die Summendatei tatsächlich aus dem Projekt stammt. und nicht von jemandem, der den Server kompromittiert hat. Hier kommt GnuPG (gpg) ins Spiel, das Standardwerkzeug für die Public-Key-Kryptographie in GNU/Linux.
Die meisten großen Distributionen signieren ihre Prüfsummendateien (z. B. SHA256SUMS.gpg) mit einem privaten Schlüssel der Entwickler. Sie als Benutzer laden diese Signatur herunter und verwenden sie. den öffentlichen Schlüssel des Projekts zur Überprüfung dass die SHA256SUMS-Datei nicht verändert wurde.
Der typische Arbeitsablauf bei einer Distribution wie Ubuntu wäre folgender, sobald gpg installiert ist und man sich im Download-Verzeichnis befindet:
gpg --keyid-format long --verify SHA256SUMS.gpg SHA256SUMS
Wenn auf Ihrem Computer der öffentliche Ubuntu-Schlüssel bereits korrekt importiert und als vertrauenswürdig eingestuft wurde, zeigt gpg eine entsprechende Meldung an. gültige Signatur und SchlüsselkennungEs kommt aber sehr häufig vor, dass beim ersten Ausführen die Meldung erscheint, dass der öffentliche Schlüssel nicht bekannt ist.
In diesem Fall wäre der nächste Schritt, den öffentlichen Schlüssel von einem vertrauenswürdigen Schlüsselserver zu importieren. Unter Ubuntu könnte man beispielsweise folgendermaßen vorgehen:
gpg --keyid-format long --keyserver hkp://keyserver.ubuntu.com --recv-keys 0xD94AA3F0EFE21092
Dadurch wird der Schlüssel mit der angegebenen Kennung vom offiziellen Schlüsselserver heruntergeladen. Nach dem Import führen Sie den Befehl zur Signaturverifizierung erneut mit SHA256SUMS aus und sollten nun eine Signatur erhalten. Bestätigung, dass die Unterschrift korrekt ist und ist mit dem Schlüssel „Ubuntu CD Image Automatic Signing Key (2012)“ verknüpft. "oder eine andere, ähnliche, je nach Distribution."
GPG kann Warnungen wie „Es gibt keinen Hinweis darauf, dass die Signatur dem Inhaber gehört“ anzeigen, was im Grunde bedeutet, dass Sie haben diesen Schlüssel nicht als absolut vertrauenswürdig gekennzeichnet.Es handelt sich nicht um einen schwerwiegenden Fehler: Solange Sie auf anderem Wege (offizielle Website, Dokumentation usw.) überprüft haben, dass der Fingerabdruck des Schlüssels mit dem vom Projekt angegebenen übereinstimmt, können Sie fortfahren.
Praktisches Beispiel: Überprüfung eines aktuellen Ubuntu-ISO-Images
Um dies besser zu verstehen, stellen Sie sich vor, Sie laden eine Ubuntu-ISO-Datei (beispielsweise eine aktuelle LTS-Version) von der offiziellen Website herunter. Auf dieser Seite finden Sie Links zur ISO-Datei, zur SHA256SUMS-Datei und deren SHA256SUMS.gpg-Signatur – alle im selben oder einem nahegelegenen Verzeichnis.
Die zu befolgenden Schritte wären im Wesentlichen die folgenden:
Zuerst Laden Sie die passende ISO-Datei für Ihre Architektur herunter. (zum Beispiel das 64-Bit-AMD64-Desktop-Image), zusätzlich zu den SHA256SUMS- und SHA256SUMS.gpg-Dateien, die dieser Version entsprechen.
Als Nächstes würden Sie, nachdem gpg auf Ihrem System installiert wurde, die Signatur der Summendatei wie folgt überprüfen:
gpg --keyid-format long --verify SHA256SUMS.gpg SHA256SUMS
Falls gpg meldet, dass der Schlüssel nicht gefunden werden kann, können Sie ihn von einem mit dem Projekt verknüpften Schlüsselserver abrufen, indem Sie einen Befehl ähnlich dem folgenden ausführen:
gpg --keyid-format long --keyserver hkp://keyserver.ubuntu.com --recv-keys 0xD94AA3F0EFE21092
Sobald der Schlüssel importiert und die SHA256SUMS-Dateisignatur validiert wurde, können Sie die ISO-Datei anhand dieser Liste überprüfen:
sha256sum -c SHA256SUMS
Der Befehl prüft alle Einträge und zeigt für jede aufgelistete Datei eine Meldung an. Für die neu heruntergeladene ISO-Datei sollte etwa Folgendes angezeigt werden: „ubuntu-XX.XX-desktop-amd64.iso: Summe der Übereinstimmungen“ oder „OK“, womit bestätigt wird, dass das lokale Image exakt mit dem von den Entwicklern veröffentlichten Image übereinstimmt.
Manuelle Überprüfung einer einzelnen Prüfsumme
Manchmal ist die vollständige Summendatei nicht vorhanden oder auf der Downloadseite wurde nur ein einzelner Hashwert angegeben. In diesem Fall können Sie auch die „klassische“ Verifizierung durchführen. die lokale Prüfsumme berechnen und manuell vergleichen mit dem veröffentlichten Wert.
Stellen Sie sich vor, Sie haben ein Red Hat ISO-Image heruntergeladen und die Website zeigt nur den SHA-1-Hash dieses Images an. Führen Sie in Ihrem Arbeitsverzeichnis folgenden Befehl aus:
sha1sum redhat7-x64.iso
Der Befehl gibt etwa Folgendes zurück:
2ac2f3368e6c9fe4d7201d85ad85528698aeaf08 redhat7-x64.iso
Von da an müssen Sie nur noch Vergleichen Sie visuell oder durch Kopieren/Einfügen des Hashwerts. Vergleichen Sie den Dateinamen mit dem auf der Website oder in der heruntergeladenen Textdatei angegebenen Namen. Stimmen die Namen zeichengenau überein, ist die Datei intakt; andernfalls müssen Sie sie erneut herunterladen.
Mehrere ISOs gleichzeitig prüfen
Es gibt Situationen, in denen Sie mehrere Images gleichzeitig herunterladen möchten (z. B. verschiedene Versionen oder Architekturen) und diese nicht einzeln überprüfen wollen. Glücklicherweise werden diese in MD5SUMS-, SHA1SUMS- oder SHA256SUMS-Dateien üblicherweise zusammengefasst. alle Summen eines Verzeichnisses in einem einzigen DokumentDamit Sie die Massenverifizierung in einem Schritt durchführen können.
Angenommen, Sie haben sechs verschiedene ISO-Dateien in einem Ordner und haben die MD5SUM-, SHA1SUM- und SHA256SUM-Dateien heruntergeladen. Für MD5-Prüfungen würden Sie etwa so vorgehen:
md5sum -c MD5SUM
Die Ausgabe listet jede ISO-Datei zusammen mit „OK“ oder „FEHLGESCHLAGEN“ auf, je nachdem, ob die Summe übereinstimmt oder nicht. Dasselbe gilt für SHA-1 und SHA-256, nur mit anderem Tool und anderer Datei:
sha1sum -c SHA1SUM
sha256sum -c SHA256SUM
Sollten Sie jemals absichtlich eine ISO-Datei verändern oder sollte diese aufgrund eines Festplattenausfalls beschädigt werden, werden Sie feststellen, dass Nur dieser spezifische Eintrag ist als FEHLGESCHLAGEN markiert Solange alles andere in Ordnung ist, werden Sie von den Programmen mit einer Meldung wie „WARNUNG: 1 berechnete Prüfsumme stimmt NICHT überein“ darauf hingewiesen, dass etwas schiefgelaufen ist.
Wie Sie Ihre eigenen Prüfsummendateien erstellen
Neben der Überprüfung der Beiträge anderer können Sie auch eigene Prüfsummendateien erstellen, wenn Sie ISO-Dateien oder andere Dateitypen mit mehreren Personen teilen möchten. Es ist genauso einfach wie die Verwendung derselben Tools, aber Umleitung der Standardausgabe in eine Datei die Sie dann zusammen mit den Downloads hochladen können.
Wenn Sie beispielsweise mehrere ISO-Images in einem Verzeichnis vorbereitet haben und daraus eine MD5SUM-Datei erstellen möchten, können Sie folgendermaßen vorgehen:
md5sum *.iso > MD5SUM
Der Befehl scannt alle ISO-Dateien im Ordner und speichert die Liste der Hashwerte und Namen in der Datei MD5SUM. Analog dazu können Sie Dokumente mit SHA-1 oder SHA-256 erstellen:
sha1sum *.iso > SHA1SUM
sha256sum *.iso > SHA256SUM
Durch die Veröffentlichung dieser Verifizierungsdateien zusammen mit Ihren Dateien kann jeder sie ausführen. md5sum -c, sha1sum -co sha256sum -c Überprüfen Sie, ob die Downloads erfolgreich waren und ob die Dateien während der Übertragung verändert wurden.
Wenn Sie noch einen Schritt weiter gehen und Echtheitsgarantien anbieten möchten, könnten Sie sogar Diese Summendateien digital signieren Sie verwenden Ihren eigenen GPG-Schlüssel, ähnlich wie es bei größeren Projekten üblich ist. So kann jeder, der das Material erhält, nicht nur die Vollständigkeit der Daten überprüfen, sondern auch, ob sie tatsächlich von Ihnen stammen.
Sich die Gewohnheit anzueignen, vor der Installation einer Linux-Distribution Prüfsummen und GPG-Signaturen zu überprüfen, nimmt nur sehr wenig Zeit in Anspruch und bietet im Gegenzug eine wichtige Sicherheitsebene, da Installationen mit beschädigten oder manipulierten ISOs verhindert werden und Probleme erkannt werden können, bevor sie den Computer beeinträchtigen.
