it-swarm-eu.dev

Best Practices für Webserver: Verzeichnisstruktur und Sicherheit

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 ich sicherstellen kann, dass mein PureFTPd-Benutzer Dateien/Verzeichnisse in den Webordnern bearbeiten kann.

15

Was ich auf meinem Server getan habe, damit mein Benutzer die Dinge direkt in /var/www schreiben kann, ist:

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.

5
maco

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 zum richtigen Konfigurieren Ihres Verzeichnisses .

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 haben ein Tutorial zum Einrichten eines solchen FTP-Servers .

2
txwikinger

Wenn ich nur einen Ubuntu-Server habe, mit mehreren Benutzern, die den Server als Webserver verwenden, verschrotte ich das Verzeichnis /var/www, weil Sie für mich - /var/www Webdateien global ablegen. Ich aktualisiere das Verzeichnis /etc/skel und füge einen Ordner public und private mit einem Symlink www -> public hinzu und aktualisiere alle DocumentRoots meiner virtuellen Hosts so, dass sie auf /home/<user>/public verweisen.

Ich sehe /var/www nicht als Ablageort für Ordner und Dateien auf Benutzerebene. Dafür wurde das Verzeichnis /home/ entwickelt! Es hält Pfade und Verzeichnisstrukturen sauber.

0
Marco Ceppi