Webserver alle User schnüffeln

Debian macht sich hervorragend als Web- und Mailserver. Schau auch in den " Tipps und Tricks"-Bereich.
Antworten
primeon
Beiträge: 39
Registriert: 16.06.2010 09:53:43

Webserver alle User schnüffeln

Beitrag von primeon » 09.09.2016 19:36:18

Hallo,
ich betreibe einen Webserver mit vielen Anwendungen.
Hautpsächlich im Webbreich.

Dazu sollte ich User anlegen, die später auf dem Aapche2 Webserver Ihrere eigenen Projekte verwalten können.

Ich legte dazu die User auf dem Webserver an, ohne eine Sichere Umgebung einzurichten.

Jetzt gibt es Mister Klugi, der meint, der müsse Admin spielen und kann anscheiend "Lesend auf viele Files zugreifen kann ".

Wie könnte man dass unterbinden?
Und wieso kann dieser Lesend auf die /etc/apache2/ sites-enabled kommen?

danke
Beste Grüße Primeon

Benutzeravatar
mindX
Beiträge: 1541
Registriert: 27.03.2009 19:17:28
Lizenz eigener Beiträge: GNU General Public License

Re: Webserver alle User schnüffeln

Beitrag von mindX » 09.09.2016 22:33:46

Ich bin mir nicht sicher, ob ich die Frage richtig verstehe. Daher unter Vorbehalt:

Wenn du die User mit

Code: Alles auswählen

adduser
angelegt hast, so gestattet Debian per default Lesezugriff auf die Homeverzeichnisse der anderen User.

Dieses Verhalten lässt sich per

Code: Alles auswählen

dpkg-reconfigure adduser
ändern. Leider nur für zukünftig angelegte User, d.h. du musst alle User neu anlegen und migrieren oder darauf warten, dass hier jemand antwortet, der mehr Plan von der Sache hat. :P

uname
Beiträge: 12072
Registriert: 03.06.2008 09:33:02

Re: Webserver alle User schnüffeln

Beitrag von uname » 10.09.2016 07:11:46

Wenn jemand Webprojekte verwalten kann, darf er z.B. auch PHP-Dateien hochladen. Ohne sichere Webserver-Umgebung kann z.B. ein Filemanager [1] auch auf Unterstrukturen zugreifen. Downloade mal den Filemanager (eine index.php), kopiere es irgendwo hin und schau was du dir alles anschauen kannst. Natürlich gibt es weitere Dateimanager.

[1] http://phpfm.sourceforge.net

Jetzt gibt es Mister Klugi, der meint, der müsse Admin spielen und kann anscheiend "Lesend auf viele Files zugreifen kann ".
Man kann und darf auf viele Linux-Strukturen lesend zugreifen. Normale Shell-Benutzer müssen dann in eine chroot-Umgebung, Webserver kannst du entsprechend ähnlich wie normale Hoster auch einschränken.

Ein schönes Beispiel für das Linux-Dateisystem ist /etc/passwd, wo für alle Benutzer notwendige Informationen drinstehen (welcher Benutzer hat welche UID?). Einzig problematisch ist der veraltete Name "passwd", der Unsicherheit suggeriert.

Mozie
Beiträge: 31
Registriert: 20.05.2015 13:09:39

Re: Webserver alle User schnüffeln

Beitrag von Mozie » 12.09.2016 12:40:25

Hi,

der Titel "... alle User schnüffeln" finde ich mal geil :D
Also wenn man einen Webserver mit mehreren Usern betreibt, dann sollte man auch mal auf solch einen "Mr. Klugi" hören. Denn teilweise hat er Recht.

Wie hast du denn deinen Webserver eingerichtet? Laufen die Websiten unter /var/www/UserX/ oder unter /home/UserX?
Legst du User an, die nur ihren Webspace verwalten sollen, dann brauchst du keinen SSH Zugriff und brauchst auch keine Angst haben, dass Sie dir so deine Konfiguration ausspionieren können. (Mehr wie spionieren ist mit Lesezugriff nicht drinnen) (SSH-Login in der passwd verbieten)
Um Daten auf den Webspace zu speichern, git es die Möglichkeit über einen FTP-Server jeden User in sein Webspaceordner einzusperren. (chroot)
Damit PHP Scripte nicht bei jedem User Änderungen vornehmen können, solltest du die php.ini für jeden User anpassen und auch unter dem jeweiligen User ausführen (FastCGI)
Nun gibt es noch das Problem namens Apache. Dein Webserver MUSS auf jeden Ordner lesen können. Das kann man leicht machen, indem man die Gruppe www-data auf die Webspace Ordner der User lesezugriff gibt. Nun kann jedoch ein User einen Symlink anlegen und somit Datein anderer User im Browser durch Apache ausgeben lassen. (auch die passwd)
Möglichkeit 1. Symlinks in der Apacheconfig verbieten (Achtung einige CMS-Systeme funktionieren dann nicht mehr)
Möglichkeit 2. in der Apache Config FollowSymLinks mit SymLinksIfOwnerMatch ersetzen, jedoch muss dann in den entsprechenden CMS-Systemen ebenfalls aus FollowSymLinks mit SymLinksIfOwnerMatch ersetzt werden. Sonst gibt es Einen 500er Error.
Möglichkeit 3. deinen Linuxkernel Patchen um so die Symlinks abzusichern (grsec)

Hoffe ich konnte dir einen kleinen Denkanstoß geben.

MFG Micha

Antworten