PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : apache: debian versus andere



baaloon
22.04.05, 10:06
Hallo Leute,
Debian/Apache packt sein DocumentRoot in /var/www , Suse in /srv/www/...
Hat es irgendwelche Bedeutung? Bietet das /var mehr Sicherheit?

Wie sieht es mit public_html aus? Ich habe gehört, das dies eine Lücke sein soll.

Grusz Mathias

LKH
22.04.05, 10:40
Hi,

Standard für das DocumentRoot des Apache ist "/usr/local/apache/htdocs". Warum jede Distribution das woanders hinlegt enzieht sich meiner Kenntnis. Wo man das DocumentRoot dann auf einem produktivsystem hinlegt hängt dann von ganz individuellen Gegebenheiten ab.

Problem beim public_html ist, dass das Homeverzeichnis und das Unterverzeichnis "public_html" der User für alle lesbar sein muss. Gerade im Homeverzeichnis muss der User dann aufpassen, dass nicht jeder alles lesen kann.

LKH

drcux
22.04.05, 11:01
http://www.pathname.com/fhs/pub/fhs-2.3.html#SRVDATAFORSERVICESPROVIDEDBYSYSTEM

fuffy
22.04.05, 11:12
Hi!


Problem beim public_html ist, dass das Homeverzeichnis und das Unterverzeichnis "public_html" der User für alle lesbar sein muss. Gerade im Homeverzeichnis muss der User dann aufpassen, dass nicht jeder alles lesen kann.
Das ist so falsch. Für das Heimatverzeichnis des Benutzers braucht der Apache ausschließlich Execute-Rechte, um dort hineinzuwechseln. Lesen können muss er erst public_html. Außerdem kann man dafür sorgen, dass abgesehen vom Besitzer nur die Gruppe www-data Zugriff auf das Heimatverzeichnis des Benutzers hat.

Gruß
fuffy

LKH
22.04.05, 11:21
Hi,


Das ist so falsch. Für das Heimatverzeichnis des Benutzers braucht der Apache ausschließlich Execute-Rechte, um dort hineinzuwechseln. Lesen können muss er erst public_html. ...

Sorry, aber das kann ich nicht nachvollziehen: wer nicht das Recht zum Lesen hat, findet auch die Unterverzeichnisse nicht. Der Apache kann, wenn nur x gesetzt ist, zwar in Homeverzeichnis wechseln, würde aber public_html nicht finden, weil er ja nicht lesen darf.

Wie man ahnt, halte ich nicht viel von diesem public_thml-Gedöns. Im Homeverzeichnis hat ausschliesslich der User alle Rechte, alle anderen rein gar keine. Sollte jeder User eine Homepage haben sollen, sollte man sich was anderes einfallen lassen.

LKH

fuffy
22.04.05, 11:30
Sorry, aber das kann ich nicht nachvollziehen: wer nicht das Recht zum Lesen hat, findet auch die Unterverzeichnisse nicht. Der Apache kann, wenn nur x gesetzt ist, zwar in Homeverzeichnis wechseln, würde aber public_html nicht finden, weil er ja nicht lesen darf.
Doch, würde er. Er liest ja nicht erst alle Verzeichniseinträge von /home/user ein, sondern wechselt einfach direkt in /home/user/public_html rein.
Probiers einfach mal aus. Was glaubst du, warum man bei Verzeichnissen zwischen Hineinwechseln (x) und Auslesen (r) unterscheidet?

Du würdest in Shell doch auch einfach cd /home/user/public_html aufrufen, statt ls / | grep home && ls /home | grep user && ls /home/user | grep public_html && cd /home/user/public_html ;)

Gruß
fuffy

F.S.WhiTeY
22.04.05, 11:50
ich finde außerdem das das mit dem public_html im userverzeichnis das einfachste ist weil man dann beim ftp-server nur einen neuen benutzer in die passwd eintragen muss und nicht noch größeren aufwand hat.

es lebe die bequemlichkeit ^.^

baaloon
22.04.05, 12:19
Danke, für die Mitwirkung.
Dadurch sind meine Überlegungen und Zweifel bestätigt.
Ich bin am abwägen, ob ich es mir "bequem" mache, oder doch alles unter /var schaufel.
Folgende Überlegung: Wenn die Nutzer keine Shell bekommen (denn der Chef bin ich und die User haben nur Webseiten), kann es doch recht sicher sein? Denn, wie ich aus den Beiträgen entnehme, geht die Gefahr doch nur von meinen Nutzern aus, oder?
(Bitte um Berichtigung, wenn ich daneben liege)

Grusz Mathias

fuffy
22.04.05, 12:26
Folgende Überlegung: Wenn die Nutzer keine Shell bekommen (denn der Chef bin ich und die User haben nur Webseiten), kann es doch recht sicher sein? Denn, wie ich aus den Beiträgen entnehme, geht die Gefahr doch nur von meinen Nutzern aus, oder?
(Bitte um Berichtigung, wenn ich daneben liege)
Setz die Rechte der Verzeichnisse z.B. einfach so:

drwx--x--- ftpuser01 www-data /home/ftpuser01
drwxr-x--- ftpuser01 www-data /home/ftpuser01/public_html
Dann kommen außer dem ftpuser01 nur der Apache sowie root an public_html ran. Da er ja nur Webseiten hat, besteht ohnehin kein zusätzliches Sicherheitsrisiko.

Selbst wenn ftpuser01 noch andere Dateien hätte, könnte der Apache /home/ftpuser01 nicht auflisten, da ihm das read-Recht fehlt.

Gruß
fuffy

baaloon
22.04.05, 17:17
Okay, ich habe das so gemacht, und denke: es ist dicht!

Danke an alle!

LKH
22.04.05, 17:27
Hi,

@fuffy:


Doch, würde er. Er liest ja nicht erst alle Verzeichniseinträge von /home/user ein, sondern wechselt einfach direkt in /home/user/public_html rein.
Probiers einfach mal aus. Was glaubst du, warum man bei Verzeichnissen zwischen Hineinwechseln (x) und Auslesen (r) unterscheidet?


Hast Recht: ich hab das mit der Bash nur mit TAB getestet. Und dann muss ja wirklich gelesen werden ... Trotzdem mag ich kein public_html. :D

Schönes Wochenende,

LKH