Hallo zusammen,
ich spiele gerade mit Debian und habe zum Testzweck einen Web-Server installiert.
Alles was mit Web zu tun hat, habe ich /var/www/html kopiert. Soweit funktioniert alles.
Jedoch habe ich paar mal entdeckt, dass anstatt /var/www/html auch das Benutzer home-Verzeichnis verwendet wird.
Zum Beispiel:
/home/benutzername
oder sogar nur /home
Ich würde gern wissen, warum man sowas macht und welche Vor- und Nachteile diese mit sich bringt.
Oder ob das überhaupt mit Sicherheit zu tun hat.
Danke
Web-Server Installationsverzeichnis
Re: Web-Server Installationsverzeichnis
Meist eine Folge von "ich hab nem Tutorial gefolgt und der hatte auch keine Ahnung".
Beispiel:
Alice will Ihren Server sicher konfigurieren und hat gelesen, dass man daher ssh Zugriff über SSH-Keys aktiviert. Sehr gute Idee, also macht sie das. Bob will Daten auf Alice Webseite ablegen, Alice findet das gut also installiert sie etwas mit dem Bob Dateien hochladen kann. Nun ... was passiert, wenn Alice nun den Speicherort von /var/www nach /home verschiebt? Bob bekommt Zugriff auf alles was unter /home liegt. Und alles heisst hier auch wirklich alles. Incl der Datei in der die Zugangsberechtigungen für den SSH Zugang liegen. Also ist das nächste, was Bob macht: sich einen neuen ssh key erzeugen, den public Teil auf den Server hochladen und schon hat er Shellzugang. Bob stöbert erstmal ausgiebig in Alice privaten Daten.
Ausserdem hatte Alice ja noch diverse Tutorials gelesen, in denen stand, dass man sudo brauchen würde. Also installierte Alice auch sudo (schlechte Idee) und passte es wie im Tutorial empfohlen an (sehr schlechte Idee). Der nächste Schritt von Bob: einfach kleines sudo eingeben. Nun ist Bob root und kann mit dem Server machen was er will.
Home freigeben macht man ohne triftigen Grund besser nicht. Dass der Webserver bei vielen (wenn nicht sogar den meisten) Distributionen unter seinem eigenen User (bei Debians Apache2 z.B. www-data) läuft, nen eigenes Verzeichnis hat und nur Zugriff auf Daten haben soll, die dem jeweiligen User (hier www-data) zugeordnet sind, ist Absicht und sinnvoll.
Vorteile? Naja, Du hast die Verzeichnisstruktur 1:1 freigegeben, in seltenen Fällen ist sowas sogar mal sinnvoll. Z.B. wenn die Kiste nur als reiner Webserver dient, alle Accounts entsprechend abgesichert sind, die User nur in Ihr jeweiliges Verzeichnis dürfen um dort Dateien zu plazieren und der Webserver so eingstellt ist, dass er bestimmte Verzeichnisses nicht rausgibt. Vereinfacht unter Umständen die Administration, obs ne gute Idee ist, sei mal dahin gestellt.
Beispiel:
Alice will Ihren Server sicher konfigurieren und hat gelesen, dass man daher ssh Zugriff über SSH-Keys aktiviert. Sehr gute Idee, also macht sie das. Bob will Daten auf Alice Webseite ablegen, Alice findet das gut also installiert sie etwas mit dem Bob Dateien hochladen kann. Nun ... was passiert, wenn Alice nun den Speicherort von /var/www nach /home verschiebt? Bob bekommt Zugriff auf alles was unter /home liegt. Und alles heisst hier auch wirklich alles. Incl der Datei in der die Zugangsberechtigungen für den SSH Zugang liegen. Also ist das nächste, was Bob macht: sich einen neuen ssh key erzeugen, den public Teil auf den Server hochladen und schon hat er Shellzugang. Bob stöbert erstmal ausgiebig in Alice privaten Daten.
Ausserdem hatte Alice ja noch diverse Tutorials gelesen, in denen stand, dass man sudo brauchen würde. Also installierte Alice auch sudo (schlechte Idee) und passte es wie im Tutorial empfohlen an (sehr schlechte Idee). Der nächste Schritt von Bob: einfach kleines sudo eingeben. Nun ist Bob root und kann mit dem Server machen was er will.
Home freigeben macht man ohne triftigen Grund besser nicht. Dass der Webserver bei vielen (wenn nicht sogar den meisten) Distributionen unter seinem eigenen User (bei Debians Apache2 z.B. www-data) läuft, nen eigenes Verzeichnis hat und nur Zugriff auf Daten haben soll, die dem jeweiligen User (hier www-data) zugeordnet sind, ist Absicht und sinnvoll.
Vorteile? Naja, Du hast die Verzeichnisstruktur 1:1 freigegeben, in seltenen Fällen ist sowas sogar mal sinnvoll. Z.B. wenn die Kiste nur als reiner Webserver dient, alle Accounts entsprechend abgesichert sind, die User nur in Ihr jeweiliges Verzeichnis dürfen um dort Dateien zu plazieren und der Webserver so eingstellt ist, dass er bestimmte Verzeichnisses nicht rausgibt. Vereinfacht unter Umständen die Administration, obs ne gute Idee ist, sei mal dahin gestellt.
Re: Web-Server Installationsverzeichnis
Das Verzeichnis /home/benutzer oder besser /home/benutzer/www als Web-Directory nimmt man gerne, wenn man auf einem System mehrere VHosts betreibt, die jeweils von einem Benutzer gepflegt werden. Jeder Nutzer bekommt per (s)ftp Zugriff auf sein Home-Verzeichnis (und nur darauf, per chroot einsperren), und kann so Inhalte für seine Seite hochladen.
Re: Web-Server Installationsverzeichnis
Erst mal Willkommen im Forum.
Hast du überhaupt entsprechende Debian-Pakete aus den Paketquellen wie
apache2 verwendet oder das Zeug sonstwo gezogen?
Welcher Anleitung bist du gefolgt? Welche Konfigurationsdateien hast du geändert?
Hast du überhaupt entsprechende Debian-Pakete aus den Paketquellen wie

Welcher Anleitung bist du gefolgt? Welche Konfigurationsdateien hast du geändert?
Re: Web-Server Installationsverzeichnis
@eggy
Danke für Deine ausführliche Antwort. Ich glaube langsam kann ich nachvollziehen.
@mludwig
Danke Dir. Das ist dann ne coole Sache.
@uname
Ich habe einen minimalen Server mit ssh und Web-Server installiert. apache2 und MySQL sind am Board.
Außer eine Datenbank anzulegen habe ich noch nichts.
Ich wollte daher alles, was nötig ist, im Vorfeld wissen, bevor ich anfange.
PS: Ich bin kein blutiger Linux-Anfänger. Jedoch mit Web-Server-Konfiguration- und Sicherheit habe ich noch keine praktische Erfahrungen gemacht.
Ich bin für jede Antwort sehr dankbar.
Danke für Deine ausführliche Antwort. Ich glaube langsam kann ich nachvollziehen.

@mludwig
Danke Dir. Das ist dann ne coole Sache.
@uname
Ich habe einen minimalen Server mit ssh und Web-Server installiert. apache2 und MySQL sind am Board.
Außer eine Datenbank anzulegen habe ich noch nichts.
Ich wollte daher alles, was nötig ist, im Vorfeld wissen, bevor ich anfange.
PS: Ich bin kein blutiger Linux-Anfänger. Jedoch mit Web-Server-Konfiguration- und Sicherheit habe ich noch keine praktische Erfahrungen gemacht.
Ich bin für jede Antwort sehr dankbar.