Update des Passwort Hack Adminanmeldung.
Ich habe mich entschieden in zukünftigen LMO's das Passwort nicht mehr im Klartext zu speichern. Dazu habe ich ich die 4 Dateien, die für die Anmeldung des Administrators zuständig sind, geändert.
Zukünftig wird das Passwort in einer Neuinstallation, wenn der Webserver es zulässt, mit dem Passwordhash()
Argon2id verschlüsselt.
Sollte Dein Webserver dies noch nicht bereitstellen wird automatisch eine Klasse tiefer verschlüsselt, nämlich
bycrypt.
Hier mal eine Zusammenfassung:
Derzeit gilt Argon2id als der sicherste und beste Standard für das Hashing von Passwörtern. Er wurde speziell entwickelt, um Angriffe durch spezialisierte Hardware wie GPUs oder ASICs extrem teuer und ineffizient zu machen.
1. Platz: Argon2id (Der Goldstandard)
Argon2id ist der Gewinner der Password Hashing Competition.
- Vorteil: Er ist "memory-hard", benötigt also viel Arbeitsspeicher, was massiv parallele Angriffe (z.B. mit Grafikkarten) blockiert. Er bietet zudem Schutz gegen Side-Channel-Attacken.
2. Platz: bcrypt (Der bewährte Klassiker)
Bcrypt ist seit Jahrzehnten im Einsatz und gilt weiterhin als sehr sicher.
- Vorteil: Extrem gut untersucht und in fast jeder Umgebung verfügbar. Er ist resistent gegen Brute-Force, da er die Rechenzeit künstlich erhöht.
- Einschränkung: Er nutzt nur wenig Arbeitsspeicher, was ihn theoretisch anfälliger für spezialisierte Hardware-Angriffe macht als Argon2id.
DIe Funktion function loginAndUpgrade(), die ich in die lmo-admincheck_auth.php untergebracht habe, kümmert sich um die entsprechende Auswahl der Verschlüsselung.
Für diejenigen die sich für ein Update auf diesen Hack entscheiden, ändert sich überhaupt nichts.
Das Script erkennt automatisch wie die Passwörter vorhanden sind (Klartext, bycrypt oder Argon2id). Bei einer erfolgreichen Anmeldung wird das vorhandene Passwort auf den höchstmöglichen Hash verschlüsselt. Und entsprechend der Passwortwert in Deiner lmo-auth.php eingetragen.
Also zum Beispiel bei dem Standardbenutzer:
admin und dem Standardpasswort:
lmo steht bisher in der lmo-auth.php folgendes
Dort musst Du auch gar nichts ändern. Du überträgst die vier Dateien aus dem Hack und nach der erfolgreichen Anmeldung als Administrator wandelt das Skript automatisch den bisherigen Klartext Eintrag
in
Code: Alles auswählen
admin|$2y$10$uMQemLKvWFIrs6v.RJF1OO.HVCcm3MFJpBY7h1TTBh4EmBAFQ/LCG|2||0
für bycrypt Hash oder
Code: Alles auswählen
admin|$argon2id$v=19$m=65536,t=4,p=1$U29SeGtLSkNPSzZvQ0VkTg$O7HenhGveNryZsC/0z6j9cy/4Otr2Qv6PwQqT01daBI|2||0
für den Argon2id Hash um und trägt ihn in die Datei ein.
ACHTUNG
Solltest Du den ersten Hack schon durchgeführt haben, so ändert sich durch das Update gar nichts. Die erste Version dieses Hacks hat das Passwort bycrypt verschlüsselt. Auch dieses erkennt die neue Version und wandelt den Wert entsprechend nach einer erfolgreichen Anmeldung auf den nächst höheren PasswortHash Argon2id um.
Ohne das Du manuell (z.B. per FTP) auf die lmo-auth.php zugreifen musst.
Ich biete hier schon mal die 4 geänderten Dateien zum Download an. In zukünftigen LMO Versionen werden sie schon vorhanden sein.
LMO-Adminanmeldung.zip
Gruß Henshingly