1. Foren
  2. Kommentare
  3. Security
  4. Alle Kommentare zum Artikel
  5. › Sicherheitslücke: Fehlerhaft…

Wieso auschecken direkt ins Webverzeichnis?

Das Wochenende ist fast schon da. Zeit für Quatsch!
  1. Thema

Neues Thema Ansicht wechseln


  1. Wieso auschecken direkt ins Webverzeichnis?

    Autor: Anonymer Nutzer 12.05.17 - 10:56

    Klingt für mich nicht nach so einer super Praxis.

    Müsste der Ablauf nicht eher so aussehen:
    -Versionsstand aus Git exportieren
    -Exportierte-Webseite ausgiebig Testen
    -Exportierte-Webseite einspielen
    ?
    Ich habe zumindest noch nie Quellcode direkt auf ein Produktivsystem ausgecheckt.

  2. Re: Wieso auschecken direkt ins Webverzeichnis?

    Autor: Wanderdüne 12.05.17 - 11:00

    Das wäre zumindest ein ordentliches Vorgehen. Ich vermute aber mal das sich viele Leute einfach den Aufwand sparen wollen einen sauberen Deploymentprozess zu integrieren. Kostet ja Zeit und Geld, geschweige denn das die Deplymentumgebung auch noch gepflegt werden muss. Da nimmt man dann den kurzen Weg. Das führt dann aber halt auch zu solchen Problemen.



    1 mal bearbeitet, zuletzt am 12.05.17 11:01 durch Wanderdüne.

  3. Re: Wieso auschecken direkt ins Webverzeichnis?

    Autor: dabbes 12.05.17 - 11:02

    war wohl die Quick&Dirty Methode.

    Oder die haben keine "Deployment-Strategie" (klingt hochtrabender als es ist) und machen ein simples git pull.

    Man hätte dann wengistens das webroot in ein Unterverzeichnis legen können.



    1 mal bearbeitet, zuletzt am 12.05.17 11:03 durch dabbes.

  4. Re: Wieso auschecken direkt ins Webverzeichnis?

    Autor: Schattenwerk 12.05.17 - 11:07

    Woher willst du wissen, dass die verwendete Webseite nicht aus einem "Stable und total durchgetesteten Branch" kommt?

    Es kann sehr wohl Teil der Deployment-Strategie sein, dass man die Webseite aus einem Git-Repo direkt bezieht. Dies macht vor allem ein Rollback ggf. umso schneller möglich.

    Wichtig ist natürlich, dass immer nur aus dem korrekten Branch ausgecheckt wird. In solchen Fällen kann die Strategie durchaus valide sein.

    In solchen Fällen sollte dann aber natürlich der Webserver so konfiguriert sein, dass Systemweit .git nicht ausgeliefert werden darf.



    2 mal bearbeitet, zuletzt am 12.05.17 11:10 durch Schattenwerk.

  5. Re: Wieso auschecken direkt ins Webverzeichnis?

    Autor: danielmain 12.05.17 - 11:12

    Eine kleinigkeit: es ist nicht auschecken, sondern clonen :)

    Auch wenn es um eine Webanwendung geht, es werden nie die sourcen in das hosting eingespielt. Sondern nur wird das "build"/"dist" Verzeichnis (source code minified mit den noetigen assets und compilierten css) in das Hosting manuell oder via CI agbelegt.

    Deshalb ich kann mir nicht vorstellen wie solche Fehler passieren !!

  6. Re: Wieso auschecken direkt ins Webverzeichnis?

    Autor: dabbes 12.05.17 - 11:14

    vorausgesetzt man hat dist/builds.

    Viele PHP-Projekte haben keine extra builds, da wird einfach das src auf den Server geschoben.

  7. Was ist daran falsch?

    Autor: redmord 12.05.17 - 11:21

    Jetzt mal ehrlich ... was soll an einem praktikablen Ansatz falsch sein?

    Ich habe mich auch einst für eine ähnliche Methode entschieden, da man hierdurch extrem gut sicherstellt, dass alle Änderungen durch das Repository laufen und so der Prozess eingehalten wird.

    Die Absicherung durch einen blöden Einzeiler in der Server-/Vhost-Config zu vernachlässigen ist eine andere Sache.

    Im Übrigen ist mittlerweile auch in der PHP-Welt eine gute Praxis entstanden einen einzelnen Public-/Web-Ordner ins Internet zu hängen und nicht das gesamte Projekt. Da ist dann auch wirklich nur das im Web, was da hin gehört.

  8. Re: Wieso auschecken direkt ins Webverzeichnis?

    Autor: danielmain 12.05.17 - 11:32

    dabbes schrieb:
    --------------------------------------------------------------------------------
    > vorausgesetzt man hat dist/builds.
    >
    > Viele PHP-Projekte haben keine extra builds, da wird einfach das src auf
    > den Server geschoben.

    Ich bin kein PHP Entwickler aber du hast so viel auf deinem src Folder, die auf dem Server nichts zu suchen hat, zB.:
    - Linter (Eslint, JSLint, JSCS)
    - Git (.git folder, .gitignore, .gitattributes)
    - Die Tests Files !!! die willst du auf KEINEN FALL in deinem Prod Server !!

    Du brauchst unbedingt einen Build-Script



    1 mal bearbeitet, zuletzt am 12.05.17 11:33 durch danielmain.

  9. Re: Wieso auschecken direkt ins Webverzeichnis?

    Autor: Epaminaidos 12.05.17 - 11:40

    RichardEb schrieb:
    --------------------------------------------------------------------------------
    > Klingt für mich nicht nach so einer super Praxis.

    Ich habe jahrelang so gearbeitet. Natürlich hat man ständig ein latentes schlechtes Gewissen, dass das kein sonderlich sauberer Prozess ist.
    Trotzdem hat das in der Praxis absolut zuverlässig funktioniert.
    Und wenn die QS mal ausnahmsweise versagt hat und man eine echte Notfallkorrektur machen muss, ist man mit diesem Prozess schneller als mit jedem anderen.

  10. Re: Wieso auschecken direkt ins Webverzeichnis?

    Autor: kayozz 12.05.17 - 11:42

    RichardEb schrieb:
    --------------------------------------------------------------------------------
    > Klingt für mich nicht nach so einer super Praxis.
    >
    > Müsste der Ablauf nicht eher so aussehen:
    > -Versionsstand aus Git exportieren
    > -Exportierte-Webseite ausgiebig Testen
    > -Exportierte-Webseite einspielen
    > ?
    > Ich habe zumindest noch nie Quellcode direkt auf ein Produktivsystem
    > ausgecheckt.

    Die Website direkt als git-repositiory zu deployen hat allerdings auch einen Sicherheitsaspekt, da so die Website nicht manipuliert werden kann bzw. jede Manipulation direkt durch ein git status auffallen würde.

  11. Re: Wieso auschecken direkt ins Webverzeichnis?

    Autor: redmord 12.05.17 - 11:46

    Das wird in PHP mittlerweile anders gelöst. Du hast einen explizit als public/web definierten Ordner, der das einzige ist, was ins Web gehängt wird. Damit hat man gleich viel mehr erschlagen als Git-Files.

  12. Re: Wieso auschecken direkt ins Webverzeichnis?

    Autor: Che 12.05.17 - 11:51

    Dass Directory Listings erlaubt waren, ist ärgerlich. Sowas passiert in der Regel nur durch Zeitdruck.

    "Im aktuellen Fall wurden offenbar keine Kundendaten veröffentlicht, allerdings einige Tokens für Facebook und Google-Konten, die während der Einrichtung der Webseite verwendet wurden. Es dürfte sich dabei um Testaccounts von Redcoon handeln."

    Diese Tokens sind bereits Bestandteil des Open Source Projekts auf GitHub – auf dem die Redcoon Seite aufbaut – und dort seit 2014 zu finden ... :-)

    https://github.com/pimcore/pimcore/blob/5c519e9d9c687071fbf17ff9305b43a0a0318ee3/website_demo/var/config/hybridauth.php

  13. Re: Wieso auschecken direkt ins Webverzeichnis?

    Autor: Gonzales 12.05.17 - 12:17

    übrigens: man kann auch git dir und working tree trennen.. Dann ist im working tree, welchen man als documentroot verwendet, nichts von git zu finden..

  14. Re: Was ist daran falsch?

    Autor: tingelchen 12.05.17 - 12:30

    > Im Übrigen ist mittlerweile auch in der PHP-Welt eine gute Praxis
    > entstanden einen einzelnen Public-/Web-Ordner ins Internet zu hängen und
    > nicht das gesamte Projekt. Da ist dann auch wirklich nur das im Web, was da
    > hin gehört.
    >
    Nicht nur in PHP hat sich das durchgesetzt. Auch bei anderen Sprachen ist es mittlerweile vollkommen normal unterhalb des Root-Dirs Ordner wie "www", "public" oder "webroot" zu haben, wo dann eben nur jene Dateien enthalten sind, welche für den Web Server relevant sind.

    Bei manchen Projekten gehört diese Strategie sogar zum Kern.

    Sehe das ebenfalls als die beste Strategie an. Da vor allem Daten Verzeichnisse automatisch ausgelagert werden. Was ein Update viel einfacher macht und man hat mehr Kontrolle über die Daten sowie auch z.B. PlugIns oder Apps die man einem Framework hinzufügen kann. Auch generierte Logs von Seiten kann man so besser ablegen, ohne entweder in /var/log/ rein schreiben zu müssen oder diese auf einmal im Web landen.

  15. Re: Wieso auschecken direkt ins Webverzeichnis?

    Autor: tingelchen 12.05.17 - 12:35

    Richtig. So sehe ich das auch.

    Es macht einem das Leben sehr viel einfacher. Man muss hier nur 1x etwas konfigurieren. Es gibt dabei sogar mehrere Wege wie man das machen kann. Per Ausschluss direkt in der Konfig des WebServers, per Rewrite Rules oder mittels Routing (welche einige Projekte verwenden).

    Man kann natürlich ein externes Produkt für die Veröffentlichung verwenden. Aber da hat man die gleichen Probleme als wenn man git direkt nutzt. Oder man macht es manuell. Was aber ebenfalls Fehleranfällig ist und am Ende in einem Script Wust endet.

  16. Re: Wieso auschecken direkt ins Webverzeichnis?

    Autor: Anonymer Nutzer 12.05.17 - 13:23

    RichardEb schrieb:
    --------------------------------------------------------------------------------
    > Klingt für mich nicht nach so einer super Praxis.
    >
    > Müsste der Ablauf nicht eher so aussehen:
    > -Versionsstand aus Git exportieren
    > -Exportierte-Webseite ausgiebig Testen
    > -Exportierte-Webseite einspielen
    > ?
    > Ich habe zumindest noch nie Quellcode direkt auf ein Produktivsystem
    > ausgecheckt.

    Exakt! Und vor allem zwischen Live-Umgebung und Repository ein richtiges Deployment verwenden, was auch wirklich nur das rüber schiebt was rüber soll. Nämlich gefälligst per Whitelist.

  17. Re: Wieso auschecken direkt ins Webverzeichnis?

    Autor: tingelchen 12.05.17 - 20:06

    Stimmt. Und weil man keine Lust hat sich sein eigenes Werkzeug zu basteln. Nimmt man ein bestehendes Tool, das dann neben Git gepflegt werden muss. Einarbeitungszeit benötigt, in das Projekt eingepflegt werden muss und, nicht zu vergessen, die Konfiguration. Das ist natürlich viel Fehlertoleranter als ein:

    git clone url .

    Wenn man sich an die gängigen Verzeichnisstrukturen hält müsste man nicht einmal .git und .gitignore beim WebServer beachten. Da man diesen aber so oder so aufsetzen muss, kann man das natürlich eben fix mit machen. Nicht zu vergessen dass man auch innerhalb vom git Repository schon Maßnahmen ergreifen kann.

    Dann kann man sich die ganzen Deploy Tools schenken und hat beim Revert keine sorgen.

  18. Re: Wieso auschecken direkt ins Webverzeichnis?

    Autor: ecv 13.05.17 - 00:31

    danielmain schrieb:
    --------------------------------------------------------------------------------
    > dabbes schrieb:
    > ---------------------------------------------------------------------------
    > -----
    > > vorausgesetzt man hat dist/builds.
    > >
    > > Viele PHP-Projekte haben keine extra builds, da wird einfach das src auf
    > > den Server geschoben.
    >
    > Ich bin kein PHP Entwickler aber du hast so viel auf deinem src Folder, die
    > auf dem Server nichts zu suchen hat, zB.:
    > - Linter (Eslint, JSLint, JSCS)
    > - Git (.git folder, .gitignore, .gitattributes)
    > - Die Tests Files !!! die willst du auf KEINEN FALL in deinem Prod Server
    > !!
    >
    > Du brauchst unbedingt einen Build-Script

    Die sind auf dem Server, aber nicht im Internet. Ich hab den Ordner public mit einer Steuerdatei und css und sowas, und dann diverse System und Modul Ordner und libraries, templates, git Ordner usw. die nicht public sind.

    Direktes deployen auf den Server ist auch kein Problem, man testet und debugged es ja lokal. Wichtig ist sich immer nur um einen Bereich zu kümmern, oder strukturiert zu branchen, und tests zu haben, um eine Grundstabilität zu gewährleisten.

    Die Sprache ist dabei egal; schlechte programmlogik kann man in nahezu jeder erzeugen.

    Was war nochmal das Thema? Schöne Freitag Nacht noch ;-)



    1 mal bearbeitet, zuletzt am 13.05.17 00:32 durch ecv.

  1. Thema

Neues Thema Ansicht wechseln


Um zu kommentieren, loggen Sie sich bitte ein oder registrieren Sie sich. Sie müssen ausserdem in Ihrem Account-Profil unter Forum einen Nutzernamen vergeben haben. Zum Login

Stellenmarkt
  1. Dr. August Oetker Nahrungsmittel KG, Bielefeld
  2. Sika Holding CH AG & Co KG, Stuttgart
  3. NEW AG, Mönchengladbach
  4. Jedox AG, Freiburg im Breisgau

Golem pur
  • Golem.de ohne Werbung nutzen

Anzeige
Top-Angebote
  1. (AMD Ryzen 9 5950X + Radeon RX 6900 XT)
  2. (u. a. TU7199 58 Zoll für 559€, Q80T QLED 49 Zoll für 859€, TU7199 75 Zoll für 899€, Q60T...
  3. (u. a. Konstruktionsspielzeug von LEGO)
  4. (u. a. MSI GeForce RTX 3060 VENTUS 3X OC 12G für 589€)


Haben wir etwas übersehen?

E-Mail an news@golem.de