loginPassword bei Update Servern verschluesselt ablegen

  • Mir ist gerade beim testen aufgefallen, dass jenes Passwort vom WoltLab Store (oder anderen Paket-Servern) im Klartext in der Datenbank steht wenn man es "speichert".

    Eventuell kan man ja das Password dort ebenso verschluesseln und salten, sowie das mit der wcf_user tabelle gemacht wird.


    Andernfalls sollte man den Nutzer zumindestens darauf hinweisen, das jenes gespeicherte Passwort von der Form als Klartext im der Datenbank landet.

    Gemeint sind folgende Felder:


    Man braucht zwar einen entsprechenden Datenbank Zugriff um dort hin zu kommen, sollte dieser aber aus irgendwelchen Gruenden abhanden kommen, haette man dann auch theoretisch Zugriff auf WoltLab Accounts bzw. Accounts bei anderen Foren oder eben API Zugriff.



    Regards,


    Alexander

    Kinds Regards,


    Alexander / Aebian

  • Ein Verschlüsseln ist nicht sinnvoll, da die Software das Passwort dann selbstständig wieder entschlüsseln können müsste, um sich gegenüber den Paketservern authentifizieren zu können. Das ist demnach keine sinnvolle Verschlüsselung, wenn der Schlüssel auf demselben System liegt.

  • Eigentlich ist ja mal vorausgesetzt gewesen, dass jeder, der im Internet etwas betreibt, auch Ahnung davon haben sollte.

    Heutzutage sollte Verschlüsselung Allgemeinbildung sein.

    Wenn man also entsprechend weiß was man tut und wie so eine Software bzw. ein Login-Mechanismus funktioniert, weiß man, dass der Sender dem Empfänger etwas im Klartext übergeben muss. Sei es daß Passwort oder ein Hash des Passworts. Speicherst du nur den Hash, musst du den Hash senden, der Empfänger gleicht diesen 1:1 mit seinem Hash ab. Man merkt also, man kann auch einfach ein Passwort nehmen, weil dieses auch 1:1 abgeglichen wird. Verschlüsselt man das Passwort mit einem Schlüssel, der auf dem Server liegt, kann man es sich sparen. Verschlüsselt man das Passwort mit einem Schlüssel, der nicht auf dem Server liegt, kann der Server keine automatisierten Abfragen stellen, da immer eine Benutzereingabe erforderlich ist.

  • da die Software das Passwort dann selbstständig wieder entschlüsseln können müsste

    Ist doch genauso beim Login an die Software. Password liegt verschluesselt in der Datenbank und ich gebe beim Login mein Password als Klartext an.


    Das ist demnach keine sinnvolle Verschlüsselung, wenn der Schlüssel auf demselben System liegt

    Es ist aber auch nicht Sinn des Erfinders, sensible Daten unverschluesselt in einer Datenbank zu haben.


    Man merkt also, man kann auch einfach ein Passwort nehmen, weil dieses auch 1:1 abgeglichen wird

    Naja, das man eventuell am Paket-Server ebenso etwas anpassen muss habe ich ja nicht ausgeschlossen.

    Nehmen wir mal an, du hast deinen Account "MysteryCode" aus welchem Grund auch immer in den Update Server Settings gespeichert.


    Nun hat ein boeser User Zugriff auf deine Datenbank erhalten ohne dein Wissen. Er guckt nun in genau der oben genannten Tabelle nach, loggt sich in deinen WoltLab Account ein und aendert alle Daten inkl. umbennenen deines Accounts.


    Waere das Passwort verschluesselt gewesen waere ein Login auf der Webseite als User nicht moeglich gewesen.

    Der Unterschied ist, dass die Paket-Server API natuerlich dann so gebaut ist, dass einige Sachen nicht zugelassen werden. Zum Beispiel das umbennen deines Accounts, aendern der Daten. Dies ist ja gar nicht notwendig, da du ja nur Updates bekommen sollst.


    Verschlüsselt man das Passwort mit einem Schlüssel, der nicht auf dem Server liegt, kann der Server keine automatisierten Abfragen stellen, da immer eine Benutzereingabe erforderlich ist.

    Besser immer um das Password fragen, als es unverschluesselt ab zu legen.


    Die Seriennummer kann man übrigens unter Lizenz > Details jederzeit neu generieren.

    Richtig, es wird allerdings nach Username + Password gefragt, also keiner Serien Nummer.

    Kinds Regards,


    Alexander / Aebian

    • Official Post

    Richtig, es wird allerdings nach Username + Password gefragt, also keiner Serien Nummer.

    Alle unsere Paketserver akzeptieren die Eingabe von Lizenz- und Seriennummer zur Authentifizierung. Ich bin mir sogar relativ sicher, dass wir den Text eigentlich geändert haben, mal schauen…

    Alexander Ebert
    Senior Developer WoltLab® GmbH

  • Das selbe hast du übrigens auch wenn du die Mails per SMTP verschickst. Da steht das Passwort auch als Klartext in der Datenbank.

    Luca heißt mein 🐶 👀 Den könnt ihr hier nicht besuchen 🤷‍♂️ Das ist mein 🐶 den ich nicht mit Fremden wie euch teile☝️

  • Ist doch genauso beim Login an die Software. Password liegt verschluesselt in der Datenbank und ich gebe beim Login mein Password als Klartext an.

    Das ist nicht genauso. Dein unverschlüsseltes Passwort wird nirgendwo gespeichert, sondern nach deiner Eingabe mit demselben Algorithmus verarbeitet als bei der Registrierung und dann der jeweilige Hash verglichen. Dadurch wird nie dein Passwort irgendwo im Klartext gespeichert, weil es immer wieder abgefragt wird.


    Bei den Paketservern wird es aber nicht immer wieder abgefragt und muss daher irgendwo gespeichert werden.

  • dann würde ich sagen der alten Regel und unzähligen Empfehlungen zu folgen, die Accounts auf den Seiten in unregelmäßigen Abständen mit neuen Passwörtern aktualisieren, da ist eine Sache von wenigen klicks ..


    also auf den Seien wo du den Zugriff benötigst, vorzugsweise merkt man sich Passwörter, wenn man das nicht kann, gibt es noch immer die Möglichkeit einen Zettel / Block - was auch immer man zur Hand hat, in der Nähe vom PC gelagert mit den Passwörtern zu füttern die man sich nicht merken kann


    Der Vorteil ist, Papier ist geduldig und vor allem nicht zu Hacken, auch für die wildesten und besten Hacker der Welt ist es unmöglich über den Router / Server an Papier auf dem Schreibtisch zu kommen ;)


    dann muss man eben, wenn einen das stört, alle 12 std. oder wenn man es mag auch öfter das Passwort wechseln. Das verhindert zwar keine unerlaubten Zugriffe und kein Hacking der Server auf die man Zugriffen wollte, aber dafür wiederum sind ja dann die Server-Betreiber verantwortlich und nicht der der sich darauf anmelden wollte, wenn sich der Angreifer gerade vordrängelt um an die Daten zu kommen


    Sicher ist beim Surfen übrigens nur 1 Sache und das ist offline bleiben - dann passiert nichts was nicht wünschenswert wäre, jedenfalls nicht durch den Einfluss Dritter ;) Ein PC kann trotz allem abrauchen und Hard- und Softwarefehler sind ja deswegen trotzdem möglich, aber dann immerhin nicht durch Dritte verursacht ;)

    Hunde die bellen, beißen nicht? -> nun, ich bin kein Hund. -> Ich belle nicht. - Ich Beiße! 8o

  • Black Rider ich würde es eher als exakt das gleiche definieren. Er als Person ist der Sender und das WSC der Empfänger. Und bei ihm ist das Passwort (im Kopf oder im Passwort-Manager) unverschlüsselt gespeichert - letztendlich ist irgendwas auf dem Weg zum unverschlüsselten Passwort immer unverschlüsselt, da es einen Startpunkt geben muss.

  • also auf den Seien wo du den Zugriff benötigst, vorzugsweise merkt man sich Passwörter, wenn man das nicht kann, gibt es noch immer die Möglichkeit einen Zettel / Block - was auch immer man zur Hand hat, in der Nähe vom PC gelagert mit den Passwörtern zu füttern die man sich nicht merken kann

    Fuer sowas nutzt man einen Password Manager wie Bitwarden oder so. Ich glaube kaum das du dir Passwoerter mit folgendem Schema merkst:

    Die Zeit wo man sich Passwoerter noch auf Zettel aufschreibt sollte pase ein und waere mir auch ehrlich zum umstaendlich.

    Selbst meine Mutter mit 54 Jahren versteht das und nutzt sogar einen Password Manager.


    Vorallem was machst du wenn du schnell mal auf einem Mobil-Geraet dich irgendwo einloggen willst, schreibst du dann aus dem Buch das Password einfach ab jedes mal? Wuerde mich Wahnsinnig machen :P



    Alle unsere Paketserver akzeptieren die Eingabe von Lizenz- und Seriennummer zur Authentifizierung. Ich bin mir sogar relativ sicher, dass wir den Text eigentlich geändert haben, mal schauen…

    Ja wenn das der Fall ist macht natuerlich die Aussage von -chris- Sinn und wuerde sogar die bessere Loesung sein.


    Das ist nicht genauso. Dein unverschlüsseltes Passwort wird nirgendwo gespeichert, sondern nach deiner Eingabe mit demselben Algorithmus verarbeitet als bei der Registrierung und dann der jeweilige Hash verglichen. Dadurch wird nie dein Passwort irgendwo im Klartext gespeichert, weil es immer wieder abgefragt wird.

    Danke fuer die Aufklaerung, dann macht das vermutlich beim Paket-Server keinen Sinn, da man ja dann trotzdem immer wieder das Passwort eingeben muss, sofern man bezwecken will nur 1x das Passwort eintragen zu muessen.


    Jetzt macht das Ganze Konstrukt mehr Sinn und der Vorschlag hier dann tatsaechlich weniger.

    Kann man dann als Erledigt markieren denke ich. Der einzige Punkt waere dann noch der Text in der UI, aber Alexander meinte ja bereits, dass dieser bereits geaendert sein muesste. Eventuell in einer neuen Version dann ^^


    Danke euch fuer die ganzen Antworten.

    Kinds Regards,


    Alexander / Aebian


  • da ist schon klar das die Entwickler der Browser Zugriff auf ihre Programme haben?


    Passwort-Manager nutze ich nicht, ist mir bei der Geschwindigkeit der Updates und der ulkigen Ladezeit die diese Browserupdates haben bevor die Installation überhaupt startet .. wie soll ich sagen ich bin da echt misstrauisch und einem Browser die Verwaltung von sensiblen Daten wie Passwörtern überlassen, warum dann überhaupt Passwörter verwenden?


    abgesehen davon "wissen wie es geht" ist klasse, auch in dem Alter deiner Mutter, schon nicht schlecht technisch auf dem Stand zu sein, aber das Vertrauen in diese Technik habe ich zumindestens nicht, abgesehen davon hat mein Mobil-Gerät noch Sprachfunktion und SMS, kein WA - Twitter - FB-App etc. daher ist auch keine App auf dem Nokia3510i, die dem Anbieter meine Passwörter frei zur Verfügung stellt ...


    "frei zur Verfügung stellen ist Blödsinn, die Anbieter sind verpflichtet .." nak nak, "arme kleine Gak Gak", wie Wuk sagen würde .. Vertrauen ist gut, kontrollierbare Ablage haben ist besser und wie gesagt es führt nichts dran vorbei Hacksicher ist nur offline ;)

    Hunde die bellen, beißen nicht? -> nun, ich bin kein Hund. -> Ich belle nicht. - Ich Beiße! 8o

  • Selbst meine Mutter mit 54 Jahren versteht das


    Da wird sie ja dankbar sein, dass Du ihr das zugestehst und nicht schon einen Platz im Heim für Demenzerkrankungen für sie reserviert hast. Ab wann gilt für Dich eigentlich jemand als potentiell mental eingeschränkt?





    Gruß norse

    Zugang zu meinen Arbeiten und dem dazugehörigen Support bekommt Ihr bei Interesse hier.

  • Entwickler der Browser Zugriff auf ihre Programme haben

    Wenn ich nach diesem Schema fahren wuerde, muesste ich ja komplett das Internet surfen einstellen.

    Ich muss halt darauf vertrauen, dass der Browser meine Eingaben nicht mitliest und an Microsoft und Co. weiterleitet.


    Bitwarden kann man z.B. auch selbst hosten (was ich z.B. tuhe) wenn man einem Cloudanbieter nicht vertraut. Ist aber jedem seine Entscheidung.


    Da wird sie ja dankbar sein, dass Du ihr das zugestehst und nicht schon einen Platz im Heim für Demenzerkrankungen für sie reserviert hast. Ab wann gilt für Dich eigentlich jemand als potentiell mental eingeschränkt?

    Sorry norse, aber das hat nichts mit Demenz zu tun. Ich wollte damit nur verdeutlichen, dass es kein keine wirkliche Huerde gibt solch einen Password Manager zu nutzen und auch bereits aeltere Personen dies ohne Probleme lernen koennen.


    Damals war sowas nicht existent und es gibt auch Personen die keine Ahnung von dieser Materie haben und es auch gar nicht wollen.

    Aber wir schweifen vom Thema ab. Vorschlag ist imho nicht notwendig. Kann also archiviert werden.

    Kinds Regards,


    Alexander / Aebian

  • Passwortmanager benutze ich grundsätzlich nicht und das Passwort für den Zugang zu den Paket-Servern zu speichern, halte ich nicht für notwendig.

    Gruß Markus


    WoltLab Suite 5.3.14

  • Ich habe die Antwort vorhin tatsächlich übersehen oder sie war erst nachträglich da…


    Naja, das man eventuell am Paket-Server ebenso etwas anpassen muss habe ich ja nicht ausgeschlossen.

    Nehmen wir mal an, du hast deinen Account "MysteryCode" aus welchem Grund auch immer in den Update Server Settings gespeichert.

    Mein WoltLab-Account-Passwort ist faktisch in meinen Instanzen hinterlegt. Dieses Passwort wird für den Store-Updateserver benötigt.


    Nun hat ein boeser User Zugriff auf deine Datenbank erhalten ohne dein Wissen. Er guckt nun in genau der oben genannten Tabelle nach, loggt sich in deinen WoltLab Account ein und aendert alle Daten inkl. umbennenen deines Accounts.

    1. Wenn ein böser Benutzer Zugriff auf meine Datenbank bekommt, habe ich meinen Job nicht richtig gemacht und potenziell andere Probleme als einen Account bei WoltLab.
    2. Bin ich mir sicher, dass WoltLab hier durchaus mit sich reden lässt und das Konto in den alten Zustand zurückversetzt. Der alte Benutzername ist ja einige Zeit gespeichert. WoltLab hat zum Kauf eine ladungsfähige Adresse sowie eine E-Mail-Adresse von mir. Es ist also relativ einfach nachweisbar, dass ich den Account mal besessen habe zumal das vermutlich früher oder später jemandem auffällt.
    3. Habe ich hier und in allen Instanzen, in denen das möglich ist einen zweiten Faktor aktiviert. Wenn ich dir also jetzt mein Passwort gebe, wirst du damit reichlich wenig anfangen können.
    4. Mit dem User/Passwort kommst du höchstens via Updateserver an aus dem Store gekaufte Pakete. Ich vertrete aber bekanntlich die Meinung, dass man Pakete, sofern möglich, nicht hier im Store sondern beim jeweiligen Entwickler kaufen sollte - für Support muss man sich dort eh registrieren und gleichzeitig ist es für dich billiger oder für den Entwickler lohnender (oder beides). Du bekämst also rein gar nichts.


    Waere das Passwort verschluesselt gewesen waere ein Login auf der Webseite als User nicht moeglich gewesen.

    Der Unterschied ist, dass die Paket-Server API natuerlich dann so gebaut ist, dass einige Sachen nicht zugelassen werden. Zum Beispiel das umbennen deines Accounts, aendern der Daten. Dies ist ja gar nicht notwendig, da du ja nur Updates bekommen sollst.

    Wäre das Passwort verschlüsselt, müsste ich dauernd vor dem PC sitzen und händisch nach Updates suchen oder die eine oder andere Aktionen ausführen. Das ist in vielen Fällen heutzutage nicht mehr rentabel bzw. zielführend.

    Was auch immer man zu WoltLab überträgt, es ermöglicht in jedem Fall in der Form wie es in der Datenbank liegt einen Zugriff auf die Software.

    Der sinnvollste Weg ist eine Entkopplung von Zugang zum WSC und Zugangsdaten für die Updateserver; das bietet außer dem Pluginstore meines Wissens nach fast jeder Updateserver.

    Bei einigen Anbietern kannst du unter Umständen gänzlich auf Zugangsdaten verzichten und kommst nur vom entsprechenden Server via Updateserver an die Pakete.

    Über die Update-Server-API kannst du übrigens tatsächlich keinerlei schreibende Aktionen ausführen, da es lediglich dazu dient um die Pakete herunterladen zu können und auf Updates zu prüfen.


    Besser immer um das Password fragen, als es unverschluesselt ab zu legen.

    Es steht dir frei, keine Zugangsdaten zu hinterlegen. Dann hast du exakt diesen Work-Flow. Aufzwingen würde ich das aber niemandem wollen.

    Übrigens wenn du es wie PGP-Schlüssel verschlüsselst, musst du dieses Passwort mit anderen Administratoren teilen, oft auch auf unsicheren Kommunikationswegen - zumindest, wenn diese auch auf Updates prüfen oder Pakete/Updates installieren können sollen. Das finde ich eher weniger zielführend.


    Alle unsere Paketserver akzeptieren die Eingabe von Lizenz- und Seriennummer zur Authentifizierung. Ich bin mir sogar relativ sicher, dass wir den Text eigentlich geändert haben, mal schauen…

    Ich meine es würde beim Update-Server entsprechend angezeigt, beim Store-Server würde aber nach den Account-Daten gefragt. Nagel mich aber nicht drauf fest…


    Bei den Paketservern wird es aber nicht immer wieder abgefragt und muss daher irgendwo gespeichert werden.

    ( eigentlich Richtung Aebian )

    Es wird beim Installations-Versuch abgefragt, wenn die Ressource mit dem angegebenen Account oder ohne Account nicht verfügbar ist.

    Ansonsten wird beim Abfragen der Server (ohne Zugangsdaten) auch nicht gefiltert, was dir zugänglich ist oder eben nicht; es kommen entsprechend auch Hinweise zu Upgrades, die ggf. nicht gekauft wurden oder werden. Ich beispielsweise würde dauernd genervt das WBB 5.4 zu installieren, obwohl meine Lizenz nur bis 5.1 oder 5.2 gültig ist. Für Pakete, die über woltlab.com ausgeliefert werden, gibt es den Authentifizierungs-Code, den WoltLab aber leider nur für ihre eigenen Server nutzbar macht. Alternativ könnte man zusätzlich zu Benutzername/Passwort beim Paketserver einen Authentifizierungscode abfragen, der nicht mal zum Download berechtigt, aber entsprechend zur Abfrage der zugänglichen Versionen.


    Der Vorteil ist, Papier ist geduldig und vor allem nicht zu Hacken, auch für die wildesten und besten Hacker der Welt ist es unmöglich über den Router / Server an Papier auf dem Schreibtisch zu kommen ;)

    Du kannst Papier abfotografieren/abfilmen. ;)


    Fuer sowas nutzt man einen Password Manager wie Bitwarden oder so. Ich glaube kaum das du dir Passwoerter mit folgendem Schema merkst:

    Und in welcher Form ist das Passwort für den Passwort-Manager oder ein Notfall-Code für eine entsprechende andere Authentifizierung abgelegt?

    Sei es auf Papier, in Datei oder in deinem Kopf. Es ist Klartext und damit das unsicherste und die Sicherheit definierende Glied in der Kette. ;)

    Verstehe mich bitte nicht falsch; ich nutze auch einen Passwort-Manaer bzw. etwas in die Richtung.


    Ich hoffe damit ist halbwegs verständlich, warum als Klartext gespeicherte Passwörter oder Zugangsdaten in einigen Fällen technisch notwendig und es nicht anders ohne Abstriche beim Work-Flow bzw. ohne Mehrarbeit umsetzbar ist. Das gilt nicht nur für die Updateserver hier, sondern wie angesprochen auch die SMTP-Daten (die übrigens auch auf deinem PC hinterlegt sind und ggf. sehr einfach entschlüsselt werden können). In einem kommenden Projekt gibt es sogar noch ein paar mehr dieser Fälle. Alle, die regulär Zugriff darauf haben, sind aber bekannt und vertraglich gebunden. Abgesehen davon wird nach Möglichkeit das Passwort nicht ins Passwort-Feld gefüllt, sondern dieses nur für Änderungen befüllt. :)

    Schlussendlich bedarf es an Vertrauen zu denen, die Zugriff auf bestimmte Bereiche bekommen (sollen), vernünftig umgesetzte Sicherheitsmechanismen für die zu Grunde liegenden Systeme (also auch die Datenbank, SSH, (S)FTP, …) und Glück, dass man an keinen Hacker kommt, der gut genug ist bzw. genug Ressourcen zur Verfügung hat.

  • Du kannst Papier abfotografieren/abfilmen.

    Oder Diebstahl ;)

    ;)


    weia und ich dachte ich hab da allein das Problem mit der Datensicherheit :S abfotografieren, wenn ich an meinem Schreibtisch sitze, ohne Webcam? wie kommt bitte jemand dann an den Zettel dran?


    ich bin durch den Lockdown und das zweifelhafte Glück außer Dienst zu sein, rund um die 12 zu haus - ungefähr die hälfte davon am PC bzw. am Schreibtisch, das bedeutet, Diebstahl wäre riskant :S ich lasse ja niemanden ins Haus geschweige denn die Wohnung und der Versuch, das zu erreichen ohne Einverständnis, wie soll ich sagen, geht defintiv schief ;)

    Hunde die bellen, beißen nicht? -> nun, ich bin kein Hund. -> Ich belle nicht. - Ich Beiße! 8o