Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Baikal Update löscht keine entfernten Dateien #2

Open
palbr opened this issue Nov 5, 2020 · 2 comments
Open

Baikal Update löscht keine entfernten Dateien #2

palbr opened this issue Nov 5, 2020 · 2 comments

Comments

@palbr
Copy link

palbr commented Nov 5, 2020

Beim Update von Baikal machst du folgendes:

sudo rsync -avh baikal/ Baikal

Dabei werden alle Dateien im Ordner "Baikal" mit Dateien aus dem Ordner "baikal" überschrieben. D.h. wenn in "baikal" eine neue, aktualisierte Version einer Datei liegt, wird dieses Update in den produktiven Ordner "Baikal" gebracht.

Sollte beim Update von Baikal allerdings eine Datei entfernt werden, weil z.B. "./html/res/core/BaikalAdmin/html5.js" nicht mehr gebraucht wird, bleibt diese Datei beim oben beschriebenen Update-Prozess liegen und wird weiterhin vom Webserver ausgeliefert. Hat die Datei eine nicht behobene Sicherheitslücke, wäre dies nicht so gut.

Ich würde stattdessen eher die Zip-Datei in ein leeres Verzeichnis entpacken und die Ordner "config" und "Specific" vom alten Baikal-Ordner in den neuen kopieren.
Wenn man den Zeitpunkt der alten Installation hat, kann man auch ein find absetzen und sehen, welche Dateien seit der Installation verändert wurden.

@palbr palbr changed the title Baikal Update Baikal Update löscht keine entfernten Dateien Nov 5, 2020
@JsBergbau
Copy link
Owner

Hallo,

danke für den Hinweis. Ich hatte mich an der offiziellen Anleitung orientiert https://sabre.io/baikal/upgrade/ wo auch nur das ZIP mehr oder weniger entpackt wird.

Sollte beim Update von Baikal allerdings eine Datei entfernt werden, weil z.B. "./html/res/core/BaikalAdmin/html5.js" nicht mehr gebraucht wird, bleibt diese Datei beim oben beschriebenen Update-Prozess liegen und wird weiterhin vom Webserver ausgeliefert. Hat die Datei eine nicht behobene Sicherheitslücke, wäre dies nicht so gut.

Wenn die Datei in der aktuellen Baikalversion nicht mehr eingebunden wird, sollte sich das nicht auswirken, oder?

Ich werde das auf jeden Fall mal im Hinterkopf behalten und nach dieser Methode vorgehen und dann die Anleitung aktualisieren.

@palbr
Copy link
Author

palbr commented Nov 6, 2020

Wenn die Datei in der aktuellen Baikalversion nicht mehr eingebunden wird, sollte sich das nicht auswirken, oder?

Man muss schon sehr konstruieren, um wirklich ein Problem zu bekommen, aber ausgeschlossen ist es nicht. Was mir spontan einfällt: Jede PHP-Datei, die unterhalb von baikal/html/ liegt, kann vom Browser aus aufgerufen werden.
Zum Testen kannst du hierzu z.B. eine Datei mit folgendem Inhalt anlegen unter baikal/html/res/core/sometest.php:

<?php
phpinfo();
?>

Wenn man diese jetzt im Browser öffnet unter http://meinServer:9999/res/core/sometest.php, sieht man, dass der PHP-Code ausgeführt und eine PHP-Info Seite generiert wird.

Das wäre vielleicht in folgendem Szenario relevant: Ein Entwickler baut sich eine kleine PHP-Datei, um ein bestimmtes Problem zu debuggen. Das Problem wird gelöst und eine neue Baikal-Version 0.8.3 wird gebaut. Dabei vergisst der Entwickler, seinen Debug-Code vorher wieder auszubauen. Jemand anderes erkennt dies als Sicherheitlücke und es wird eine Version 0.8.4 geschaffen, die dieses Problem behebt, indem die Debug-PHP-Datei entfernt wird.
Beim rsync -Update wird die problematische PHP-Datei aber nicht entfernt. Und die Sicherheitslücke bleibt offen.

Das ist natürlich alles sehr theoretisch konstruiert und kommt in der Realität vermutlich nicht vor. Aber man weiß ja nie.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants