Sicherheit von ISPConfig 3

major7

Member
Ich habe gerade das Vergnügen, 100 Domains von einem alten ISPConfig2-Server auf einen neuen ISPConfig3-Server zu übersiedeln. Der Neue wurde nach der Anleitung "Perfect... Ubuntu 15.04... Apache" eingerichtet.
Da einige Domains ältere Installationen sind, werden diese vermutlich gruseliger weise nur mit PHP 5.3 oder 5.4 laufen, weshalb vermutlich nur PHP-FPM und FastCGI in Frage kommt, da man die im ISPConfig gemütlich verwalten und den Webs zuweisen kann.

Nun möchte ich, dass nicht jeder Benutzer sogut wie alles auf dem Server sehen kann, wie es per Default ist. Trotz Eintrag von den gängigsten Funktionen in disable_functions ist es möglich, mit einer aktuellen PHP-Webshell, die meisten Verzeichnisse des Servers zu durchforsten und alle Dateien zu lesen, die zumindest World-Readable sind. Und das sind nunmal die meisten von Haus aus (siehe /etc oder fremde Webs).

Was also tun, um hier absolute SIcherheit zu gewährleisten, wie man es von einem Shared-Hosting-Server erwartet?
* disable_functions immer wieder erweitern. bei neuen PHP-Versionen kommen viell. neue hinzu, das ist eher fehleranfällig, unter Umständen können Kunden viell. diese Einschränkungen in eigenen php.ini's wieder Überschreiben. Ein aktuelles Joomla zB benötigt eine bestimmte Funktion für die integrierte Updatefunktion, die wieder alles zunichte macht
* eine Art open_basedir wäre nett, die im Reiter "Optionen" bei der Website dürfte nicht greifen
* das ganze sollte nicht nur für PHP gelten, sondern auch für die anderen angebotenen Sprachen (Perl, Ruby, Python) da dort das Spiel wieder von vorne los geht.
* die disable_functions für die Web-Einstellung "PHP-FPM default" verwendet /etc/php5/cgi/php.ini > genau wie ISPConfig; beschränkt man dort disable_functions, funktioniert ISPConfig teilweise nicht mehr

Also wie am einfachsten dieses Problem lösen?
 

Till

Administrator
Was also tun, um hier absolute SIcherheit zu gewährleisten, wie man es von einem Shared-Hosting-Server erwartet?

Absolute Sicherheit erhältst Du nur durch erstellen eines eigenen VServers pro Website.

* eine Art open_basedir wäre nett, die im Reiter "Optionen" bei der Website dürfte nicht greifen

Doch, die greift schon. Damit kannst Du halt nur keine webshell einschränken denn webshells sind ja gerade dafür da die PHP open_basedir Restriction zu umgehen. Open_basedir beschränkt immer nur Funktionen wie fopen, mkdir wo man einen Pfad angibt. Schau Dir mal die Ausgabe von phpinfo() an welcher wert dort für open_basedir drin steht.

* die disable_functions für die Web-Einstellung "PHP-FPM default" verwendet /etc/php5/cgi/php.ini > genau wie ISPConfig; beschränkt man dort disable_functions, funktioniert ISPConfig teilweise nicht mehr

Du verwechslest hier fcgi mit fpm. php-fpm verwendet die php.ini /etc/php5/fpm/php.ini und die wird wiederum nicht vom ISPConfig Interface verwendet, Du kannst daher in der Datei /etc/php5/fpm/php.ini beliebige Einschränkungen durchführen die sich nicht auf das ISPConfig Interface auswirken.
 

Werbung

Top