Die richtigen Rechte auf Lima City
lima-city → Forum → Die eigene Homepage → Sicherheit im Internet
absicherung
artikel
bedeutung
brauchen
datei
erreichen
ftp
funktionieren
gruppe
interessieren
konfiguration
nutzer
sperren
stelle
unterscheidung
unterschiedlichen gruppen
url
versuchen
verzeichnis
zugriff
-
Datei- und Verzeichnisrechte - welche sind opimal für die Sicherheit meiner Homepage und meiner Dateien? Also konkret: Wie verweigere ich eingeschleusten PHP-Scripts (andere Sprachen laufen nicht auf LC) Manipulationen auf meinem Webspace?
Ich habe festgestellt, dass die Rechte-Einstellungen hier auf Lima City nicht wie erwartet wie auf meinem Linuxrechner funktionieren, sondern irgendwie anders. Durch ausführliches Ausprobieren bin ich auf diese (etwas verblüffenden) Rechtevergaben gekommen, die ich für möglichst sicher halte:
Alle beschreibbaren, veränderbaren Dateien: 600
Alle anderen Dateien (vor allem php-Scripts und .htaccess): 400
Alle Nur-Lese-Verzeichnisse: 500
Alle anderen Verzeichnisse: 700
Dazu passt der Binary-Butterfly-Artikel "Dateirechte: wie stelle ich das bei meinem Hoster ein?".
Dort steht unter anderem:
"Leider gibt es beim Thema Dateirechte kein Universalrezept. Viele Anleitungen suggerieren, dass man einfach chmod 750 bzw 640 machen müsse, und schon sei alles sicher. Wenn FTP- und PHP-Nutzer allerdings identisch sind, ist chmod wirkungslos. ... Erschreckend viele Hoster weisen auf die völlige Sinnlosigkeit von chmod bei identischen Systemnutzern nicht einmal hin und wiegen so ihre Kunden in falscher Sicherheit."
Es kommt also darauf an, dass FTP-Nutzer und PHP-Nutzer rechtemäßig unterschiedlich behandelt werden. Das scheint bei LC zwar irgendwie zu funktionieren, aber nicht so wie auf einem eigenen Linux gewöhnt. Es ist kein Problem, Gruppen generell zu sperren, das ist offenbar unerheblich. Lediglich bei den Ownern wird unterschieden, doch nicht wie erwartet.
Wenn sich seit dem vorgenannten Artikel (November 2014) nichts bei LC geändert hat, gilt:
Binary-Butterfly-Artikel:
"lima-city
Keine Trennung von PHP- und FTP-Nutzer möglich, daher chmod wirkungslos und korrekte Dateirechte nicht realisierbar.
Website: https://www.lima-city.de/
Quelle: Support."
(Gilt laut Artikel übrigens auch für 1&1, Alfahosting, Domainfactory, Hetzner und andere.)
So wird es wohl sein. Mit der Einschränkung, dass die von mir genannten unorthodoxen Rechte-Einstellungen sehr wohl verhindern können, dass ein eingeschmuggeltes oder manipuliertes PHP-Script Schäden verursacht.
Wie sind eure Erfahrungen mit den Rechte-Einstellungen?
Beitrag zuletzt geändert: 5.8.2017 12:10:29 von theglobe -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
theglobe schrieb:
Das scheint bei LC zwar irgendwie zu funktionieren, aber nicht so wie auf einem eigenen Linux gewöhnt.
Was ist denn für dich "wie gewohnt"? Je nachdem wie du deinen Webserver, PHP, FTP konfigurierst ist das Standardverhalten ein anderes.
Es ist kein Problem, Gruppen generell zu sperren, das ist offenbar unerheblich. Lediglich bei den Ownern wird unterschieden, doch nicht wie erwartet.
"nicht wie erwartet". Was erwartest du denn wenn FTP und PHP als der selbe Nutzer läuft? Da ist auch nicht der Owner anders.
Wie sind eure Erfahrungen mit den Rechte-Einstellungen?
Wenn man einen Moment drüber nachdenkt vollkommen logisch. FTP- und PHP-User sind dieselben.
Hat den Nachteil dass über ein ggf. gehacktes Script nicht andere Dateien infizieren kann.
Allerdings müsste man dem User dann halt klar machen welche Daten er wie setzen muss damit z.B. ein Cacheverzeichnis richtig geschrieben werden kann. Oder ein Config-Datei. Oder ein Wordpress-Upload-Verzeichnis.
Und man müsste ihm erklären warum ein Auto-Update nicht mehr funktioniert. -
theglobe schrieb:
Nein, auch die von dir vorgeschlagenen Rechte helfen nicht gegen eine Manipulation von Skriptdateien durch PHP.
Binary-Butterfly-Artikel:
"lima-city
Keine Trennung von PHP- und FTP-Nutzer möglich, daher chmod wirkungslos und korrekte Dateirechte nicht realisierbar.
Website: https://www.lima-city.de/
Quelle: Support."
(Gilt laut Artikel übrigens auch für 1&1, Alfahosting, Domainfactory, Hetzner und andere.)
So wird es wohl sein. Mit der Einschränkung, dass die von mir genannten unorthodoxen Rechte-Einstellungen sehr wohl verhindern können, dass ein eingeschmuggeltes oder manipuliertes PHP-Script Schäden verursacht.
Ein PHP-Programm kann einfach selbst ein chmod() ausführen, eben weil es mit dem selben Nutzer wie FTP arbeitet. Das sieht dann z.B. so aus:<?php $perms = fileperms(__FILE__); chmod(__FILE__, 0600); $f = fopen(__FILE__, "a"); fwrite($f, "// ".date("H:i:s")."\n"); fclose($f); chmod(__FILE__, $perms);
Speichere dieses Skript auf deinem Webspace und erteile ihm die Rechte 400. Es wird trotzdem bei jedem Aufruf einen Kommentar mit der aktuellen Uhrzeit bei sich selbst ergänzen. Dazu macht es sich zunächst schreibbar, hängt dann eine Zeile an und stellt schließlich die ursprünglichen Rechte wieder her, um nicht aufzufallen. -
fuerderer schrieb:
Nein, auch die von dir vorgeschlagenen Rechte helfen nicht gegen eine Manipulation von Skriptdateien durch PHP.
Ein PHP-Programm kann einfach selbst ein chmod() ausführen, eben weil es mit dem selben Nutzer wie FTP arbeitet.
Stimmt! Danke für diesen Hinweis!
Meine Beobachtung: FTP und PHP sind der selbe Owner/Eigner, doch sie gehören zu unterschiedlichen Gruppen. PHP zur Gruppe 65534, FTP zur Gruppe 33. Dennoch haben zugeteilte Gruppenrechte keine Bedeutung, denn der Eigner ist halt jedesmal der selbe. Andererseits kann ich mit einem PHP-Script den FTP-Zugriff mit chmod 040 sperren - und umgekehrt. Offenbar kann man die Unterscheidung auf diese Weise dennoch erreichen, und eine Absicherung wird auf diese Weise möglich. Oder?
muellerlukas schrieb:
Was ist denn für dich "wie gewohnt"? Je nachdem wie du deinen Webserver, PHP, FTP konfigurierst ist das Standardverhalten ein anderes.
...
"nicht wie erwartet". Was erwartest du denn
Danke für dein Feedback! Ich hoffe, es ist deutlich geworden, dass ich mich nicht beklage über die Konfiguration von Lima City!
In den Forenbeiträgen allerdings schwirren Überlegungen zu chmod 777, chmod 640 etc. herum, was nicht zu dem passt, was mir aufgefallen ist. Ich möchte, dass wir User einfach wissen, wie das mit den Dateirechten hier geregelt ist, um eben gut gerüstet und nicht verwirrt zu sein.
"Gewohnt" und "erwartungsgemäß" bezieht sich zum einen auf die genannten Empfehlungen (chmod 640 beispielsweise erwartet ja, dass es etwas bringt, Gruppenrechte einzustellen), und zum anderen auf meine eigenen Installationen von Apache, in denen ich die mitgelieferten default-Konfigurationen übernommen habe - wie viele, vermute ich. Daher Erwartung und Gewohnheit - doch nicht als fiese Kritik gemeint, das ist jetzt vermutlich zu spüren.
Ich verstehe, dass die Konfiguration bei Lima City eine Vereinfachung für die User ist. -
theglobe schrieb:
Auf Unix-Systemen ist es üblich, dass der Owner einer Datei jederzeit deren Rechte ändern kann. Da FTP und PHP immer als Eigentümer zählen, wäre damit eben kein Schutz gewährleistet.
Meine Beobachtung: FTP und PHP sind der selbe Owner/Eigner, doch sie gehören zu unterschiedlichen Gruppen. PHP zur Gruppe 65534, FTP zur Gruppe 33. Dennoch haben zugeteilte Gruppenrechte keine Bedeutung, denn der Eigner ist halt jedesmal der selbe. Andererseits kann ich mit einem PHP-Script den FTP-Zugriff mit chmod 040 sperren - und umgekehrt. Offenbar kann man die Unterscheidung auf diese Weise dennoch erreichen, und eine Absicherung wird auf diese Weise möglich. Oder?
Die Rechte 040 habe ich also ausprobiert - und jetzt bin ich auch verwirrt.
Wenn das Owner-Leserecht fehlt, kann ich über FTP die Rechte nicht mehr ändern. Ist das bei dir genauso?
Außerdem kann ich mit FTP das Leserecht und das Schreibrecht des Eigentümers nicht mehr entfernen, sobald es einmal gesetzt ist. Wenn ich über FTP "chmod 000" bei einer Datei mit den Rechten 777 versuche, stehen die Rechte anschließend auf 600.
Mit PHP ist eine Rechteänderung aber immer möglich, ohne Einschränkung.
Mir erschließt sich deshalb noch nicht, wie man jetzt über FTP eine Datei anlegen soll, damit PHP diese noch lesen aber nicht mehr schreiben kann. Das war doch das Ziel des ganzen. Kannst du dafür ein Beispiel machen? -
fuerderer schrieb:
Die Rechte 040 habe ich also ausprobiert - und jetzt bin ich auch verwirrt.
Wenn das Owner-Leserecht fehlt, kann ich über FTP die Rechte nicht mehr ändern. Ist das bei dir genauso?
Ja, absolut genau so.
fuerderer schrieb:
Außerdem kann ich mit FTP das Leserecht und das Schreibrecht des Eigentümers nicht mehr entfernen, sobald es einmal gesetzt ist.
Ist bei mir ebenso.
fuerderer schrieb:
Wenn ich über FTP "chmod 000" bei einer Datei mit den Rechten 777 versuche, stehen die Rechte anschließend auf 600.
Wie bei mir (wenn ich Nautilus benutze).
fuerderer schrieb:
Mit PHP ist eine Rechteänderung aber immer möglich, ohne Einschränkung.
Ja, bei mir auch, leider. Vor den PHP-Scripten ist nichts sicher. Schade!
fuerderer schrieb:
Mir erschließt sich deshalb noch nicht, wie man jetzt über FTP eine Datei anlegen soll, damit PHP diese noch lesen aber nicht mehr schreiben kann. Das war doch das Ziel des ganzen. Kannst du dafür ein Beispiel machen?
Wie meinst du das? Ich fänd es wünschenswert, wenn ich PHP-Scripts Zugriffsrechte geben und entziehen könnte. Ein Sicherheitsfaktor. Wie das mittels Nautilus oder anderen FTP-Zugängen gehen soll, wenn diese nicht mitspielen, weiß ich auch nicht.
Beitrag zuletzt geändert: 5.8.2017 17:39:40 von theglobe -
theglobe schrieb:
Meine Beobachtung: FTP und PHP sind der selbe Owner/Eigner, doch sie gehören zu unterschiedlichen Gruppen. PHP zur Gruppe 65534, FTP zur Gruppe 33. Dennoch haben zugeteilte Gruppenrechte keine Bedeutung, denn der Eigner ist halt jedesmal der selbe. Andererseits kann ich mit einem PHP-Script den FTP-Zugriff mit chmod 040 sperren - und umgekehrt. Offenbar kann man die Unterscheidung auf diese Weise dennoch erreichen, und eine Absicherung wird auf diese Weise möglich. Oder?
Nicht wirklich. Eine gewisse Hierarchie herrscht in Linux-Systemen bei den Dateirechten: root -> Userrechte -> Gruppenrechte.
Die Gruppenrechte haben natürlich eine Bedeutung, aber es greifen halt erst mal die Schreibrechte von der Userbasis.
In den Forenbeiträgen allerdings schwirren Überlegungen zu chmod 777, chmod 640 etc. herum, was nicht zu dem passt, was mir aufgefallen ist.
777 ist das dämlichste was man machen kann. Auch wenn es einfach ist. Heißt im Endeffekt dass jeder Nutzer mit der Datei machen darf was er will. Schreiben, Lesen, Löschen.
Hier ist das "egal" weil dein FTP- und PHP-Account in das Verzeichnis eingesperrt wird.
Gruppenrechte: Wie gesagt: Normale Dateirechte. Userrechte gehen vor Gruppenrechte.
Ich möchte, dass wir User einfach wissen, wie das mit den Dateirechten hier geregelt ist, um eben gut gerüstet und nicht verwirrt zu sein
Man muss sich da einfach nur verstehen dass FTP- und PHP-User gleich sind. Und natürlich die Dateirechte. Mehr ist das nicht. -
muellerlukas schrieb:
theglobe schrieb:
Offenbar kann man die Unterscheidung auf diese Weise dennoch erreichen, und eine Absicherung wird auf diese Weise möglich. Oder?
Nicht wirklich.
Ja, du hast Recht, die Dateirechte bleiben wirkungslos, wie Binary Butterfly für Lima City schrieb:
Binary-Butterfly-Artikel:
"lima-city
Keine Trennung von PHP- und FTP-Nutzer möglich, daher chmod wirkungslos und korrekte Dateirechte nicht realisierbar.
Website: https://www.lima-city.de/
Quelle: Support."
muellerlukas schrieb:
777 ist das dämlichste was man machen kann.
Das wäre, was man erwarten würde. Da aber die Dateirechte bei Lima City ohnehin keine echten Einschränkungen zulassen, ist's auch schon egal, Stichwort "040".
muellerlukas schrieb:
Man muss sich da einfach nur verstehen dass FTP- und PHP-User gleich sind. Und natürlich die Dateirechte. Mehr ist das nicht.
Allerdings kann mit den Gruppenrecht etwas gemacht werden, weil FTP und PHP unterschiedlichen Gruppen angehören. Ob das angesichts der Tatsache, dass beide aber Owner sind, eine Rolle spielt, teste ich noch etwas durch. -
theglobe schrieb:
Damit wirst du nicht viel erreichen. Wenn ein Prozess dem Owner einer Datei angehört, gelten für ihn die Ownerrechte, alles andere interessiert einfach nicht.
Allerdings kann mit den Gruppenrecht etwas gemacht werden, weil FTP und PHP unterschiedlichen Gruppen angehören. Ob das angesichts der Tatsache, dass beide aber Owner sind, eine Rolle spielt, teste ich noch etwas durch.
Um das mal an einem Extrembeispiel klar zu machen: Wenn ich unter Linux einer Datei, die mir gehört die Rechte 077 gebe, darf ich selbst nicht mehr darauf zugreifen, während alle anderen Nutzer alles damit tun dürfen.
Die Berechtigungen ändern kann ich natürlich trotzdem wieder, ich kann mich also nicht selbst von einer Datei aussperren. Aber solange ich die Rechte auf 077 belasse, wird mir der Zugriff verwehrt.
Für Lima-City würde ich die Situation ganz einfach zusammenfassen:
1. Wir müssen uns nicht um die Sicherheit des eigenen Webspaces kümmern. Andere Nutzer können nicht darauf zugreifen, das wird durch das FTP-Wurzelverzeichnis, open_basedir und die Sperrung einer Reihe von PHP-Funktionen sichergestellt. Außerdem sind die group- und others-Rechte standardmäßig bei neuen Dateien auf 0 gesetzt.
2. Als FTP-Nutzer den PHP-Skripten Rechte wegzunehmen wird nicht funktionieren - zumindest nicht wirksam. Gleiches gilt umgekehrt.
Die Dateirechte hier auf dem Webspace brauchen uns also nicht zu interessieren. Wir lassen sie einfach wie sie sind und alles ist gut. -
fuerderer schrieb:
Ja! Ich bin überzeugt. Es ist bei Lima City piepenhagen, ob wir ein Verzeichnis mit 700- oder 777-Rechten ausstatten. Einerseits doof, andererseits ist der von dir genannte Schutz mit open_basedir / Sperrung von PHP-shell-Funktionen ausreichend. Dass ich mich mit den Rechten nicht weiter auseinandersetzen muss, ist auch eine Erleichterung.
Die Dateirechte hier auf dem Webspace brauchen uns also nicht zu interessieren. Wir lassen sie einfach wie sie sind und alles ist gut.
fuerderer schrieb:
Was bei der gegenwärtigen Konfiguration keinen Effekt für uns hat.
Außerdem sind die group- und others-Rechte standardmäßig bei neuen Dateien auf 0 gesetzt.
Ich halte für diesen Thread also nochmal dein Ergebnis fest:
Die Dateirechte hier auf dem Webspace brauchen uns also nicht zu interessieren. Wir lassen sie einfach wie sie sind und alles ist gut. -
theglobe schrieb:
Ich halte für diesen Thread also nochmal dein Ergebnis fest:
Die Dateirechte hier auf dem Webspace brauchen uns also nicht zu interessieren. Wir lassen sie einfach wie sie sind und alles ist gut.
Ne, würde ich nicht behaupten. Aktuell ist es so. Aber ob das dauerhauft so bleibt kann keiner garantieren.
Besser man setzt sie direkt richtig. Dann spart man sich bei der Umstellung die Arbeit. -
fuerderer schrieb:
Wenn ich über FTP "chmod 000" bei einer Datei mit den Rechten 777 versuche, stehen die Rechte anschließend auf 600.
Das hatte ich ebenfalls festgestellt. Dazu habe ich hier für Lima City diesen Hinweis gefunden:
Aus dem Blog des Co-Admins thomasba:
So manche Software möchte, das man die Rechte der config-Datei auf 0444 (nur lesen) setzt. Wenn dem nicht so ist geben diese oft eine Fehlermeldung aus. Um diese Fehlermeldung weg zu bekommen, muss man die Rechte der Datei ändern. Der erste Gedanke ist, einen FTP-Client wie Filezilla zu verwenden, um diese zu ändern. Doch leider unterbindet es der bei lima-city eingesetzte FTP-Server (...), das man niedrigere Rechte als Lesen/Schreiben für den Besitzer ... setzt.
Für diesen Fall empfiehlt er PHP, welches die Rechte frei setzen darf. Wie wir ja festgestellt haben.
Der Blog ist überhaupt eine Fundgrube bezüglich Erläuterungen zu den Spezialitäten bei Lima City.
EDIT:
Ich habe für mich beschlossen, .htaccess und php-Dateien trotz der prinzipiellen Sinnlosigkeit das reine Leserecht 400 zuzuweisen, denn es gibt in einem einzigen Fall dennoch den Extra-Kick an Sicherheit: Wenn nämlich trotz aller Vorkehrungen hochgeladene Fremd-PHPs einfach nur zugreifen wollen, ohne zu versuchen, die Dateirechte selbst zu ändern. Ist wie Auto-Abschließen - wenn ich sehe, wie schnell ein Autodienst mit einem schlichten Stück Eisenband die Tür aufbekommt, frage ich mich manchmal, warum ich überhaupt abschließe. Trotzdem tu ich's, denn es hilft dennoch.
Beitrag zuletzt geändert: 7.8.2017 11:12:34 von theglobe -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage