Updatesicher FollowSymlinks deaktivieren

Allgemeine Diskussionen rund um KeyHelp.
User avatar
v3ng
Posts: 297
Joined: Wed 4. Jul 2018, 18:08

Re: Updatesicher FolowSymlinks deaktivieren

Post by v3ng »

tab-kh wrote: Sat 28. May 2022, 14:08 Das Problem mit den Symlinks ist unabhängig von Keyhelp schon seit langem bekannt. SymLinksIfOwnerMatch hilft, bringt aber auch keine absolute Sicherheit (sofern es so etwas überhaupt gibt). Es gibt da eine Race Condition, die sich mit entsprechender Software ausnutzen liesse. Abhilfe schafft hier ein Patch des Linux Kernels. Ich weiss nicht, ob mittlerweile die Sicherheitsprobleme mit Symlinks im Apache gefixt sind, oder ob es immer noch diesen Patch braucht.

Unter anderem wegen solchen Problemen bin ich mittlerweile davon abgekommen, mehrere Kunden auf einem Server zu hosten, also praktisch shared hosting zu betreiben. Was der einzelne Kunde dann auf seinem Server treibt, mit welchen Usern und welchen Zugriffsrechten, das ist dann sein Bier und seine Verantwortung. Ich weise auf die Problematik hin, der Kunde entscheidet was er macht. Ebenso mit open_basedir. Einerseits bringt es eine gewisse Erhöhung der Sicherheit bei PHP-basierten Programmen, auf die man sich aber nicht verlassen sollte. Für andere Software bringt es natürlich sowieso Null. Andererseits bringt es eine erhebliche Performanceminderung, weil dadurch der Realpath Cache deaktiviert wird und auch bei jedem Dateizugriff die Berechtigung aufwändig zusätzlich geprüft werden muss. Auf Servern, die nur ich nutze, richte ich dann eben nötigenfalls zwei Nutzer ein. Den einen ohne open_basedir und einen zusätzlichen Nutzer mit aktiviertem open_basedir, falls ich doch mal ein Wordpress oder ähnliches installieren will, wo mir das Vertrauen in die Sicherheit fehlt, vor allem bei Plugins. Wordpress-Installationen müssen dann eben mit open_basedir und seinen Konsequenzen bezüglich Performance leben.

SymLinksIfOwnerMatch sollte die Thematik zumindest etwas erschweren, die Frage wäre auch wie das seitens Keyweb geregelt ist
User avatar
Alexander
Keyweb AG
Posts: 3810
Joined: Wed 20. Jan 2016, 02:23

Re: Updatesicher FolowSymlinks deaktivieren

Post by Alexander »

Grüße,

vielen Dank für diesen wichtigen Hinweis. Ich konnte es auch reproduzieren.

In einer gesicherten SSH Umgebung kommt man zumindest nicht auf die /etc/passwd - zumindest ist das nicht die richtige des Systems, sondern die, die im /home/users/<NAME>/etc/passwd liegt. Das nur einmal nebenbei.


Als Lösung würde ich nun folgendermaßen vorgehen:

Im laufenden Betrieb:
- In den Konfigurationen wird FollowSymlinks wird durch SymLinksIfOwnerMatch ersetzt.
- Die AllowOverride Direktive wird entsprechenden angepasst, so das ein Überschreiben der FollowSymlinks Einstellung über .htaccess unterbunden wird.

Im Update 22.0.1:
- In einem zeitnah erscheinenden Update wird ein Neuschreiben der Konfigurationen getriggert (mit den o.g. Änderungen).
- .htaccess Dateien, die in den Kundenverzeichnissen liegen und über eine FollowSymlinks Direktive verfügen, werden umgeschrieben zu SymLinksIfOwnerMatch.
Geschieht dies nämlich nicht, würden alle .htaccess Dateien einen Fehler werfen, die FollowSymlinks enthalten.
Ein Backup der vorherigen .htaccess wird entsprechend im Verzeichnis abgelegt. Welche Dateien korrigiert wurden, wird im Zuge des Updates dem Admin mitgeteilt.

Heute:
Im Laufe des Tages gibt es hier eine Datei, damit ihr bereits jetzt schon euren Server entsprechend korrigieren könnt, so das die Webserver-Konfigurationsdateien entsprechend geschrieben werden. Den Check der .htaccess und das Umschreiben müsstet ihr allerdings so selber durchführen.


