m.ster
Goto Top

MD5 Checksum stimmt nicht überein

Moin zusammen,

wir haben auf unserer Homepage ein Software-ISO mit ca. 1,9 GB zum Download für unsere Kunden (meist Handwerker mit nur PC-Grundkenntnissen).

Nun bekommen wir immer häufiger Rückmeldungen, dass die von uns angegebene MD5 Checksum nicht übereinstimmt, wenn diese die mit WinMD5free gegenprüfen (Anleitung dazu ist online).

Wenn ich das dann bei mir runterlade und prüfe, passt alles. Aufgefallen ist mir, dass es sich um PCs mit Windows11 handelt. Ich hab hier ein älteres W11 auf einer VM und es damit getestet, auch i.O.

Jemand irgend eine Idee was das sein könnte? Oder auch ähnliche Erfahrungen gemacht?

Ich möchte eben ungern dass die Leute das installieren wenn die MD5 nicht übereinstimmt...

Danke für Euren Input

:: m.ster

Content-ID: 671677

Url: https://administrator.de/forum/md5-checksum-stimmt-nicht-ueberein-671677.html

Ausgedruckt am: 01.04.2025 um 02:04 Uhr

CamelCase
CamelCase 28.02.2025 um 10:06:14 Uhr
Goto Top
Moin,

wie sieht es denn aus wenn die Kunden die ISO nochmal herunterladen? gleiche (falsche) checksum?
mirdochegal
mirdochegal 28.02.2025 aktualisiert um 10:09:53 Uhr
Goto Top
Moin,

bekommen wir den Link? Dann könnten wir das auch mal gegenprüfen. Gerne via PN.

Ich möchte eben ungern dass die Leute das installieren wenn die MD5 nicht übereinstimmt...
Ich finde euer Vorgehen übrigens sehr löblich, und das Du dich damit befasst.

Gruß
kpunkt
kpunkt 28.02.2025 um 10:23:50 Uhr
Goto Top
Ist da evtl. FTP mit unterschiedlichen Transfer-Modi im Spiel? Ich denke, ich hätte da mal was gelesen, wenn ASCII und Binary verwendet werden, es da unterschiedliche Hashwerte gibt. Aber das war noch zu meinen FXP-pubstro-Zeiten
LordGurke
LordGurke 28.02.2025 um 10:42:10 Uhr
Goto Top
Stimmt denn nach dem Download die Dateigröße aufs Byte genau überein?
Ich habe z.B. bei IONOS eine zeitlang das Problem verfolgt, dass Downloads nach einer Gewissen Zeit abbrachen. Wenn der Anschluss der Kunden entsprechend langsamer ist als deiner, könnte dort einfach der Download abgebrochen sein.
m.ster
m.ster 28.02.2025 aktualisiert um 10:49:25 Uhr
Goto Top
also: ich hatte eben besagten Kunden selbst am Tel: dreimal runtergeladen, checksum stimmt nicht. dazu kommt:

w11 pro 24h2 lässt per smart app control nicht zu, dass das iso installiert wird / als Laufwerk eingebunden wird.

er meinte anstelle ISO ein ZIP machen, das würde wohl bei ihm funktionieren (er bekam ein Freigabelink von GoogleDrive mit den einzelnen Dateien und Verzeichnissen).
ThePinky777
ThePinky777 28.02.2025 aktualisiert um 11:19:33 Uhr
Goto Top
1
certutil -hashfile C:\Datei.iso" MD5  

was liefert der Befehl? >> im DOS
mirdochegal
mirdochegal 28.02.2025 aktualisiert um 11:29:21 Uhr
Goto Top
Eben geladen - Checksum passt hier. (Stumpf als Download über Edge; Win10(!); geladen)

Sowohl Ubuntu wie Windows geben mir den korrekten (wie angegebenen) Hash zurück.

adminde

