phpbar.de logo

Mailinglisten-Archive

[php] Sicherheit, PHP als Modula oder CGI installiert

[php] Sicherheit, PHP als Modula oder CGI installiert

Stefan Engelhardt Stefan.Engelhardt_(at)_stud.fh-hannover.de
Sat, 29 Apr 2000 01:28:03 +0200


Hallo Joern,

> Wenn ich es als Modul installiere, kann ich PHP-Dateien in jedes
> Verzeichnis packen, bei der Installation als CGI nur ins CGI-BIN
> Verzeichnis?
> Ist das richtig oder liege ich falsch?
Also, ich habe PHP als CGI installiert und kann überall PHP-Dateien
hinlegen. Hängt doch von der Konfiguration des Webservers ab, wenn Du
genaueres wissen willst: PM

> Ich versuche gerade raus zufinden, welche Methode die Sicherste
> ist.
> Wenn ich Dateien auslesen, rein schreiben oder anlegen möchte,
> muß ich den Ordnern und Dateien Rechte vergeben. Ich halte
> das für ein Sicherheitsrisiko! Nun ist mir zu Ohren gekommen,
> daß wenn ich PHP-Scripte ins CGI-BIN lege, ich den Ordnern und
> Dateien keine Rechte vergeben muß, weil ich über das CGI-BIN
> die Macht habe, Dateien zu ändern, ohne Rechte zu vergeben!
> Ist das richtig?
Hä? Das habe ich irgendwie nicht verstanden. Ohne ein Leserecht wirst Du
keine Datei ausführen können, auch im CGI-Verzeichnis nicht.

> Wie kann ich mit PHP-Scripte und Dateien/Ordner sicher umgehen,
> ohne das ich Angst vor einer Sicherheitslücke haben muß?
Es kommt immer darauf an, wie sicher die Dateien sein müssen. Wenn sie
enorm kritisch sind, mußt Du den Server ganz dicht machen, also alle
Dienste (ftp, telnet, ping, ...) komplett abschalten, außer die
HTTP-Dienste, oder ihn hinter einem Firewall abschotten. Ist nur die
Frage, wie kritisch die Daten sind, die Du schützen willst.

> Ich habe schon versucht, mit der Funktion chmod() zu arbeiten,
> nur das wollte nicht funktionieren. Wenn ich in eine Datei
> schreiben möchte, vergebe ich schreibrechte, wenn ich fertig
> bin, werden sie wieder genommen.
> Ich hatte einen kleinen Test durchgeführt, eine Datei die ich
> über Telnet auf 777 gesetzt habe, mit chmod() auf 666 zu setzen.
> Wie gesagt funktionierte das nicht.
Das hängt IMHO damit zusammen, unter welchem User der Apache ausgeführt
wird!? Wenn er als Root ausgeführt wird, kann er das mit chmod
verändern, das ist aber erst recht ein enormes Risiko. Ich glaube, die
Dateien, die Du verändern möchtest, müssen dem Benutzer gehören, unter
dem der Apache ausgeführt wird, aber da bin ich mir nicht so sicher.




php::bar PHP Wiki   -   Listenarchive