Um jetzt schon einmal zu schauen, ob es .htaccess Dateien mit der problematischen Direktive "FollowSymlinks" gibt könnt ihr den folgenden Befehl nutzen:

Code: Select all

grep -nrw --include .htaccess /home/users/ -e 'FollowSymLinks'

EDIT: Mittlerweile bin ich mit dem beschrieben Weg nicht mehr zu 100% zufrieden. Melde mich hier, sobald ich mehr weiß.
Mit freundlichen Grüßen / Best regards
Alexander Mahr

**************************************************************
Keyweb AG - Die Hosting Marke
Neuwerkstr. 45/46, 99084 Erfurt / Germany
http://www.keyweb.de - http://www.keyhelp.de
**************************************************************
User avatar
v3ng
Posts: 297
Joined: Wed 4. Jul 2018, 18:08

Re: Updatesicher FolowSymlinks deaktivieren

Post by v3ng »

Super, danke!
User avatar
24unix
Posts: 1560
Joined: Sun 21. Jun 2020, 17:16
Location: Kollmar
Contact:

Re: Updatesicher FolowSymlinks deaktivieren

Post by 24unix »

Alexander wrote: Mon 30. May 2022, 11:37 Heute:
Im Laufe des Tages gibt es hier eine Datei, damit ihr bereits jetzt schon euren Server entsprechend korrigieren könnt, so das die Webserver-Konfigurationsdateien entsprechend geschrieben werden. Den Check der .htaccess und das Umschreiben müsstet ihr allerdings so selber durchführen.
Ich bin immer begeistert, wie schnell ihr seid. Oder Du bist :)
Alexander wrote: Mon 30. May 2022, 11:37
EDIT: Mittlerweile bin ich mit dem beschrieben Weg nicht mehr zu 100% zufrieden. Melde mich hier, sobald ich mehr weiß.
Magst Du uns an Deinen Gedanken teilhaben lassen?
Hier sind ja noch 2-3 Leute unterwegs, die schon lämnger als drei Tage Linux nutzen.
mfg Micha
--
If Bill Gates had a nickel for every time Windows crashed …
… oh wait, he does.
User avatar
ShortSnow
Posts: 251
Joined: Thu 15. Nov 2018, 00:45

Re: Updatesicher FolowSymlinks deaktivieren

Post by ShortSnow »

Hi,

einfach 2 Überlegungen die Du evtl. auch schon hattest:

- FollowSymlinksIfOwnerMatch nur bei aktivem Jail mit Warnung das .htacces Dateien ggf. manuell angepasst werden müssen. Luxusvariante: Die betroffene .htaccess Dateien können angezeigt werden per Klick.

- den Befehl ln aus dem Jail entfernen. (Luxusvariante: wie bei den Benutzereinstellungen die Jailbefehle die zur Verfügung stehen auswählbar zu machen. Alternativ in der globalen Konfiguration eine Option um die eingeschränkte Umgebung anzupassen.

Gruß Arne
User avatar
Jolinar
Community Moderator
Posts: 3560
Joined: Sat 30. Jan 2016, 07:11
Location: Weimar (Thüringen)
Contact:

Re: Updatesicher FolowSymlinks deaktivieren

Post by Jolinar »

ShortSnow wrote: Mon 30. May 2022, 15:12 den Befehl ln aus dem Jail entfernen
Den Gedanken hatte ich auch schon. Aber ich hab so meine Zweifel, ob der Ansatz funktionieren würde, denn so unterbindest du ja auch das Erstellen legitimer Symlinks. :?
Wenn jemand inkompetent ist, dann kann er nicht wissen, daß er inkompetent ist. (David Dunning)

Data Collector für Community Support
___
Ich verwende zwei verschiedene Schriftfarben in meinen Beiträgen /
I use two different font colors in my posts:
  • In dieser Farbe schreibe ich als Moderator und gebe moderative Hinweise oder begründe moderative Eingriffe /
    In this color, I write as a moderator and provide moderative guidance or justify moderative interventions
  • In dieser Farbe schreibe ich als Community Mitglied und teile meine private Meinung und persönlichen Ansichten mit /
    In this color, I write as a community member and share my personal opinions and views
User avatar
Tobi
Community Moderator
Posts: 2812
Joined: Thu 5. Jan 2017, 13:24

Re: Updatesicher FolowSymlinks deaktivieren

Post by Tobi »

Ich glaube ohne „ln“ streikt typo3…
Gruß,
Tobi


-----------------------------
wewoco.de
Das Forum für Reseller, Digital-Agenturen, Bildschirmarbeiter und Mäuseschubser
User avatar
Jolinar
Community Moderator
Posts: 3560
Joined: Sat 30. Jan 2016, 07:11
Location: Weimar (Thüringen)
Contact:

Re: Updatesicher FolowSymlinks deaktivieren

Post by Jolinar »

Tobi wrote: Mon 30. May 2022, 15:15 Ich glaube ohne „ln“ streikt typo3…
Das dürfte vermutlich jedes größere CMS betreffen (Joomla, WP, Drupal, etc.)
Wenn jemand inkompetent ist, dann kann er nicht wissen, daß er inkompetent ist. (David Dunning)

Data Collector für Community Support
___
Ich verwende zwei verschiedene Schriftfarben in meinen Beiträgen /
I use two different font colors in my posts:
  • In dieser Farbe schreibe ich als Moderator und gebe moderative Hinweise oder begründe moderative Eingriffe /
    In this color, I write as a moderator and provide moderative guidance or justify moderative interventions
  • In dieser Farbe schreibe ich als Community Mitglied und teile meine private Meinung und persönlichen Ansichten mit /
    In this color, I write as a community member and share my personal opinions and views
User avatar
Alexander
Keyweb AG
Posts: 3810
Joined: Wed 20. Jan 2016, 02:23

Re: Updatesicher FolowSymlinks deaktivieren

Post by Alexander »

Magst Du uns an Deinen Gedanken teilhaben lassen?
Probleme die ich aktuell damit habe:

1) Wenn mittels AllowOverwrite Direktive untersagt ist, FollowSymLinks zu aktivieren, kann es zu folgendem Szenario kommen:
Kunde installiert sich eine Web-Anwendung. In dessen .htaccess steht "FollowSymLinks". Es kommt sofort ein 500er Error (.htaccess: Option FollowSymLinks not allowed here) -> Kunde ist ratlos -> Supportaufwand