Gruß
m.ster
m.ster 28.02.2025 aktualisiert um 11:31:03 Uhr
Goto Top
thx fürs testen.

ja eben, alle Downloads unter W10/7/Vista sind auch 1a, auch beim ersten W11 (Betriebsende erreicht) auf meiner VM . Nur ganz neue W11-Rechner zicken da wohl rum...
Die Frage ist halt: Liegts am Downloadvorgang vong Edge oder das was danach unter W11 passiert?
mirdochegal
mirdochegal 28.02.2025 um 11:31:51 Uhr
Goto Top
Super interessanter Fund meiner Ansicht nach. Ob MS da seine Fingerchen drin hat? Wie Du vermutest, SmartAppGedöhns?
m.ster
m.ster 28.02.2025 um 11:36:44 Uhr
Goto Top
mein aktuelles Fazit: ISO ist wohl nicht mehr ISO.

"Microsoft bewertet das Vertrauen einer Anwendung dabei basierend auf zwei Kriterien:

Überprüfung des digitalen Zertifikats der Anwendung
Nutzung der bereits vorliegenden Informationen zu der Anwendung"

(https://www.bsi.bund.de/DE/Service-Navi/Publikationen/Studien/SmartApp_C ..)

Wahrscheinlich muss man jetz ISO-Dateien auch noch digital zertifizieren... Und alles was man auf archive.org findet läuft dann nicht mehr unter W11???
DivideByZero
DivideByZero 28.02.2025 um 11:39:06 Uhr
Goto Top
Wird ein Problem beim Kunden sein. Ich würde da pragmatisch vorgehen und einfach beides anbieten, ISO als Download und ZIP als Download, beides mit Checksum, und dann den Problemkunden bitten, das mit der ZIP einmal zu testen. Wahrscheinlich(er), dass er da auch ein Problem hat.
m.ster
m.ster 28.02.2025 um 11:48:19 Uhr
Goto Top
separater ZIP-Download exklusiv nur für W11-Benutzer xDDD

... ja auf sowas wird es wohl rauslaufen müssen.

(Hätten die Leute noch DVD-Laufwerke in ihren Rechnern, könnt man sich den ganzen Aufwand sparen...)
CamelCase
CamelCase 28.02.2025 um 11:53:29 Uhr
Goto Top
Jetzt bin ich doch neugierig - kannst du mir den Link auch zuschicken? Habe 24H2 und andere Versionen zum Testen hier.
Michi91
Michi91 28.02.2025 um 12:00:04 Uhr
Goto Top
Wäre interessant zu sehen ob der Kunde bei ZIP auch falsche Checksummen hat?
m.ster
m.ster 28.02.2025 um 12:30:54 Uhr
Goto Top
da müsst ich ihn mal drauf ansprechen... was vorbereiten und dann kann er es ziehen und testen...
LordGurke
LordGurke 28.02.2025 um 13:00:06 Uhr
Goto Top
Du kannst mir den Link auch gerne mal schicken. Ich habe hier eine 100% Microsoft-Freie Umgebung und könnte damit als Kontrollgruppe dienen.
m.ster
m.ster 28.02.2025 aktualisiert um 14:12:29 Uhr
Goto Top
@LordGurke danke, es betrifft leider mit dem 11er virus microsoft-belastete Umgebungen ;)
aqui
aqui 28.02.2025 aktualisiert um 14:24:24 Uhr
Goto Top
Warum nimmst du überflüssigerweise ein externes Programm wenn das auf jedem PC mit simplen Winblows Bordmitteln zu machen ist. 🤔
certutil -hashfile <Pfad\Dateiname> MD5
Externe und auch noch überflüssige SW schafft ja auch wieder Sicherheitsprobleme gerade bei solcher Anwendung.
DivideByZero
DivideByZero 28.02.2025 um 22:41:57 Uhr
Goto Top
Zitat von @m.ster:

@LordGurke danke, es betrifft leider mit dem 11er virus microsoft-belastete Umgebungen ;)

