‚777‘ Schreibrechte eine Sicherheitslücke?

Thema wurde von Anonymous, 1. Juli 2018 erstellt.

  1. Anonymous
    Anonymous Erfahrener Benutzer
    Registriert seit:
    20. Juni 2018
    Beiträge:
    326
    Danke erhalten:
    14
    Danke vergeben:
    138
    Wir sind gerade dabei ein neues Gambio-Shop-System einzurichten. Von meinem Informatiker bekomme ich nun den Hinweis, dass sich durch die Einrichtung von ‚777‘-Schreibrechten angeblich eine große Sicherheitslücke auftut.

    Er schreibt:Dass man über den Admin-Bereich Dateien verändern kann, sieht zwar zunächst praktisch aus, ist aber die größte Schwachstelle, die man sich in einem Shopsystem vorstellen kann. Grundsätzlich sollte man dem Shop keine Schreibrechte auf sich selbst geben. Warum? Ganz einfach: Wenn ein Angreifer über irgendeine Lücke die Möglichkeit bekommt, PHP-Code auszuführen, kann er z.B. den Shop durch eine andere Webseite ersetzen oder ihn im Hintergrund Bitcoins minen lassen.

    Ich würde gerne Eure Meinung dazu hören. Danke.
     
  2. Wilken (Gambio)
    Wilken (Gambio) Erfahrener Benutzer
    Registriert seit:
    7. November 2012
    Beiträge:
    18.737
    Danke erhalten:
    7.311
    Danke vergeben:
    2.208
    Die Frage ist gut, da mag ich gern was zu sagen. Wir müssen da jetzt aber aufpassen da kein Epos draus zu machen, das kann man da nämlich leicht schaffen, wenn man in der Materie steckt.

    Zunächst einmal:
    In einer idealen Welt hat dein Informatiker recht. In der schliesst man nämlich jegliche Risiken aus, und das wäre Teil einer 100% Lösung für hochsicherheitskritische Umgebungen.

    Jetzt will ich nicht sagen, dass ein Shop kein sicherheitskritischer Ort wäre, denn das ist er ganz sicher. Die Frage ist nur ob Petagonmaßstäbe hier sinnvoll anzuwenden sind, und was die Bedingungen sind, damit das Problemfeld der Dateirechte anfängt eine Rolle zu spielen.

    Zunächst einmal würde ich folgende Prämisse aufstellen:

    Der Kollege sagt:
    Wir gehen hier also für das Modell davon aus, dass bereits eine andere Lücke besteht, die ausgenutzt werden kann. Dazu gilt, dass wir uns viel Aufwand dafür machen, solche Lücken nicht entstehen zu lassen. Sollte dennoch mal eine solche Lücke gefunden werden, und wir Kenntnis davon erlangen, dann wird es immer in kürzester Zeit einen Sicherheitspatch geben, über den wir umgehend informieren. Wir reden hier von Stunden bis maximal wenigen Tagen, je nach Art und Umfang der Lücke und ihrer Besetigung. Wichtig ist aber die Prämisse: Es muss immer erstmal eine andere Lücke geben.

    Nehmen wir jetzt an wir haben den dummen Fall, dass eine solche Lücke existiert und jemand eigenen PHP Code ausführen kann. Wir nehmen ausserdem an, dass alle Schreibrechte die man entziehen kann entzogen sind. Es sind dann also bis auf den cache Ordner und wenige andere Kandidaten keine Schreibrechte vergeben, somit hätten wir die vorgeschlagen idealisierte Umgebung bei gleichzeitiger Annahme eines benannten Sicherheitsproblems. Wir kommen dann in eine weitere Problemsituation, die in 99% der uns bekannten Hostingumgebungen existiert: PHP bringt Befehle mit, die Dateirechte verändern können, und die sind in aller Regel nicht für die Ausführung gesperrt. Wenn der böse Code also zuerst sagt "Schreibschutz weg, und dann mache ich..", dann ist jeder eventuelle Schutz über Dateirechte wirkungslos und sofort ausgehebelt.

    In der Umgebung deines Informatikers wäre das abgeschaltet, ist es normal da draussen aber nicht.

    Was steht auf der anderen Seite wenn wir trotzdem versuchen würden maximal gute Dateirechte, bei euch den Leuten, zu forcieren?

    Zunächst einmal ein Praxisproblem. Es gibt nicht die eine richtige Variante für minimierte Dateirechte für den Shop, die bei allen Hostern korrekt ist. Bei einigen Hostern sind die Dateirechte für den Dateibesitzer relevant, bei anderen nur die Besitzergruppe. Bei den nächsten Kunden spielen auch die Dateirechte "für alle anderen" eine grosse Rolle. Das bedeutet faktisch, dass man nicht mit einer Universallösung alle Hoster erschlagen könnte. Die Serverkonfiguration des Hosters spielt dabei eine grosse Rolle, und je nach Setup des Hosters gibts grosse Unterschiede. Es müssten also vielmehr pro Kunde (oder zumindest für jeden Hoster einzeln..) die richtigen Einstellungen gesucht und gefunden werden. Da Hoster sowas selten gut dokumentieren (mangels Kundennachfrage...) ist das ein zeitaufwendiger, also teurer Prozess. In grossen Projekten kann man das anbieten, in allen kleineren und mittleren wirds kalkulatorisch in aller Regel unvermittelbar sein.

    Es ist noch nichtmal ganz einfach bei einem permissiven Einsatz von Dateirechten eine universell lauffähige Variante für alle Hoster zu finden, obwohl sich das langsam in eine solche Richtung bewegt.

    Was bekommen wir durch permissive Rechte auf den Dateistamm des Shops?

    Da gibts einige schöne Fälle, zum Beispiel dass man eine integrierte Updatefunktion für Teile oder den ganzen Shop auf den Weg bringen kann. Knopf klicken, kein nerviger Upload von Hand, der Shop kann sich ja eben selbst aktualisieren. Wordpress als Beispiel kann das schon ne Weile, Magnalister und Mailbeez im Shop auch, wir lernen das gerade langsam für unseren Teil des Ganzen. Bei engen Dateirechten wäre das quasi nicht darstellbar.

    Ich fasse das nochmal zusammen:
    1. Es müsste für ein Problem immer eine andere Lücke vorweg genutzt werden. Das wird als Fokusaufgabe versucht zu verhindern.
    2. Wir haben solange ich zurückdenken kann noch nie ein Problem gehabt, das ursprünglich aufgrund der Dateirechte zu einem wurde, obwohl das streng betrachtet seit Jahren ein potenzieller Angriffsvektor wäre, wir waren da noch nie gänzlich hart. Wenn Leute in Gambio Shops einbrechen, dann wurde zu 99% FTP oder Shop Login Passwort erraten, und dann ist sowieso alles vorbei.
    3. Wenn wir da auf die Tube drücken würden, würde es bei vielen Leuten erstmal nicht mehr laufen, und fast alle Hoster würden dem im Weg stehen.
    4. Wenn wir das machen, könnten wir andere schöne Dinge kaum noch anstreben, wie z.B. Eigenupdates des Shops.
    Reicht dir das als Antwort, kannst du damit was anfangen?
     
  3. Christian Mueller
    Christian Mueller Beta-Held
    Registriert seit:
    4. Juli 2011
    Beiträge:
    3.825
    Danke erhalten:
    982
    Danke vergeben:
    312
    Soweit zum Unterschied zwischen Theorie und Praxis.
     
  4. Anonymous
    Anonymous Erfahrener Benutzer
    Registriert seit:
    20. Juni 2018
    Beiträge:
    326
    Danke erhalten:
    14
    Danke vergeben:
    138
    Danke, ich geb's weiter.