2) Die Verwendung von SymLinksIfOwnerMatch verschleiert leider nur das Problem und bietet keine 100%ige Sicherheit. Leute, die wissen was sie tun lassen sich damit nicht aufhalten.


Hab mal einige der großen Webanwendungen geprüft, so häufig scheint zumindest die FollowSymlinks nicht (mehr?!) zu sein.
- MediaWiki hat eine .htaccess mit FollowSymlinks in dessen images/ Ordner (in wie fern sich dort der 500er auswirken würde, hab ich nicht getestet)
- Joomla hat eine (inaktive) .htaccess im root-Verzeichnis mit FollowSymlinks
Mit freundlichen Grüßen / Best regards
Alexander Mahr

**************************************************************
Keyweb AG - Die Hosting Marke
Neuwerkstr. 45/46, 99084 Erfurt / Germany
http://www.keyweb.de - http://www.keyhelp.de
**************************************************************
User avatar
ShortSnow
Posts: 251
Joined: Thu 15. Nov 2018, 00:45

Re: Updatesicher FolowSymlinks deaktivieren

Post by ShortSnow »

Tobi wrote: Mon 30. May 2022, 15:15 Ich glaube ohne „ln“ streikt typo3…
Das ist richtig. Es geht zwar auch ohne, indem die Sourcen mit in den Webpfad kopiert werden, aber das ist der alte (uralte :mrgreen:?) Weg. Wordpress ist mir mit Symlinks noch nicht begegnet, kann aber bei manchem für Plugins vieleicht Sinn machen...:?:

War halt so ein erster Gedanke, um das Jail sicherer zu machen. Ob es dann für jeden Verwendungszweck noch das richtige ist :roll: . Eine sicherer SSH Umgebung sollte in erster Linie (meine Meinung) sicher sein. Das es dann Einschränkungen gibt ist zu erwarten. Wer dann den Befehl "ln" braucht kann den ja einbauen. Als das eingeführt wurde gab es da schon einen Thread zu, wie man zusätzliche Befehle hinzufügt.

Gruß Arne
User avatar
Alexander
Keyweb AG
Posts: 3810
Joined: Wed 20. Jan 2016, 02:23

Re: Updatesicher FolowSymlinks deaktivieren

Post by Alexander »

Anbei erst einmal der Fix, der FollowSymlinks mit SymLinksIfOwnerMatch ersetzt und außerdem über AllowOverwrite verhindert,d as diese Einstellung in einer .htaccess umgangen werden kann.

Zuvor sollte mittels:

Code: Select all

