olli89
Goto Top

Sicherheitsproblem Apache2 PHP5 Lamp auf Ubuntu

Hallo ich habe ein kleines Sicherheitsproblem =).

Ich habe ein HTML Formular geschrieben welches die Eingabefelder bzw. Auswahlboxen über ein PHP Skript in einer Textdatei auf dem Server schreibt.
Alles funktioniert sehr gut genauso wie ich mir das vorgestellt habe, ich habe das Projekt auf einem Strato Server kein Rootserver nur Webspace mit PHP getestet und es funktioniert einwandfrei.
Nun zum SIcherheitsproblem, das größte Problem ist sicherlich das die Textdateien(je nach Auswahl im Formular) die erstellt werden nicht über den Browser aufgerufen werden sollen aber beschrieben werden müssen, kein Problem ich habe auf meinem Strato Webspace folgende Rechte vergeben:

Inet Ordner : 755
Index: 644
PHP Skript: 773
Textausgabedatei: 731

Mit diesen Rechten kann ich problemlos mein Formular ausfüllen und dies kommt dann am Ende in meine Ausgabedatei zurück, die Ausgabedatei selbst kann ich über den Browser nicht erreichen dort steht wie gewollt Forbidden Access.

Schön dachte ich mir alles perfekt, nun habe ich mir einen Webserver lokal installiert.
Ein Ubuntu 9.10 mit Apache2, PHP5 und libapache2-php5 Paket.

Funktioniert alles reibungslos bis auf ein Problem, wenn ich die Rechte 1:1 übernehme dann geht mein Skript nicht mehr wirft mir über den Browser Fehlermeldungen aus das das Skript nicht mehr auf die Datei zugreifen kann.
Dann habe ich ber chown die Besitzer geändert mich im Inet belesen das Apache eine eigene www-data Gruppe hat usw.
Aber es hilft alles nichts, entweder ich muss alles auf 777 machen dann geht auch alles aber sofern ich nur der Tabelle die Rechte wegnehme wie bei Strato macht er alles dicht.

Nun meine Frage wie bekomme ich das Problem in den Griff? Wird ja sicherlich mit Benutzer/Gruppen/Besitzrechten auf dem Server zusammenhängen?
Mir ist noch aufgefallen das ich als Inetuser wenn ich darauf zugreife Gruppenrechte habe also er reagiert nur auf die Gruppenrechte.

Vielen Dank im Voraus

Content-Key: 136035

Url: https://administrator.de/contentid/136035

Printed on: April 24, 2024 at 10:04 o'clock

Member: dog
dog Feb 16, 2010 at 09:56:51 (UTC)
Goto Top
Aber es hilft alles nichts, entweder ich muss alles auf 777 machen dann geht auch alles aber sofern ich nur der Tabelle die Rechte wegnehme wie bei Strato macht er alles dicht.

Wahrscheinlich läuft PHP bei Strato als CGI/FCGI und bei dir als Apache Modul.
Das macht einen großen Unterschied vom Benutzer, unter dem das Script schließlich läuft.

Aber egal, das ist ohnehin der falsche Weg face-smile

Du lässt deine Textdateien entwerder alle mit _ beginnen oder gibst ihnen eine eindeutige Endung z.B. int
Dann fügst du folgende .htaccess Regel ein:
<Files ~ ^_>
  Order deny,allow
  Deny from all
</Files>
oder
<Files ~ \.int$>
  Order deny, allow
  Deny from all
</Files>

(Das jetzt so aus dem Kopf)
Member: olli89
olli89 Feb 16, 2010 at 10:14:54 (UTC)
Goto Top
hm da macht er mir gleich syntax fehler beim beginn der ersten klammer!? die angaben der dateien befindet sich ja in meinem php skript!? =)

bzw. oder soll das in eine eigene htaccess?^^
Member: olli89
olli89 Feb 16, 2010 at 11:03:38 (UTC)
Goto Top
habs geschafft musste meine httpd.conf noch allowoveride auf all setzen dann passts, hab jetzt auch mit username und passwort da das ganz sinnvoll für mich ist.
und das skript geht normal .

Vielen Dank