Gast
#4121679
Hallo Web-Programmierer, eine Frage zur Sicherheit eines online-Editors, welcher den angemeldeten Usern ein Server-seitiges Filesystem im Browser über eine RESTful API zugänglich macht: Auf dem Linux-Server liegen unter /home/<user1>, /home/<user2>, ... die persönlichen Verzeichnisse der registrierten User. Nach dem Einloggen als <userxyz> soll dieser User unter http://server/files/path/to/file auf seine Datei /home/<userxyz>/path/to/file zugreifen können. So weit, so gut. Es funktioniert, indem ich den Anfangsteil der URL abschneide und durch /home/<userid> ersetze, wobei die <userid> aus der Authentifizierung kommt, und den Dateiinhalt ausliefere. Sämtliche Dateien unter /home habe ich momentan für den Prozess, unter dem der Webserver läuft, les- und schreibbar gemacht. Ich habe auch einen ersten Schritt zur verbesserten Sicherheit eingebaut, indem ich Pfade wie abc/../def verbiete, um zu vermeiden, dass jemand unter http://server/files/../../home/<otheruser> auf Dateien zugreift, die ihn nichts angehen. Ich vermute, es gibt noch viel mehr Einfallstore. Woran muss ich da denken? Sicherer wäre es meiner Meinung nach, wenn ich sämtliche Dateioperationen mit den Benutzerrechten des jeweils eingeloggten Users ausführen kann. Ist dies möglich, dass der Webserver (Apache Tomcat) bestimmte Operationen mit anderen Rechten ausführt? Der Server läuft unter Linux. Danke Euch schon mal für hoffentlich hilfreiche Tips, Erich