Wir testen schon seit längerem eine Multiuserumgebung mit Confixx2.16 auf einem Suse8.1-Server Root L.
Die Serversoft und Sachen wie php, mysql, alles nahezu auf dem neusten Stand. Apache 1.3.27, mod_php4.3.3, mysql 4.X., usw.
Jetzt ist es aber so, daß einer der Perl/CGI-Coder es geschafft hat, mit einem Dateimanagerscript aus einer Confixx-cgi-bin-Userumgebung auszubrechen und kann nun auf der Rootfestplatte, vom Internet aus, herumbrowsen. Zwar kann man keine Dateien löschen, aber in jedes xbeliebiges Verzeichnis der Festplatte reinklicken :-(.
CGI läuft mit suexec und läuft auch korrekt, denke ich:
Code: Select all
suexec -V
-D DOC_ROOT="/home/www"
-D GID_MID=96
-D HTTPD_USER="wwwrun"
-D LOG_EXEC="/var/log/httpd/suexec.log"
-D SAFE_PATH="/bin:/usr/bin"
-D UID_MID=96
-D USERDIR_SUFFIX="public_html"
Zweiter Versuch des Coders, ich habe die Rechte wieder auf 0551 für /home gesetzt. Das Script liest nicht mehr /home aus. Der Coder modifiziert, sprich entwickelt sein Script weiter, und boom, jetzt kann er sich mit seinem Script über jeglich gesetzte Rechte des root hinwegsetzen und nun die ganze Rootfestplatte von einem web1/html/cgi-bin-Verzeichnis vom Internet aus, auf der Festplatte auslesen und in jeglichen Ordnern herumbrowsen.
Mögliche Gegenmaßnahmen?
Meine Ideen:
Vergeblicher Versuch einer Möglichkeit:
http://www.rootforum.org/forum/viewtopic.php?t=18683
Entsprechende Rechte für /dev/hda3 setzen, auf der die ganzen Ordner sind, damit der Festplatteninhalt für User unsichtbar ist?
suexec mit einer höheren uid/gid neu kompilieren, zZt. beides auf 96, damit die Ausführung von CGI nicht soviel Rechte besitzt?
In der etc/sysconfig die systemweiten Permissions anders definieren, zZt auf easy local, wäre besser auf secure oder paranoid?
Apache chrooten? Wenn ja, gibt es da ein gutes Howto, damit Apache immernoch korrekt mit einer Confixxumgebung läuft?
Bringt mod_cgiwrap etwas?
Würde mod_security etwas bringen?
Was könnt ihr mir noch für mögliche Gegenmaßnahmen nennen?
Oder was könnte eurer Meinung nach nicht korrekt konfigurriert sein?
Von einigen anderen Stellen, habe ich gelesen, daß es völlig normal wäre, wenn CGIs die Festplatten mit der kompletten Struktur auslesen können. Ich aber möchte mich damit nicht abfinden und meine, daß es ein Security-Problem ist, was behoben werden muß.
Ich hoffe, daß ihr mir bei meinem Problem helfen könnt, denn ich suche seit Tagen krampfhaft nach einer brauchbaren Lösung des Rätsels.
Vielen Dank an euch im Voraus.
MFG
footh