Best Practices für Webserver: Verzeichnisstruktur und Sicherheit

15

Ich möchte den Ubuntu-Server als Webserver verwenden, aber ich möchte sicherstellen, dass ich die Best Practices für die Einrichtung befolge. Ich möchte sicherstellen, dass ich das Verzeichnis am besten Speicherort einrichte und verstehe, wie die entsprechende Sicherheit für diesen Ordner konfiguriert wird. Ich möchte in der Lage sein, per FTP auf den Server zuzugreifen und Dateien in die Webordner zu verschieben. Daher möchte ich verstehen, wie sichergestellt werden kann, dass mein PureFTPd-Benutzer Dateien / Verzeichnisse in den Webordnern bearbeiten kann.

JPrescottSanders
quelle
Ich fand diese Antwort auf serverfault.com und fand sie sehr nützlich. Viele der Kommentare sind ein Leckerbissen für den Umgang mit diesem Thema.
MystaMax

Antworten:

5

Was ich auf meinem Server gemacht habe, damit mein Benutzer Dinge direkt in SFTP schreiben kann, /var/wwwist:

sudo chgrp -R www-data /var/www
sudo usermod -aG www-data $(whoami)
sudo chmod -R 775 /var/www/*
sudo chmod 2775 /var/www

Dies versetzt Ihren Benutzer in eine Gruppe, der / var / www und alle untergeordneten Verzeichnisse gehören, setzt alles in / var / www rekursiv, um Ihrer Gruppe Schreibzugriff zu gewähren, und setzt das setgid-Bit im Verzeichnis / var / www Alle später unter / var / www erstellten Dateien behalten den gleichen Gruppeneigentum bei, anstatt die Gruppe auf die primäre Gruppe des Erstellers festzulegen.

maco
quelle
Dies ist eine gute Methode, aber nur, wenn Sie eine andere Gruppe erstellen , aus www-datader die Gruppe stammt, unter der der Webserver selbst bereits ausgeführt wird. Infolgedessen können die Dateien, unter denen /var/wwwsich die Webserverskripte befinden, durch eine Gefährdung geändert werden. Wechsle einfach www-datazu so etwas wie web-users(und erstelle diese Gruppe mit sudo addgroup web-users).
Kees Cook
2

Dies ist eine sehr allgemeine Frage.

Natürlich möchten Sie Ihren Webserver nicht als Root ausführen. Die Ubuntu-Installation macht das jedoch schon richtig.

Außerdem finden Sie auf der Apache-Website einige Tipps, wie Sie Ihr Verzeichnis richtig konfigurieren können .

In Bezug auf FTP. Sie möchten sicherstellen, dass Sie einen sicheren FTP-Server verwenden, der Ihre Benutzernamen und Kennwörter nicht im Klartext über das Netzwerk sendet. Die Ubuntu-Hilfeseiten enthalten eine Anleitung zum Einrichten eines solchen FTP-Servers .

txwikinger
quelle
Ich schätze die Informationen, ich weiß, dass sie allgemein gehalten sind. Ich hatte gehofft, dass die Best Practices für das Einrichten der Dinge eher allgemein gehalten werden.
JPrescottSanders
0

Wenn ich nur einen Ubuntu-Server habe, mit mehreren Benutzern, die den Server als Webserver verwenden, verschrotte ich das /var/wwwVerzeichnis, weil Sie für mich /var/wwwWebdateien global ablegen. Ich das Update - /etc/skelVerzeichnis und ein hinzufügen publicund privateOrdner mit einem Symlink www -> publicund alle meine virtuellen Hosts DocumentRoots Punkt aktualisieren /home/<user>/public.

Ich sehe keinen /var/wwwOrt, an dem mehrere Ordner und Dateien auf Benutzerebene abgelegt werden können. Dafür ist das /home/Verzeichnis konzipiert! Es hält Pfade und Verzeichnisstrukturen sauber.

Marco Ceppi
quelle