es geht ja auch um eine Kontrollgruppe, um zu zeigen, wo es läuft (und nicht nur, wo es nicht läuft) 😉

Tippe aber weiterhin unabhängig davon, dass das ein spezifisches Problem eines Endusers ist.
m.ster
m.ster 03.03.2025 um 11:00:52 Uhr
Goto Top
@aqui weil wir es mit Handwerkern (der älteren Generation) zu tun haben und diese teils schon überfordert sind, wie man etwas herunterlädt und installiert oder was ein Update ist...

Ich habe es jetzt wirklich so gelöst, dass ich ein ZIP-File des ISO erstellt habe und dies alternativ zum Download anbiete.
m.ster
m.ster 06.03.2025 um 09:55:19 Uhr
Goto Top
Hi zusammen,

ich hatte den Kunden danach gebeten das ZIP herunterzuladen und nach der MD5 schauen. Und bäm, genau wieder dasselbe... Er hat mir aber diesmal per E-Mail nen Screenshot zukommen lassen:

unbenannt-ms

Da sieht man (links Kunde, rechts ich) dass die Dateigrösse nur halb so gross ist wie die des Original, der Download aber trotzdem als vollständig angezeigt wurde.

Beim Kunden handelt es sich um einen ca 2 Monate alten PC, also alles im aktuellsten Zustand.
aqui
aqui 06.03.2025 um 10:10:50 Uhr
Goto Top
…aber ggf. mit Virenbefall?!
m.ster
m.ster 06.03.2025 um 11:08:07 Uhr
Goto Top
deshalb steht direkt beim Download in der Download-Anleitung

Stimmen die Prüfsummen überein, erhalten Sie die Meldung "Matched!". Bei Abweichungen ("NOT Matched!") sollten Sie die Datei löschen.

mehr kann ich da dann auch nicht machen.

die Frage ist eben, was ist dafür die Ursache oder kann ausschlaggebend sein?

Denn eingrenzen lässt es sich zumindest schon auf

- es handelt sich um w11 pro 24h2 mit aktivierter smart app control, andere Systeme behandeln es korrekt
- dieselben Dateien über google drive gezippt und heruntergeladen, funktioniert.
DivideByZero
Lösung DivideByZero 06.03.2025 um 11:51:54 Uhr
Goto Top
Das klingt danach, als ob da irgendetwas auf dem System aktiv ist, was eingreift, kann auch ein spezielles Plugin, Antivirenprogramm oä sein, jedenfalls nichts auf Serverseite. Grundsätzlich nicht Euer Problem, aber wenn Ihr das aufklären wollt, müsst Ihr Euch das Endgerät mal ansehen.
m.ster
m.ster 06.03.2025 um 14:23:11 Uhr
Goto Top
Es ist ein typischer Handwerkerrechner, eigentlich nichts besonderes. Neuestes 11er und Office, nichts spezielles installiert. Aber vermutlich hängt das mit dem Smart App Control dann zusammen.

Vielleicht tritt es ja mal bei jemand von euch in der Runde auch auf.

Gelöst als ungelöst.
LordGurke
LordGurke 07.03.2025 um 00:19:44 Uhr
Goto Top
Ich biete mich gerne nochmal als Tester an — auch wenn ich unter Linux arbeite, ich bin Techniker in einem Rechenzentrum und vielleicht ist es auch eine harmlose Ursache.
LordGurke
Lösung LordGurke 07.03.2025 aktualisiert um 17:24:33 Uhr
Goto Top
Das Problem ist leicht reproduzierbar: Du musst nur mit ausreichend geringer Geschwindigkeit herunterladen (ich habe das jetzt mal mit 20 Mbps simuliert), dann bricht das ab und dann kann natürlich auch die Checksumme nicht stimmen.
Der Hintergrund dafür ist, dass die Datei über PHP ausgeliefert wird:
1
2
3
4
5
6
7
8
9
10
11
$ curl --head 'https://<redacted>/download?task=download.send&id=1&catid=2&m=0'  
HTTP/2 200 
server: nginx
date: Fri, 07 Mar 2025 16:10:21 GMT
content-type: application/octet-stream
x-powered-by: PHP/8.2.27          <-- Auslieferung durch PHP
cache-control: private, max-age=0, must-revalidate, no-store
content-disposition: attachment; filename="<redacted>.iso"  
x-content-type-options: nosniff
last-modified: Fri, 22 Sep 2023 10:48:18 GMT
x-powered-by: PleskLin