grep -nrw --include .htaccess /home/users/ -e 'FollowSymLinks'
Geschaut werden, ob handlungsbedarf besteht und zunächst .htaccess Dateien angepasst werden müssen.


Anschließend den Fix einspielen, in dem eine Datei im KeyHelp ausgetauscht wird.

Für Debian 10, 11 / Ubuntu 18, 20:

Code: Select all

cp /home/keyhelp/www/keyhelp/core/pending/Apache.php /home/keyhelp/www/keyhelp/core/pending/Apache_backup.php ; wget https://install.keyhelp.de/misc/php71/Apache -O /home/keyhelp/www/keyhelp/core/pending/Apache.php ; chown keyhelp:keyhelp /home/keyhelp/www/keyhelp/core/pending/Apache.php
Für Debian 9:

Code: Select all

cp /home/keyhelp/www/keyhelp/core/pending/Apache.php /home/keyhelp/www/keyhelp/core/pending/Apache_backup.php ; wget https://install.keyhelp.de/misc/php7/Apache -O /home/keyhelp/www/keyhelp/core/pending/Apache.php ; chown keyhelp:keyhelp /home/keyhelp/www/keyhelp/core/pending/Apache.php

Anschließend sollten die Konfigurationsdateien neu geschrieben werden: Entweder über die CLI (keyhelp-toolbox) oder Über "Massenoperationen" -> "Neuschreiben von Benutzerkonfigurationsdateien"
Mit freundlichen Grüßen / Best regards
Alexander Mahr

**************************************************************
Keyweb AG - Die Hosting Marke
Neuwerkstr. 45/46, 99084 Erfurt / Germany
http://www.keyweb.de - http://www.keyhelp.de
**************************************************************
User avatar
24unix
Posts: 1560
Joined: Sun 21. Jun 2020, 17:16
Location: Kollmar
Contact:

Re: Updatesicher FollowSymlinks deaktivieren

Post by 24unix »

Was die ln Sache angeht:

Was hindert den user, einfach ein ln von einem anderen kompatiblen System zu kopieren, oder ein busybox binary?
mfg Micha
--
If Bill Gates had a nickel for every time Windows crashed …
… oh wait, he does.
l_fish
Posts: 144
Joined: Tue 15. Aug 2017, 11:49

Re: Updatesicher FollowSymlinks deaktivieren

Post by l_fish »

Heute kam das Update bei uns. Dazu noch ein Hinweis für TYPO3-Systeme:

Wer das (veraltete) Prinzip von geteilten TYPO3-Sourcen nutzt, also z.B. Sourcen zentral ablegt in /usr/local/share/typo3_src/ und dann in den einzelnen Webspaces dahin symlinkt (typo3_src => /usr/local/share/typo3_src/, typo3 => typo3_src/typo3/, index.php => typo3_src/index.php) muss nun darauf achten, dass der Besitzer der drei Symlinks (typo3_src, index.php und typo3) identisch ist mit dem von /usr/local/share/typo3_src/. Das kann man dann z.B. anpassen mit

Code: Select all

find /home/users/ -type l -name typo3_src -print0 | xargs -0 chown -h t3srcuser.t3srcgroup
find /home/users/ -type l -name typo3 -print0 | xargs -0 chown -h t3srcuser.t3srcgroup
find /home/users/ -type l -name index.php -print0 | xargs -0 chown -h t3srcuser.t3srcgroup
(t3srcuser.t3srcgroup dabei ersetzen durch den User und die Gruppe, denen /usr/local/share/typo3_src/ gehört)
User avatar
[headcrash]
Posts: 25
Joined: Wed 18. Jul 2018, 17:09

Re: Updatesicher FollowSymlinks deaktivieren

Post by [headcrash] »

Noch ein Hinweis von uns, das Update an sich ist vernünftig, wir haben aber bei uns nicht bedacht, dass Kunden neue Projektstände mit .htaccess deployen, wenn das passiert, knallt es natürlich direkt, weil die neue funktionierende .htaccess überschrieben wird, wer also auch solche Setups aktiv hat, aufpassen und Kunden informieren.
FoinB
Posts: 4
Joined: Thu 9. Jun 2022, 09:53

Re: Updatesicher FollowSymlinks deaktivieren

Post by FoinB »

Und wie drehe ich das jetzt um? Also "Updatesicher FollowSymlink aktivieren" ?
Wir haben keine Kunden auf unserer Installation und benötigen die Symlinks dauerhaft - hat da jemand einen Tipp ?
Post Reply