Websites / Kunden voneinander abschotten

Dieses Thema im Forum "Server Administration" wurde erstellt von Toronto, 29. Jan. 2013.

  1. Toronto

    Toronto New Member

    HI. Wie kann ich Websites oder/und Kunden voneinander abschotten? Mein Problem ist das viele Kunden extrem unsichere und alte Scripte verwenden, aber auch ich habe wohl ein paar unsichere Sachen am laufen. Jemand lädt ein Shell Script hoch und schon ist der ganze Server gepwned. OpenVZ läuft bei mir leider nicht weil ich dafür zu wenig RAM habe, außerdem sollte es doch auch ohne möglich sein die einzelnen Websites voneinander abzuschotten? Wie macht ihr das so?


    Server ist installiert nach: The Perfect Server - Debian Squeeze (Debian 6.0) With BIND, Dovecot & Nginx [ISPConfig 3] | HowtoForge - Linux Howtos and Tutorials


    P.S.: Ich habe das Thema in "Linux Foren" -> "Server Administration" aufgemacht weil die Frage er allgemein gemeint ist. Aber an einer chroot-Lösung speziell nur für ISPConfig Webs bin ich auch sehr interessiert, falls es so etwas gibt... Und ISPConfig 3.0.5 wird laut Bugtracker ja der Knüller schlechthin, danke an alle Developer!
     
  2. Till

    Till Administrator

    Ein 100%iges Abschotten ist nicht so ohne weiteres möglich, aber unter ISPConfig laufen ja bereits die Scripte für jedes web unter einem eigenen Linux User, d.h. ein script das auf einer webseite hochgeladen wird kann auch nur das sehen und machen was diesem Linux User erlaubt ist.

    Ein weiteres Sicherheitslevel ist das php open_basedir, dies lässt Dateizugriffe nur in den entsprechenden Pfaden zu. open_basedir hat aber eine Schwäche, es kann nur Zugriffe über Dateifunktionen abfangen und keine Zugriffe über ausgeführte Programme. Da eine normale Webseite in einem shared Hosting an sich sowieso keine eigenen Programme ausführen können sollte, solltest Du am Besten die exec und shell Funktionen in php deaktivieren. Dazu setzt Du in der apache2, cgi und php fpm php.ini Datei (aber nicht in der cli php.ini):

    disable_functions =exec,passthru,shell_exec,system,proc_open,popen,curl_exec,curl_multi_exec,parse_ini_file,show_source

    Für pache hätte ich Dir noch zusätzlich zu mod_security geraten. Das gibt es aber meines Wissens nach für nginx erst in einer betaversion.
     
  3. Toronto

    Toronto New Member

    Habs eingetragen / geändert, danke fürs posten!!

    Ich verwende Apache, der Link da oben ist leider falsch habe alles nachdem Pefect Tutorial Debian, Apache, ISPConfig 3 installiert. Weißt du zufällig welche Einstellungen in mod_security man so tätigen sollte damit alles sicherer ist?
    Die ModSecurity Site konnte mir leider nicht so recht helfen.

    Und sorry noch eine Frage was es die sicherste PHP "Einbindung" für eine Website? Bei mir läuft momentan Fast-CGI mit SuEXEC.
     
  4. Till

    Till Administrator

    Schau mal hier im ISPConfig FAQ:

    Apache mod-security installation on Debian 6.0 (squeeze) « FAQforge

    Ich würde Dir zu php-fcgi mit suexec raten.
     
  5. gpkvt

    gpkvt New Member

    Je nachdem wie weit du beim "Abschotten" gehen willst wäre Xen sicher eine Option. Die Konfiguration ist einfach, die Anforderungen an die Hardware sind zwar gemäßigt, aber das Zielsystem muss natürlich schon was hergeben.

    Eine Anleitung findest du hier: https://www.21x9.org/xen-4-1-installation-und-konfiguration-debian-wheezy/

    Eventuell musst du dazu dein System neu aufsetzen (zumindest wenn du LVM verwenden willst und keine freie Partition mehr hast). Eine entsprechende Debian Remote Install-Anleitung findest du hier: https://www.21x9.org/debian-remote-installer/
     
    Zuletzt bearbeitet: 7. Feb. 2013
  6. Toronto

    Toronto New Member

    Danke für die Links, interessante Beiträge hast du da auf deiner neuen Site! :)
    Ich fand OpenVZ schon relativ kompliziert (also wenn etwas nicht geht), ich denke mit Xen wäre ich komplett überfordert im Produktiveinsatz, soll ja noch schwieriger sein. Aber ich werde mich da mal rein "fuchsen", dauert mind. ein halbes Jahr.

    Total dicht machen, aber gerne ohne Virtualisierung. Komfort/Kompatibilität ist nicht wichtig, es laufen nur Standard-Scripte wie u.a. WordPress, phpBB, statische Seiten. Schade das die ganzen Freehoster ihre "Tricks" zu dem Thema nicht verraten...
     
  7. gpkvt

    gpkvt New Member

    Danke, ich habe in den letzten Jahren viel in einem Wiki dokumentiert und dachte mir ich mache das mal etwas öffentlicher.

    Ich war eigentlich sehr überrascht wie einfach es war Xen aufzusetzen und zu betreiben. Du hast natürlich recht dass da erstmal eine zusätzliche Komplexitätsebene eingezogen wird. Auf der anderen Seite kann man mit Xen halt auch schnell mal 1, 2 Testmaschinen hochziehen und alle erst einmal in Ruhe ausprobieren, was so viele Vorteile mit sich bringt, dass man die zusätzliche Komplexität gern in Kauf nimmt.

    Von den Möglichkeiten im laufenden Betrieb ganz abgesehen, oh, eine Seite hat plötzlich Erfolg, hier mehr CPU, Speicher und Festplattenplatz. Für die meisten Änderungen muss man nicht einmal neu starten. :)

    Naja, will nur sagen es lohnt sich.

    Dann blieben dann wohl Techniken wie suPHP. Ich glaube ein paar dieser Techniken unterstützt ISPConfig auch nativ.

    Was ich bei Wordpress in Betracht ziehen würde ist eine einzelne Installation für alle Blogs auf dem Server, ab Version 3.0 geht das. Dann brauchst du nur diese eine Installation updaten und nicht mehrere. Die einzelnen User dürfen dann immer nur auf ihren persönlichen Blogbereich zugreifen, so wie bei wordpress.com auch.
     
  8. Toronto

    Toronto New Member

    Gute Idee.


    Aufsetzen ist eigentlich immer sehr einfach, aber bei OpenVZ erlebe ich immer wieder böse Überraschungen. Z.B. die Internetverbindung von einem Container wird einfach so von Zeit zu Zeit unterbrochen ohne das davon etwas im Log steht. Echt ärgerlich wenn man die Fehlerquelle nicht finden kann und selbst der teure Pay-Support nach 4 Stunden Suche nichts finden kann. Virtualisierung ist aber wohl das einzige was ich für meine High Vulnerability Risk Sites verwenden kann. Ob ein Intel Core2 Duo mit 2.80 GHz mit 8 GB RAM für 20 vServer ausreicht?


    Interessant! Check ich mal aus.
     
  9. gpkvt

    gpkvt New Member

    Hatte ich bei Xen noch nicht wirklich. Eine Maschine, der Name war "dev" ist mal ausgestiegen und hat sich über Nacht immer selbst readonly remountet. Ich habe sie umbenannt und seitdem tut sie tadellos.

    Wir haben im Büro einen Testserver auf Xen-Basis der simuliert alle Server damit Änderungen geprüft werden können. Außerdem haben die Entwickler dort mehrere Testumgebungen.

    Läuft wesentlich besser als die Maschine mit VirtualBox und 12 Win7/XP Installationen.
     

Diese Seite empfehlen