Ich betreibe einen winzigen Webserver im Grunde nur zum Hosten kleiner Datenprojekte und Dateien. Dieser Server hat eine öffentliche IP-Adresse.
Ich möchte in der Lage sein, Dateien per FTP direkt in /var/www/*
hochzuladen , und deshalb erwäge ich, die www-data
zuzulassen Benutzer, um ein Passwort zu haben und sich direkt anzumelden. Dies würde auch verhindern, dass ich jedes Mal, wenn ich irgendetwas in einem Webverzeichnis mache, den Dateibesitzer ändern muss (was ich derzeit als Root mache, also gibt es auch dort ein Sicherheitsrisiko).
Besteht ein Sicherheitsrisiko, wenn dem www-data-Benutzer erlaubt wird, sich anzumelden? Wenn ja, was ist die beste Alternative?
Akzeptierte Antwort:
Ein Sicherheitsrisiko besteht darin, dass Sie möglicherweise den Webserver selbst töten oder anderweitig angreifen können (weil Sie dann denselben Benutzer verwenden). Dies ist wahrscheinlich nicht das, was Sie wollen. Dasselbe wahrscheinlich, wenn Sie root verwenden, richtig.
Zwei Lösungen:
-
Erstellen Sie ein Unterverzeichnis unter
/var/www
für dich selbst, chown es dir selbst und verwende dann deinen eigenen Benutzer. (oder erstellen Sie ein neues)Beispiel:
[email protected]# mkdir /var/www/joes-toys [email protected]# chown joeuser:joegroup /var/www/toys [email protected]# chmod u=rwx,g=rx,o=rx
-
Setzen Sie Ihren Benutzer (Ihren eigenen oder einen neuen) in die www-data-Gruppe und stellen Sie sicher, dass die Gruppe Schreibrechte auf
/var/www
hatBeispiel:
[email protected]# adduser joeuser www-data [email protected]# chgrp -R www-data /var/www [email protected]# chmod -R g+w /var/www
P.S.:Verwenden Sie heutzutage kein unverschlüsseltes FTP! Verwenden Sie sftp (aus der ssh-Suite) oder zumindest ftps (ftp over ssl).