Zudem gibt es keinen "Content-Length:"-Header, in dem stünde, wie groß die Datei ist. Der Client weiß daher auch nicht, wann ein Download abbricht oder regulär zu Ende ist.

Lade ich mit den simulierten 20 Mbps herunter, bricht der Download nach exakt 9 Minuten ab, was vermutlich die maximal erlaubte Laufzeit für PHP-Scripte auf dem Server ist.
In der Zeit kann die Datei nicht vollständig übertragen werden, wenn die Geschwindigkeit eben zu niedrig ist. Der Client weiß allerdings auch nicht, dass der Download unvollständig ist, weil ihm nicht mitgeteilt wurde, wie groß die Datei sein müsste und zeigt deshalb auch keinen Fehler an.

1
2
3
4
5
6
7
8
9
10
11
$ wget 'https://<redacted>/download?task=download.send&id=1&catid=2&m=0' -O '<redacted>.iso-veryslowdownload' --limit-rate=2m  
--2025-03-07 13:47:50--  https://<redacted>/download?task=download.send&id=1&catid=2&m=0
Loaded CA certificate '/etc/ssl/certs/ca-certificates.crt'  
Connecting to <redacted> (<redacted>)|109.xxxxxxxx|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: unspecified [application/octet-stream]
Saving to: ‘<redacted>.iso-veryslowdownload’

<redacted>.iso-veryslowdown     [      <=>                                               ]   1.00G  2.00MB/s    in 8m 59s  

2025-03-07 13:56:50 (1.91 MB/s) - ‘<redacted>.iso-veryslowdownload’ saved [1079498752]

In den 08:59 Minuten, die der Download dauerte, habe ich nur knapp über 1 GiB herunterladen können. Es fehlen damit also 950 MiB gegenüber der originalen Datei.


Wer jetzt sagt: "So langsame Internetzugänge findet man doch kaum noch" – ältere Tarife haben teilweise nur 20 bis 25 Mbps und den Firmen reicht das vermutlich auch locker aus. Die laden damit ein paar E-Mails und sind zufrieden.


Wie stellt man das jetzt ab?
Ganz einfach: Nicht durch ein PHP-Script ausliefern lassen sondern mit einem direkten Link auf die Datei auf dem Server. Also klassisch per (S)FTP ein Verzeichnis anlegen, Datei hochladen, Link zu https://..../verzeichnis/datei.iso auf der Webseite setzen.

PHP-Scripte haben eine maximale Laufzeit, danach werden sie abgebrochen. Man kann an diesen Werten herumschrauben, aber es hat ja auch andererseits gute Gründe, warum Scripte eine Zeitbegrenzung für die Ausführung haben. Und der Download durch PHP erzeugt auch unnötig Last auf dem Server.
So wie ich das sehe, ergibt sich durch den Download durch dieses Script auch überhaupt kein Vorteil gegenüber einem direkten Downloadlink zu einer Datei auf dem Server. Ganz im Gegenteil sogar, denn der Server würde a) keine Beschränkung der Download-Dauer haben und b) sogar anbieten, abgebrochene Downloads wieder aufzunehmen.
DivideByZero
DivideByZero 07.03.2025 um 20:20:53 Uhr
Goto Top
Danke an LordGurke für die fundierte Stellungnahme und Lösung. Ist ja an sich mal wieder ein bisschen die Glaskugel gewesen, denn ich wäre nicht auf die Idee gekommen, dass eine x Gigabyte große Downloaddatei über Skripte läuft.

