Sicherheit vor Kunden mit dem Apache und virtuellen Hosts
Posted: 2003-07-24 13:30
Hallo,
als nicht blutiger Anfanger aber trotzdem Semi-Newbie muss ich hier mal ein paar Fragen stellen, die mir durch den Kopf gegangen sind. Aber bitte nicht hauen. :-)
Folgendes Szenario:
Debian 3.0
Apache 1.3.26
Perl 5.6.1-8.2
php4 4.1.2-6
Der Apache laeuft unter www-data. Diverse Virtuelle Hosts fuer Kunden (alle Webroots liegen in seperaten Verzeichnissen unter /var/www), davon eine Adminseite, auf der ueber die Restricted Area Option von Apache nur ich Zugriff habe. Das cgi-bin Verzeichnis habe ich von /usr/lib/cgi-bin direkt in die jeweiligen Webverzeichnisse verlegt um den FTP-Upload ueber einen chroot-konfigurierten ProFTPd zu ermoeglichen, jeder virtuelle Host hat sein eigenes cgi-bin.
Wie schaut es denn nun aus, wenn jemand Scripte in sein Webdir laed und ausfuehrt? Eben habe ich festgestellt, dass man natuerlich Spass hat, wenn man per php einen symbolischen Link auf "/" setzt. Kann man ja problemlos im Filesystem des Server surfen. Geht jetzt nicht mehr, habe schlicht und ergreifend die Symbolic Links in der httpd.conf nicht deaktiviert. Trotzdem sollten ja noch viele viele nette Dinge moeglich sein, z.B. Verzeichnisse auflisten, Programme starten, Sachen runterladen und so weiter, eben alles, auf was der User www-data Zugriff hat.
Richtig oder bin ich hier komplett falsch gewickelt?
Wie bekommt man das Problem in Griff? Interessant ist ja auch, dass alle virtuellen Hosts unter www-data laufen, dh ein Script eines bestimmten virtuellen Hosts kann auf alle anderen Webverzeichnisse zugreifen.
Wie machen das die "grossen" Provider?
Vielleicht kann mir ja jemand zum Geistesblitz verhelfen?!?
Viele Gruesse,
Martin
als nicht blutiger Anfanger aber trotzdem Semi-Newbie muss ich hier mal ein paar Fragen stellen, die mir durch den Kopf gegangen sind. Aber bitte nicht hauen. :-)
Folgendes Szenario:
Debian 3.0
Apache 1.3.26
Perl 5.6.1-8.2
php4 4.1.2-6
Der Apache laeuft unter www-data. Diverse Virtuelle Hosts fuer Kunden (alle Webroots liegen in seperaten Verzeichnissen unter /var/www), davon eine Adminseite, auf der ueber die Restricted Area Option von Apache nur ich Zugriff habe. Das cgi-bin Verzeichnis habe ich von /usr/lib/cgi-bin direkt in die jeweiligen Webverzeichnisse verlegt um den FTP-Upload ueber einen chroot-konfigurierten ProFTPd zu ermoeglichen, jeder virtuelle Host hat sein eigenes cgi-bin.
Wie schaut es denn nun aus, wenn jemand Scripte in sein Webdir laed und ausfuehrt? Eben habe ich festgestellt, dass man natuerlich Spass hat, wenn man per php einen symbolischen Link auf "/" setzt. Kann man ja problemlos im Filesystem des Server surfen. Geht jetzt nicht mehr, habe schlicht und ergreifend die Symbolic Links in der httpd.conf nicht deaktiviert. Trotzdem sollten ja noch viele viele nette Dinge moeglich sein, z.B. Verzeichnisse auflisten, Programme starten, Sachen runterladen und so weiter, eben alles, auf was der User www-data Zugriff hat.
Richtig oder bin ich hier komplett falsch gewickelt?
Wie bekommt man das Problem in Griff? Interessant ist ja auch, dass alle virtuellen Hosts unter www-data laufen, dh ein Script eines bestimmten virtuellen Hosts kann auf alle anderen Webverzeichnisse zugreifen.
Wie machen das die "grossen" Provider?
Vielleicht kann mir ja jemand zum Geistesblitz verhelfen?!?
Viele Gruesse,
Martin