Wann sind die Domains voneinander abgeschottet?

  • Hallo!


    Was muss eingestellt werden, damit die Seiten in einem Webspace-Paket sich nicht gegenseitig hacken können?


    In den PHP-Einstellungen sieht disable_functions mit exec,passthru,shell_exec,system,proc_open,popen,show_source ganz OK aus. Open_Basedir dagegen ist wohl ziemlich ungünstig und sollte sowieso als Standard auf {DOCROOT}{/}{:}{TMP}{/} gesetzt werden. Was fehlt noch?


    Bei Nodejs bin ich mir unsicher, weil Node ohne extra chroot und ohne eigenem System-User ausgeführt wird. Das klingt für mich etwas - unüblich.


    Viele Grüße

    Thomas

  • Danke für die Einschätzung.


    Das heißt, selbst wenn komplexe Privilege Escalations wie über mail() blockiert wären, wäre der Abschottung nicht zu trauen?


    Sonst habe ich Lücken bei Hostern gefunden. Ihr sagt von euch aus, dass die Domains nicht richtig getrennt sind. Find ich gut! :thumbup:

    Einzelne Pakete buchen ist ja kein Problem.

  • Ich stelle gerade fest, dass upload_tmp_dir nicht innerhalb von open_basedir = {DOCROOT}{/}{:}{TMP}{/} liegt. Das ist laut PHP-Doku erlaubt:


    Wenn das hier angegebene Verzeichnis nicht beschreibbar ist, nutzt PHP stattdessen das Standardverzeichnis für temporöre Dateien.


    Nur leider scheint das Standardverzeichnis falsch gesetzt zu sein, es ist nämlich nicht das erlaubte /tmp. Dateien landen vielmehr hier:


    /var/www/vhosts/hosting106xxx.xxxxx.netcup.net/tmp/phpox46IS

    /var/www/vhosts/hosting106xxx.xxxxx.netcup.net/tmp/phpJbU5Oe

    /var/www/vhosts/hosting106xxx.xxxxx.netcup.net/tmp/phpR8q4zZ


    Bei mir sind also PHP-Uploads nur möglich, wenn die Domain Vollzugriff auf alle Domains hat.

  • Ich sehe, dass seit meinem letzten Post die Einstellungsoptionen nachgebessert wurden. Es gibt jetzt zwei Möglichkeiten:


    Default (unsicher)


    open_basedir: {WEBSPACEROOT}{/}{:}{TMP}{/}{:}{/}var{/}lib{/}php5{/}sessions

    upload_tmp_dir: {WEBSPACEROOT}{/}tmp

    Uploads gehen hierhin:

    /var/www/vhosts/hosting106xxx.xxxxx.netcup.net/tmp/php9P7L2K

    Einstellbar (schon besser)


    open_basedir: {DOCROOT}{/}{:}{TMP}{/}{:}{/}var{/}lib{/}php5{/}sessions{:}{WEBSPACEROOT}{/}tmp

    upload_tmp_dir: {DOCROOT}{/}tmp

    Uploads gehen hierhin:

    /var/www/vhosts/hosting106xxx.xxxxx.netcup.net/domains/pflaume/tmp/phpfvP0wy


    Die beiden TMP-Verzeichnisse und standardmäßige Session-Pfad können leer gehalten werden, damit sieht dieser Aspekt jetzt so weit in Ordnung aus.



    Die ursprüngliche Frage, welche Einstellungen optimal sind, bleibt weiterhin offen. Es gibt ja Angreifer, die bei einem gehackten Wordpress

    Privilege escalations automatisiert suchen. Das Thema sollte schon umfassend geklärt sein.