@to: Umstellen, wie von LordGurke bestens beschrieben, alles andere macht keinen Sinn.
Kodiak
Kodiak 09.03.2025 um 13:27:02 Uhr
Goto Top
Hallo,

@LordGurke: Sehr gute Darstellung und Lösung.

@m.ster:

Für eine einfache Hash-Prüfung ware "HashCheck Shell Extension" eine Alternative:
Original: code.kliu.org
Weiterentwicklung: github
Neben einer kleinen Installation (mit Neustart), ansonsten wesentlich flexibler und schneller.
Wenn Hash-Datei zum Download verfügbar, genügt ein Doppelklick darauf.

Gruß KoDiAk
m.ster
m.ster 10.03.2025 um 09:49:40 Uhr
Goto Top
vielen Dank euch allen, besonders @LordGurke !!!

Da muss man erstmal drauf kommen... jDownloads wird hier schon seit vielen Jahren eingesetzt, aber bisher eigentlich immer nur für kleinere Dinge wie PDFs oder Treiber...

Dann scheint Smart App Control nicht die Ursache zu sein oder bremst diese zusätzlich noch den Download runter?
m.ster
m.ster 10.03.2025 um 12:45:23 Uhr
Goto Top
gerade mal kurz Zeit gehabt... Es gibt in Joomla tatsächlich unter System > Konfiguration > jDownloads > Globale Einstellungen folgende Einstellmöglichkeit:

jdownl

Bei dem roten Text bin ich aber sowas von raus, da finde ich auch nicht wirklich was wo ich das einstellen könnte...
LordGurke
LordGurke 10.03.2025 um 13:17:07 Uhr
Goto Top
Ich bin jetzt auch kein Joomla-Profi, nehme aber mal an, dass die per .htaccess-Datei normalerweise verhindern, dass jemand direkt Dateien aus dem Verzeichnis abrufen kann, in dem die Downloads gespeichert werden.
Wenn man den Download per PHP-Script abschaltet, muss natürlich gleichzeitig dieser andere Zugriffsschutz auch abgeschaltet werden (wenn er überhaupt aktiviert ist).
Das dürfte vermutlich auch einfach so ein Schalter sein, in irgendeinem Tab der "Sicherheitsrelevante Einstellungen" heißt.
DivideByZero
DivideByZero 10.03.2025 um 22:09:55 Uhr
Goto Top
Einfach austesten, ob es läuft, wenn Du dem direkten Download zulässt. Wenn nicht, dann in dem Verzeichnis, wo die Datei zum Download liegt, die htaccess Datei prüfen (Aufbau: siehe Google)
m.ster
m.ster 11.03.2025 um 10:40:56 Uhr
Goto Top
ich hab eben mal den PHP-Download (s. letzter Screenshot) abgeschalten und getestet. Nun erscheint

nichtsicher

Ich denke ich muss wohl doch den direkten Download per Link machen. Dann fällt eben das schöne Datenfenster wo man die Anzahl der DLs sieht und auch bewerten kann weg :/
DivideByZero
DivideByZero 11.03.2025 um 14:23:15 Uhr
Goto Top
Wieso? Ist ja offensichtlich nur das Problem, dass per http:und nicht https: heruntergeladen wird. Also muss da entweder eine Einstellung sein, oder generell eine Einstellung in joomla, dass ausschließlich relative URLs + https + Zertifikat genutzt wird. Dann kommt da auch keine Fehlermeldung.
m.ster
m.ster 11.03.2025 um 14:44:49 Uhr
Goto Top
ich werd die Tage mal weitersuchen wenn ich wieder mehr Luft hab. Die Dokumentation hat auf die Schnelle auch nichts brauchbares ergeben...